UNPKG

zcatalyst-cli

Version:

Command Line Tool for CATALYST

62 lines (61 loc) 3.17 kB
'use strict'; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ansi_colors_1 = require("ansi-colors"); const error_1 = __importDefault(require("../../error")); const prompt_1 = __importDefault(require("../../prompt")); const runtime_store_1 = __importDefault(require("../../runtime-store")); const constants_1 = require("../../util_modules/constants"); const js_1 = require("../../util_modules/js"); const index_1 = require("../../util_modules/logger/index"); const project_1 = require("../../util_modules/project"); exports.default = (keys) => __awaiter(void 0, void 0, void 0, function* () { const qns = keys.map((qn) => { switch (qn) { case 'name': return prompt_1.default.question('name', 'package name: ', { defaultAns: js_1.JS.snakeCase((0, project_1.getProjectName)('sample') + '_function'), validate: (ans) => { if (ans.match(constants_1.REGEX.functions.package.name)) { return true; } return 'Invalid package name'; } }); case 'main': return prompt_1.default.question('main', 'entry point: ', { defaultAns: 'index.js', validate: (ans) => { if (js_1.JS.endsWith(ans, '.js')) { return true; } return 'Invalid entry point'; } }); case 'author': return prompt_1.default.question('author', 'author: ', { defaultAns: runtime_store_1.default.get('user', {}).Email || '' }); default: throw new error_1.default('unknown key provided', { exit: 2 }); } }); (0, index_1.info)('This utility will ask series of questions with sensible defaults for creating ' + (0, ansi_colors_1.cyan)('package.json') + '\nFeel free to modify them if needed.\n'); (0, index_1.info)('Use `' + (0, ansi_colors_1.bold)('npm install <pkg> --save') + '` afterwards to install a package and \nsave it as a dependency in the package.json file.\n'); return prompt_1.default.ask(...qns); });