UNPKG

better-npm-init

Version:

A better version of npm init, with templates and more. Usage: better-npm-init <template> [--yarn] [--install] [--git] [--yes] [--help]

64 lines (48 loc) 9.75 kB
#!/usr/bin/env node // This file requires a shebang above. If it is missing, this is an error. "use strict"; require("source-map-support/register"); var _asyncOra = require("@electron-forge/async-ora"); var _chalk = _interopRequireDefault(require("chalk")); var _commander = _interopRequireDefault(require("commander")); require("./util/terminate"); var _checkSystem = _interopRequireDefault(require("./util/check-system")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // eslint-disable-next-line @typescript-eslint/no-var-requires const metadata = require('../package.json'); const originalSC = _commander.default.executeSubCommand.bind(_commander.default); _commander.default.executeSubCommand = (argv, args, unknown) => { let indexOfDoubleDash = process.argv.indexOf('--'); indexOfDoubleDash = indexOfDoubleDash < 0 ? process.argv.length + 1 : indexOfDoubleDash; const passThroughArgs = args.filter(arg => process.argv.indexOf(arg) > indexOfDoubleDash); const normalArgs = args.filter(arg => process.argv.indexOf(arg) <= indexOfDoubleDash); let newArgs = args; let newUnknown = unknown; if (passThroughArgs.length > 0) { newArgs = normalArgs.concat(unknown).concat('--').concat(passThroughArgs); newUnknown = []; } return originalSC(argv, newArgs, newUnknown); }; _commander.default.version(metadata.version).option('--verbose', 'Enables verbose mode').command('init', 'Initialize a new Electron application').command('import', 'Attempts to navigate you through the process of importing an existing project to "electron-forge"').command('lint', 'Lints the current Electron application').command('package', 'Package the current Electron application').command('make', 'Generate distributables for the current Electron application').command('start', 'Start the current Electron application').command('publish', 'Publish the current Electron application to GitHub').command('install', 'Install an Electron application from GitHub').on('command:*', commands => { // eslint-disable-next-line no-underscore-dangle if (!_commander.default._execs.has(commands[0])) { console.error(); console.error(_chalk.default.red(`Unknown command "${_commander.default.args.join(' ')}".`)); console.error('See --help for a list of available commands.'); process.exit(1); } }); (async () => { let goodSystem; await (0, _asyncOra.asyncOra)('Checking your system', async ora => { goodSystem = await (0, _checkSystem.default)(ora); }); if (!goodSystem) { console.error(_chalk.default.red(`It looks like you are missing some dependencies you need to get Electron running. Make sure you have git installed and Node.js version ${metadata.engines.node}`)); process.exit(1); } _commander.default.parse(process.argv); })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVjdHJvbi1mb3JnZS50cyJdLCJuYW1lcyI6WyJtZXRhZGF0YSIsInJlcXVpcmUiLCJvcmlnaW5hbFNDIiwicHJvZ3JhbSIsImV4ZWN1dGVTdWJDb21tYW5kIiwiYmluZCIsImFyZ3YiLCJhcmdzIiwidW5rbm93biIsImluZGV4T2ZEb3VibGVEYXNoIiwicHJvY2VzcyIsImluZGV4T2YiLCJsZW5ndGgiLCJwYXNzVGhyb3VnaEFyZ3MiLCJmaWx0ZXIiLCJhcmciLCJub3JtYWxBcmdzIiwibmV3QXJncyIsIm5ld1Vua25vd24iLCJjb25jYXQiLCJ2ZXJzaW9uIiwib3B0aW9uIiwiY29tbWFuZCIsIm9uIiwiY29tbWFuZHMiLCJfZXhlY3MiLCJoYXMiLCJjb25zb2xlIiwiZXJyb3IiLCJjaGFsayIsInJlZCIsImpvaW4iLCJleGl0IiwiZ29vZFN5c3RlbSIsIm9yYSIsImVuZ2luZXMiLCJub2RlIiwicGFyc2UiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7Ozs7QUFFQTtBQUNBLE1BQU1BLFFBQVEsR0FBR0MsT0FBTyxDQUFDLGlCQUFELENBQXhCOztBQUVBLE1BQU1DLFVBQVUsR0FBR0MsbUJBQVFDLGlCQUFSLENBQTBCQyxJQUExQixDQUErQkYsa0JBQS9CLENBQW5COztBQUNBQSxtQkFBUUMsaUJBQVIsR0FBNEIsQ0FBQ0UsSUFBRCxFQUFpQkMsSUFBakIsRUFBaUNDLE9BQWpDLEtBQXVEO0FBQ2pGLE1BQUlDLGlCQUFpQixHQUFHQyxPQUFPLENBQUNKLElBQVIsQ0FBYUssT0FBYixDQUFxQixJQUFyQixDQUF4QjtBQUNBRixFQUFBQSxpQkFBaUIsR0FBR0EsaUJBQWlCLEdBQUcsQ0FBcEIsR0FBd0JDLE9BQU8sQ0FBQ0osSUFBUixDQUFhTSxNQUFiLEdBQXNCLENBQTlDLEdBQWtESCxpQkFBdEU7QUFFQSxRQUFNSSxlQUFlLEdBQUdOLElBQUksQ0FBQ08sTUFBTCxDQUFhQyxHQUFELElBQVNMLE9BQU8sQ0FBQ0osSUFBUixDQUFhSyxPQUFiLENBQXFCSSxHQUFyQixJQUE0Qk4saUJBQWpELENBQXhCO0FBQ0EsUUFBTU8sVUFBVSxHQUFHVCxJQUFJLENBQUNPLE1BQUwsQ0FBYUMsR0FBRCxJQUFTTCxPQUFPLENBQUNKLElBQVIsQ0FBYUssT0FBYixDQUFxQkksR0FBckIsS0FBNkJOLGlCQUFsRCxDQUFuQjtBQUVBLE1BQUlRLE9BQU8sR0FBR1YsSUFBZDtBQUNBLE1BQUlXLFVBQVUsR0FBR1YsT0FBakI7O0FBQ0EsTUFBSUssZUFBZSxDQUFDRCxNQUFoQixHQUF5QixDQUE3QixFQUFnQztBQUM5QkssSUFBQUEsT0FBTyxHQUFHRCxVQUFVLENBQUNHLE1BQVgsQ0FBa0JYLE9BQWxCLEVBQTJCVyxNQUEzQixDQUFrQyxJQUFsQyxFQUF3Q0EsTUFBeEMsQ0FBK0NOLGVBQS9DLENBQVY7QUFDQUssSUFBQUEsVUFBVSxHQUFHLEVBQWI7QUFDRDs7QUFDRCxTQUFPaEIsVUFBVSxDQUFDSSxJQUFELEVBQU9XLE9BQVAsRUFBZ0JDLFVBQWhCLENBQWpCO0FBQ0QsQ0FkRDs7QUFnQkFmLG1CQUNHaUIsT0FESCxDQUNXcEIsUUFBUSxDQUFDb0IsT0FEcEIsRUFFR0MsTUFGSCxDQUVVLFdBRlYsRUFFdUIsc0JBRnZCLEVBR0dDLE9BSEgsQ0FHVyxNQUhYLEVBR21CLHVDQUhuQixFQUlHQSxPQUpILENBSVcsUUFKWCxFQUlxQixtR0FKckIsRUFLR0EsT0FMSCxDQUtXLE1BTFgsRUFLbUIsd0NBTG5CLEVBTUdBLE9BTkgsQ0FNVyxTQU5YLEVBTXNCLDBDQU50QixFQU9HQSxPQVBILENBT1csTUFQWCxFQU9tQiw4REFQbkIsRUFRR0EsT0FSSCxDQVFXLE9BUlgsRUFRb0Isd0NBUnBCLEVBU0dBLE9BVEgsQ0FTVyxTQVRYLEVBU3NCLG9EQVR0QixFQVVHQSxPQVZILENBVVcsU0FWWCxFQVVzQiw2Q0FWdEIsRUFXR0MsRUFYSCxDQVdNLFdBWE4sRUFXb0JDLFFBQUQsSUFBYztBQUM3QjtBQUNBLE1BQUksQ0FBQ3JCLG1CQUFRc0IsTUFBUixDQUFlQyxHQUFmLENBQW1CRixRQUFRLENBQUMsQ0FBRCxDQUEzQixDQUFMLEVBQXNDO0FBQ3BDRyxJQUFBQSxPQUFPLENBQUNDLEtBQVI7QUFDQUQsSUFBQUEsT0FBTyxDQUFDQyxLQUFSLENBQWNDLGVBQU1DLEdBQU4sQ0FBVyxvQkFBbUIzQixtQkFBUUksSUFBUixDQUFhd0IsSUFBYixDQUFrQixHQUFsQixDQUF1QixJQUFyRCxDQUFkO0FBQ0FKLElBQUFBLE9BQU8sQ0FBQ0MsS0FBUixDQUFjLDhDQUFkO0FBQ0FsQixJQUFBQSxPQUFPLENBQUNzQixJQUFSLENBQWEsQ0FBYjtBQUNEO0FBQ0YsQ0FuQkg7O0FBcUJBLENBQUMsWUFBWTtBQUNYLE1BQUlDLFVBQUo7QUFDQSxRQUFNLHdCQUFTLHNCQUFULEVBQWlDLE1BQU9DLEdBQVAsSUFBZTtBQUNwREQsSUFBQUEsVUFBVSxHQUFHLE1BQU0sMEJBQVlDLEdBQVosQ0FBbkI7QUFDRCxHQUZLLENBQU47O0FBSUEsTUFBSSxDQUFDRCxVQUFMLEVBQWlCO0FBQ2ZOLElBQUFBLE9BQU8sQ0FBQ0MsS0FBUixDQUNFQyxlQUFNQyxHQUFOLENBQVc7QUFDakIsdURBQXVEOUIsUUFBUSxDQUFDbUMsT0FBVCxDQUFpQkMsSUFBSyxFQUR2RSxDQURGO0FBSUExQixJQUFBQSxPQUFPLENBQUNzQixJQUFSLENBQWEsQ0FBYjtBQUNEOztBQUVEN0IscUJBQVFrQyxLQUFSLENBQWMzQixPQUFPLENBQUNKLElBQXRCO0FBQ0QsQ0FmRCIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8vIFRoaXMgZmlsZSByZXF1aXJlcyBhIHNoZWJhbmcgYWJvdmUuIElmIGl0IGlzIG1pc3NpbmcsIHRoaXMgaXMgYW4gZXJyb3IuXG5cbmltcG9ydCB7IGFzeW5jT3JhIH0gZnJvbSAnQGVsZWN0cm9uLWZvcmdlL2FzeW5jLW9yYSc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHByb2dyYW0gZnJvbSAnY29tbWFuZGVyJztcblxuaW1wb3J0ICcuL3V0aWwvdGVybWluYXRlJztcblxuaW1wb3J0IGNoZWNrU3lzdGVtIGZyb20gJy4vdXRpbC9jaGVjay1zeXN0ZW0nO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuY29uc3QgbWV0YWRhdGEgPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qgb3JpZ2luYWxTQyA9IHByb2dyYW0uZXhlY3V0ZVN1YkNvbW1hbmQuYmluZChwcm9ncmFtKTtcbnByb2dyYW0uZXhlY3V0ZVN1YkNvbW1hbmQgPSAoYXJndjogc3RyaW5nW10sIGFyZ3M6IHN0cmluZ1tdLCB1bmtub3duOiBzdHJpbmdbXSkgPT4ge1xuICBsZXQgaW5kZXhPZkRvdWJsZURhc2ggPSBwcm9jZXNzLmFyZ3YuaW5kZXhPZignLS0nKTtcbiAgaW5kZXhPZkRvdWJsZURhc2ggPSBpbmRleE9mRG91YmxlRGFzaCA8IDAgPyBwcm9jZXNzLmFyZ3YubGVuZ3RoICsgMSA6IGluZGV4T2ZEb3VibGVEYXNoO1xuXG4gIGNvbnN0IHBhc3NUaHJvdWdoQXJncyA9IGFyZ3MuZmlsdGVyKChhcmcpID0+IHByb2Nlc3MuYXJndi5pbmRleE9mKGFyZykgPiBpbmRleE9mRG91YmxlRGFzaCk7XG4gIGNvbnN0IG5vcm1hbEFyZ3MgPSBhcmdzLmZpbHRlcigoYXJnKSA9PiBwcm9jZXNzLmFyZ3YuaW5kZXhPZihhcmcpIDw9IGluZGV4T2ZEb3VibGVEYXNoKTtcblxuICBsZXQgbmV3QXJncyA9IGFyZ3M7XG4gIGxldCBuZXdVbmtub3duID0gdW5rbm93bjtcbiAgaWYgKHBhc3NUaHJvdWdoQXJncy5sZW5ndGggPiAwKSB7XG4gICAgbmV3QXJncyA9IG5vcm1hbEFyZ3MuY29uY2F0KHVua25vd24pLmNvbmNhdCgnLS0nKS5jb25jYXQocGFzc1Rocm91Z2hBcmdzKTtcbiAgICBuZXdVbmtub3duID0gW107XG4gIH1cbiAgcmV0dXJuIG9yaWdpbmFsU0MoYXJndiwgbmV3QXJncywgbmV3VW5rbm93bik7XG59O1xuXG5wcm9ncmFtXG4gIC52ZXJzaW9uKG1ldGFkYXRhLnZlcnNpb24pXG4gIC5vcHRpb24oJy0tdmVyYm9zZScsICdFbmFibGVzIHZlcmJvc2UgbW9kZScpXG4gIC5jb21tYW5kKCdpbml0JywgJ0luaXRpYWxpemUgYSBuZXcgRWxlY3Ryb24gYXBwbGljYXRpb24nKVxuICAuY29tbWFuZCgnaW1wb3J0JywgJ0F0dGVtcHRzIHRvIG5hdmlnYXRlIHlvdSB0aHJvdWdoIHRoZSBwcm9jZXNzIG9mIGltcG9ydGluZyBhbiBleGlzdGluZyBwcm9qZWN0IHRvIFwiZWxlY3Ryb24tZm9yZ2VcIicpXG4gIC5jb21tYW5kKCdsaW50JywgJ0xpbnRzIHRoZSBjdXJyZW50IEVsZWN0cm9uIGFwcGxpY2F0aW9uJylcbiAgLmNvbW1hbmQoJ3BhY2thZ2UnLCAnUGFja2FnZSB0aGUgY3VycmVudCBFbGVjdHJvbiBhcHBsaWNhdGlvbicpXG4gIC5jb21tYW5kKCdtYWtlJywgJ0dlbmVyYXRlIGRpc3RyaWJ1dGFibGVzIGZvciB0aGUgY3VycmVudCBFbGVjdHJvbiBhcHBsaWNhdGlvbicpXG4gIC5jb21tYW5kKCdzdGFydCcsICdTdGFydCB0aGUgY3VycmVudCBFbGVjdHJvbiBhcHBsaWNhdGlvbicpXG4gIC5jb21tYW5kKCdwdWJsaXNoJywgJ1B1Ymxpc2ggdGhlIGN1cnJlbnQgRWxlY3Ryb24gYXBwbGljYXRpb24gdG8gR2l0SHViJylcbiAgLmNvbW1hbmQoJ2luc3RhbGwnLCAnSW5zdGFsbCBhbiBFbGVjdHJvbiBhcHBsaWNhdGlvbiBmcm9tIEdpdEh1YicpXG4gIC5vbignY29tbWFuZDoqJywgKGNvbW1hbmRzKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgaWYgKCFwcm9ncmFtLl9leGVjcy5oYXMoY29tbWFuZHNbMF0pKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCk7XG4gICAgICBjb25zb2xlLmVycm9yKGNoYWxrLnJlZChgVW5rbm93biBjb21tYW5kIFwiJHtwcm9ncmFtLmFyZ3Muam9pbignICcpfVwiLmApKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NlZSAtLWhlbHAgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29tbWFuZHMuJyk7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuICB9KTtcblxuKGFzeW5jICgpID0+IHtcbiAgbGV0IGdvb2RTeXN0ZW07XG4gIGF3YWl0IGFzeW5jT3JhKCdDaGVja2luZyB5b3VyIHN5c3RlbScsIGFzeW5jIChvcmEpID0+IHtcbiAgICBnb29kU3lzdGVtID0gYXdhaXQgY2hlY2tTeXN0ZW0ob3JhKTtcbiAgfSk7XG5cbiAgaWYgKCFnb29kU3lzdGVtKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGNoYWxrLnJlZChgSXQgbG9va3MgbGlrZSB5b3UgYXJlIG1pc3Npbmcgc29tZSBkZXBlbmRlbmNpZXMgeW91IG5lZWQgdG8gZ2V0IEVsZWN0cm9uIHJ1bm5pbmcuXG5NYWtlIHN1cmUgeW91IGhhdmUgZ2l0IGluc3RhbGxlZCBhbmQgTm9kZS5qcyB2ZXJzaW9uICR7bWV0YWRhdGEuZW5naW5lcy5ub2RlfWApXG4gICAgKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICBwcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7XG59KSgpO1xuIl19