othernpm
Version:
Run npm commands in other directories
48 lines (34 loc) • 1.16 kB
JavaScript
;
var _crossSpawn = require('cross-spawn');
var _crossSpawn2 = _interopRequireDefault(_crossSpawn);
var _isDirectory = require('is-directory');
var _isDirectory2 = _interopRequireDefault(_isDirectory);
var _findConfig = require('find-config');
var _findConfig2 = _interopRequireDefault(_findConfig);
var _othernpm = require('./othernpm');
var _othernpm2 = _interopRequireDefault(_othernpm);
var _configure = require('./configure');
var _configure2 = _interopRequireDefault(_configure);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* The interface which accepts a path and commands
* (Curried function).
*/
module.exports = (0, _configure2.default)({
io: {
spawn: _crossSpawn2.default,
isDirectory: _isDirectory2.default.sync.bind(_isDirectory2.default),
onExit: exitByGivenCode
},
config: findOthernpmConfig(),
othernpm: _othernpm2.default
});
function findOthernpmConfig() {
var pkg = _findConfig2.default.require('package.json', {
home: false
});
return pkg == null ? {} : pkg.othernpm;
}
function exitByGivenCode(code) {
process.exit(code);
}