UNPKG

@burnish/cli

Version:

a cli for creating vue / react / flutter projects

91 lines (90 loc) 3.53 kB
#!/usr/bin/env node "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const config = __importStar(require("../package.json")); const chalk_1 = __importDefault(require("chalk")); const commander_1 = __importDefault(require("commander")); const didYouMean_1 = __importDefault(require("didYouMean")); const create_1 = __importDefault(require("../lib/create")); const flutter_page_generate_1 = __importDefault(require("../lib/action/flutter-page-generate")); const utils_1 = require("../lib/utils"); const requiredVersion = config.engines.node; didYouMean_1.default.threshold = 0.6; /** * Check node version required >=9.0 */ utils_1.checkNodeVersion(requiredVersion, '@burnish/cli'); /** * create app */ commander_1.default.version(config.version).usage('<command> [options]'); commander_1.default .command('create <app-name>') .description(' Create a project with template from burnish git repository.') .action((name, cmd) => { create_1.default(name); }); /** * generate flutter page */ commander_1.default .command('init <page-name>') .description(' Generate new flutter getx page from burnish.') .action((name, cmd) => { flutter_page_generate_1.default(name); }); /*** * output help information on unknown commands */ commander_1.default.arguments('<command>').action((cmd) => { commander_1.default.outputHelp(); console.log(' ' + chalk_1.default.red(`Unknown command ${chalk_1.default.yellow(cmd)}`)); console.log(); utils_1.suggestCommands(commander_1.default, cmd); }); /** * enhance common error messages */ utils_1.enhanceErrorMessages(commander_1.default, 'missingArgument', (argName) => { return `Missing required argument ${chalk_1.default.yellow(`<${argName}>`)}.`; }); utils_1.enhanceErrorMessages(commander_1.default, 'unknownOption', (optionName) => { return `Unknown option ${chalk_1.default.yellow(optionName)}.`; }); utils_1.enhanceErrorMessages(commander_1.default, 'optionMissingArgument', (option, flag) => { return (`Missing required argument for option ${chalk_1.default.yellow(option.flags)}` + (flag ? `, got ${chalk_1.default.yellow(flag)}` : '')); }); commander_1.default.parse(process.argv); /** * add some useful info on help */ commander_1.default.on('--help', () => { console.log(); console.log(` Run ${chalk_1.default.cyan('burnish <command> --help')} for detailed usage of given command.`); console.log(); }); if (!process.argv.slice(2).length) { commander_1.default.outputHelp(); }