UNPKG

commander-scripts-ivan

Version:
40 lines (32 loc) 1.28 kB
#!/usr/bin/env node /* eslint-disable no-console, import/no-unresolved */ 'use strict' // eslint-disable-line var chalk = require('chalk') // eslint-disable-line var semver = require('semver') // eslint-disable-line // eslint-disable-next-line prefer-arrow-callback process.on('unhandledRejection', function getError(err) { console.error(chalk.red('UnhandledRejection')) console.error(err) throw err }) // 检测Node.js版本前运行代码纯ES5 var packageJson = require('./package.json') // eslint-disable-line if (!semver.satisfies(process.version, packageJson.engines.node)) { console.error( chalk.red('You are running Node %s.\n' + 'Excute scripts requires Node %s or higher. \n' + 'Please update your version of Node.'), process.version, packageJson.engines.node, ) process.exit(1) } const commander = require('commander') // 将要创建项目目录名存储下来 commander.name(packageJson.name) .version(packageJson.version) .description('IvanPeng email: 15527781897@163.com') .command('starter <project-directory> [options...]', 'starter new web project use web-scripts-ivan') .command('copy <project-directory> [options...]', 'copy new web project from <craete react app>') .alias('s') .parse(process.argv)