rollup-umd-scripts
Version:
CLI for rollup-umd projects
54 lines (45 loc) • 1.75 kB
JavaScript
;
var _stringify = require('babel-runtime/core-js/json/stringify');
var _stringify2 = _interopRequireDefault(_stringify);
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable */
var async = require('async');
var fs = require('fs');
var path = require('path');
function install(argv, filename, done) {
var packageJsonPath = path.join(argv.path, 'package.json');
var packageJson = require(packageJsonPath);
var json = require(path.join(argv.path, filename)); // eslint-disable-line global-require
packageJson.eslintConfig.rules = (0, _assign2.default)(packageJson.eslintConfig.rules, json);
fs.writeFileSync(packageJsonPath, (0, _stringify2.default)(packageJson, null, 2), { encoding: 'utf8' });
done(null, filename + ' inserted in package.json');
}
exports.command = ['install <file> [files..]', 'add'];
exports.desc = 'Read lint rule from json file and add it to package.json';
exports.builder = function (yargs) {
return yargs.option('path', {
alias: 'p',
describe: 'path',
default: process.cwd()
});
};
exports.handler = function (argv) {
switch (argv.path[0]) {
case '/':
break;
default:
argv.path = argv.path[1] === '/' ? path.join(process.cwd(), argv.path.slice(2)) : path.join(process.cwd(), argv.path);
break;
}
async.map([].concat(argv.file).concat(argv.files), function (filename, cb) {
return install(argv, filename, cb);
}, function (err, results) {
if (err) {
console.error('[ERROR] ' + err.message);
process.exit(1);
}
console.log(results.join('\n'));
});
};