@choojs/findup

WebJar for @choojs/findup

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

choojs__findup
Last Version

Last Version

0.2.1
Release Date

Release Date

Type

Type

jar
Description

Description

@choojs/findup
WebJar for @choojs/findup
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/choojs/findup

Download choojs__findup

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/choojs__findup/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>choojs__findup</artifactId>
    <version>0.2.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/choojs__findup/
implementation 'org.webjars.npm:choojs__findup:0.2.1'
// https://jarcasting.com/artifacts/org.webjars.npm/choojs__findup/
implementation ("org.webjars.npm:choojs__findup:0.2.1")
'org.webjars.npm:choojs__findup:jar:0.2.1'
<dependency org="org.webjars.npm" name="choojs__findup" rev="0.2.1">
  <artifact name="choojs__findup" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='choojs__findup', version='0.2.1')
)
libraryDependencies += "org.webjars.npm" % "choojs__findup" % "0.2.1"
[org.webjars.npm/choojs__findup "0.2.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : commander jar [2.15.1,3)

Project Modules

There are no modules declared in this project.

build status @choojs/findup

This is a fork of Filirom1/findup, pending #16.

Install

npm install -g @choojs/findup

Usage

Find up a file in ancestor's dir

.
├── config.json
└── f
    └── e
        └── d
            └── c
                ├── b
                │   └── a
                └── config.json

Options

  • maxdepth: (Number, default -1) How far to traverse before giving up. If maxdepth is -1, then there is no limit.

Async

findup(dir, fileName, options, callback) findup(dir, iterator, options, callback) with iterator(dir, cb) where cb only accept true or false

var findup = require('@choojs/findup');


findup(__dirname + '/f/e/d/c/b/a', 'config.json', function(err, dir){
  // if(e) e === new Error('not found')
  // dir === '/f/e/d/c'
});

or

findup(__dirname + '/f/e/d/c/b/a', function(dir, cb){
  require('path').exists(dir + '/config.json', cb);
}, function(err, dir){
  // if(e) e === new Error('not found')
  // dir === '/f/e/d/c'
});

EventEmitter

findup(dir, fileName, options)

var findup = require('@choojs/findup');
var fup = findup(__dirname + '/f/e/d/c/b/a', 'config.json');

findup(dir, iterator, options) with iterator(dir, cb) where cb only accept true or false

var findup = require('@choojs/findup');
var fup = findup(__dirname + '/f/e/d/c/b/a', function(dir, cb){
  require('path').exists(dir + '/config.json', cb);
});

findup return an EventEmitter. 3 events are emitted: found, error, end

found event is emitted each time a file is found.

You can stop the traversing by calling stop manually.

fup.on('found', function(dir){
  // dir === '/f/e/d/c'
  fup.stop();
});

error event is emitted when error happens

fup.on('error', function(e){
  // if(e) e === new Error('not found')
});

end event is emitted at the end of the traversing or after stop() is called.

fup.on('end', function(){
  // happy end
});

Sync

findup(dir, fileName) findup(dir, iteratorSync) with iteratorSync return true or false

var findup = require('@choojs/findup');

try{
  var dir = findup.sync(__dirname + '/f/e/d/c/b/a', 'config.json'); // dir === '/f/e/d/c'
}catch(e){
  // if(e) e === new Error('not found')
}

CLI

npm install -g @choojs/findup

$ cd test/fixture/f/e/d/c/b/a/
$ findup package.json
/root/findup/package.json

Usage

$ findup -h

Usage: findup [FILE]

    --name, -n       The name of the file to found
    --dir, -d        The directoy where we will start walking up    $PWD
    --help, -h       show usage                                     false
    --verbose, -v    print log                                      false

LICENSE MIT

Read the tests :)

org.webjars.npm

choo

(very) small browser tools. Choo choo

Versions

Version
0.2.1