UNPKG

custom_cmd

Version:

## 1.创建 npm 包,在其中创建命令

56 lines (48 loc) 1.46 kB
#!/usr/bin/env node const commander = require('commander') const inquirer = require('inquirer') const shell = require('shelljs') let program = commander.createCommand() program.version(require('./package.json').version) const initAction = () => { inquirer.prompt([{ type: 'input', // 提示项类型 message: '请输入包名:', // 提示项信息 name: 'name' // 提示标项识 }]).then((answers) => { // 回车后的业务逻辑 console.log('* 开始创建...') let pkgName = answers.name shell.exec(` mkdir ${pkgName} && \ cd ${pkgName} && \ echo '{ "name": "${pkgName}", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \\"Error: no test specified\\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }' > package.json && \ mkdir src && \ touch src/index.js && \ echo "console.log('hi!')" > src/index.js `, (error, stdout, stderr) => { if (error) { console.error(`exec error: ${error}`) return } // console.log(`${stdout}`) // console.log(`${stderr}`) console.log('* 创建成功') }); }) } program .description('创建一个 NPM 初始包')//命令描述 .action(initAction)//操作 program.parse(process.argv)