Helps a module find its package.json mothership.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
example
test
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

mothership build status

Helps a module find its package.json mothership.

var mothership = require('mothership')
  , path = require('path');

mothership(
    path.join(__dirname, 'uno', 'dos', 'tres')
  , function ismothership (pack) {
      return !!(pack.dependencies && pack.dependencies.unodep);
    }
  , function (err, res) {
      if (err) return console.error(err);
      console.log('first mothership', res.path);  // => [..]/example/uno/package.json
  }
)

// Synchronous
var res = mothership.sync(
    path.join(__dirname, 'uno', 'dos', 'tres')
  , function ismothership (pack) {
      return !!(pack.dependencies && pack.dependencies.unodep);
    }
)      

console.log('found mothership', res.path);  // => [..]/example/uno/package.json

Installation

npm install mothership

API

mothership(start, ismothership, cb)

Searches upwards from start for package.json files, asking for each if it is the mothership. If a mothership is found it calls back with that. If it reaches the top of the univers it calls back with nothing.

mothership result
  • path: full path to the package.json that is the mother ship
  • pack: the package.json object, same that was passed to ismothership
Parameters:
Name Type Description
start string

full path at which to start looking for the mothership

ismothership function

invoked with the package object, needs to return true if it is the mothership

cb function

called back with either an error or full path to package.json that is the mothership

Source:

mothership::sync(start, ismothership) → {string}

Synchronous version of mothership.

Parameters:
Name Type Description
start string

full path at which to start looking for the mothership

ismothership function

invoked with the package object, needs to return true if it is the mothership

Source:
Returns:

full path to package.json that is the mothership or null if it wasn't found

Type
string

generated with docme

License

MIT