UNPKG

rollup-umd-scripts

Version:

CLI for rollup-umd projects

54 lines (45 loc) 1.75 kB
'use strict'; 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')); }); };