UNPKG

@sdesktop/s

Version:

Serverless devs tool, just for desktop.

236 lines 16 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 __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.recordCommandHistory = exports.registerVerbose = exports.registerCommandChecker = exports.getCustomerCommandInfo = exports.getParsedTemplateObj = exports.getCommandDetail = void 0; var fs_extra_1 = __importDefault(require("fs-extra")); var os_1 = __importDefault(require("os")); // import yaml from 'js-yaml'; // import path from 'path'; // import { loadComponent } from '@serverless-devs/core'; // import { Command } from 'commander'; // import { CommandManager } from '../core'; var specification_1 = require("../specification"); var version_1 = require("../specification/version"); // import { PROCESS_ENV_TEMPLATE_NAME } from '../constants/static-variable'; var storage_1 = __importDefault(require("./storage")); var logger_1 = __importDefault(require("./logger")); // export function createUniversalCommand(command: string, customerCommandName?: string, description?: string) { // const _command = new Command(command); // const processArgv: string[] = []; // let params: string[] = []; // let _customerCommandName = customerCommandName; // let start = false; // for (let i = 0; i < process.argv.length; i++) { // if (!start) { // processArgv.push(process.argv[i]); // } else { // params.push(process.argv[i]); // } // if (process.argv[i] === command) { // start = true; // } // } // if (params.length !== 0) { // process.env.temp_params = params.join(' '); // } // process.argv = processArgv; // _command.description(description || '').action(() => { // const template: string | undefined = process.env[PROCESS_ENV_TEMPLATE_NAME]; // if (template) { // const commandManager = new CommandManager(template, command, _customerCommandName, process.env.temp_params); // commandManager.init(); // } // }); // return _command; // } function getCommandDetail(name, provider, version) { return __awaiter(this, void 0, void 0, function () { var command_list; return __generator(this, function (_a) { command_list = []; return [2 /*return*/, command_list]; }); }); } exports.getCommandDetail = getCommandDetail; function getParsedTemplateObj(templateFile) { return __awaiter(this, void 0, void 0, function () { var parse, parsedObj, result; return __generator(this, function (_a) { switch (_a.label) { case 0: parse = new specification_1.Parse(templateFile); parsedObj = parse.getOriginalParsedObj(); return [4 /*yield*/, parse.getRealVariables(parsedObj)]; case 1: result = _a.sent(); return [2 /*return*/, result]; } }); }); } exports.getParsedTemplateObj = getParsedTemplateObj; function getCustomerCommandInfo(parsedTemplateObj) { return (0, version_1.getSubcommand)(parsedTemplateObj); } exports.getCustomerCommandInfo = getCustomerCommandInfo; // export async function createCustomerCommand(templateFile: string): Promise<any[]> { // const customerCommands: any = []; // const doc = await getParsedTemplateObj(templateFile); // const subCommands = getCustomerCommandInfo(doc); // const commandListPromise = subCommands.map(async projectName => { // const projectDocDetail: any = getServiceConfig(doc, projectName); // return { projectName, projectDocDetail }; // }); // const commandListDetail = await Promise.all(commandListPromise); // commandListDetail.forEach(({ projectName, projectDocDetail }) => { // const customerCommand = new Command(projectName); // const customerCommandDescription = `👉 This is a customer command please use [s ${projectName} -h] obtain the documentation` // customerCommand.description(customerCommandDescription); // const methodName = process.argv[3]; // if (methodName) { // customerCommand.addCommand(createUniversalCommand(methodName, projectName)); // } // customerCommand.option('-h, --help', 'Print usage document') // customerCommand.action(async () => { // const { component } = projectDocDetail; // const componentInstance: any = await loadComponent(component); // if (componentInstance) { // if (componentInstance.__doc) { // const docResult = componentInstance.__doc(projectName); // logger.info(`\n${docResult}`); // } else { // try { // let componentPathYaml = path.join(componentInstance.__path, "publish.yml") // if (!await fs.existsSync(componentPathYaml)) { // componentPathYaml = path.join(componentInstance.__path, "publish.yaml") // } // const publishYamlInfor = await yaml.load(fs.readFileSync(componentPathYaml, 'utf8')) // logger.info(`Help Information: // ${publishYamlInfor['Name']}@${publishYamlInfor['Version']}: ${publishYamlInfor['Description']} // ${yaml.dump(publishYamlInfor['Commands'])} // ${publishYamlInfor['HomePage'] ? "🧭 More information: " + publishYamlInfor['HomePage'] + "\n" : ""}`); // } catch (e) { // logger.info('No document set'); // } // } // } else { // logger.info('No document set'); // } // }); // customerCommands.push(customerCommand); // }); // return customerCommands; // } function registerCommandChecker(program) { program.on('command:*', function (cmds) { var commands = program.commands.map(function (command) { return command.name(); }); if (!commands.includes(cmds[0])) { logger_1.default.error(" error: unknown command ".concat(cmds[0])); program.help(); } }); } exports.registerCommandChecker = registerCommandChecker; // export async function registerExecCommand(system_command: any, templateFile: string) { // const execCommand = new Command('exec'); // const customerCommandDescription = '🚀 Subcommand execution analysis.'; // execCommand.description(customerCommandDescription) // execCommand.usage("[subcommand] -- [method] [params]"); // if (templateFile) { // let commandName = ''; // let projectName = ''; // if (process.argv[3] === '--') { // commandName = process.argv[4]; // const universialCommandInstance = await createUniversalCommand(commandName, projectName, ''); // execCommand.addCommand(universialCommandInstance); // } // if (process.argv[4] === '--' && process.argv[5]) { // projectName = process.argv[3]; // commandName = process.argv[5]; // const customerCommand = new Command(projectName); // const universialCommandInstance = await createUniversalCommand(commandName, projectName, ''); // customerCommand.addCommand(universialCommandInstance); // execCommand.addCommand(customerCommand); // } // } // system_command.addCommand(execCommand); // } // export async function registerCustomerCommand(system_command: any, templateFile: string) { // if (templateFile) { // const customerCommands = await createCustomerCommand(templateFile); // customerCommands.forEach(command => { // system_command.addCommand(command); // }); // } // } // export async function registerUniversalCommand(system_command: any, templateFile: string) { // if (templateFile) { // const parsedTemplateObj = await getParsedTemplateObj(templateFile); // const customerCommands = getCustomerCommandInfo(parsedTemplateObj); // if (process.argv[2] && !customerCommands.includes(process.argv[2]) && !['-h', '--help'].includes(process.argv[2])) { // system_command.addCommand(createUniversalCommand(process.argv[2])); // } else if ( // process.argv[2] && // customerCommands.includes(process.argv[2]) && // process.argv[3] && // !customerCommands.includes(process.argv[3]) // ) { // system_command.addCommand(createUniversalCommand(process.argv[3], process.argv[2])); // } // } // } function registerVerbose(program) { if (process.argv.includes('--verbose')) { process.env.VERBOSE = program.verbose; } } exports.registerVerbose = registerVerbose; function recordCommandHistory(argv) { var file = storage_1.default.getHistoryFile(); fs_extra_1.default.appendFileSync(file, argv.join(',') + os_1.default.EOL); } exports.recordCommandHistory = recordCommandHistory; exports.default = { registerCommandChecker: registerCommandChecker, recordCommandHistory: recordCommandHistory, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NvbW1hbmQtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBMEI7QUFDMUIsMENBQW9CO0FBQ3BCLDhCQUE4QjtBQUM5QiwyQkFBMkI7QUFDM0IseURBQXlEO0FBQ3pELHVDQUF1QztBQUN2Qyw0Q0FBNEM7QUFDNUMsa0RBQXlDO0FBQ3pDLG9EQUF5RDtBQUN6RCw0RUFBNEU7QUFDNUUsc0RBQWdDO0FBQ2hDLG9EQUE4QjtBQUk5QixnSEFBZ0g7QUFFaEgsNkNBQTZDO0FBQzdDLHdDQUF3QztBQUN4QyxpQ0FBaUM7QUFDakMsc0RBQXNEO0FBQ3RELHlCQUF5QjtBQUV6QixzREFBc0Q7QUFDdEQsd0JBQXdCO0FBQ3hCLGlEQUFpRDtBQUNqRCxtQkFBbUI7QUFDbkIsNENBQTRDO0FBQzVDLFlBQVk7QUFDWiw2Q0FBNkM7QUFDN0MsNEJBQTRCO0FBQzVCLFlBQVk7QUFDWixRQUFRO0FBRVIsaUNBQWlDO0FBQ2pDLHNEQUFzRDtBQUN0RCxRQUFRO0FBRVIsa0NBQWtDO0FBRWxDLDZEQUE2RDtBQUM3RCx1RkFBdUY7QUFDdkYsMEJBQTBCO0FBQzFCLDJIQUEySDtBQUMzSCxxQ0FBcUM7QUFDckMsWUFBWTtBQUNaLFVBQVU7QUFDVix1QkFBdUI7QUFDdkIsSUFBSTtBQUdKLFNBQXNCLGdCQUFnQixDQUFDLElBQVMsRUFBRSxRQUFhLEVBQUUsT0FBWTs7OztZQUNyRSxZQUFZLEdBQVEsRUFBRSxDQUFDO1lBQzNCLHNCQUFPLFlBQVksRUFBQzs7O0NBQ3ZCO0FBSEQsNENBR0M7QUFFRCxTQUFzQixvQkFBb0IsQ0FBQyxZQUFpQjs7Ozs7O29CQUNsRCxLQUFLLEdBQUcsSUFBSSxxQkFBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNoQyxTQUFTLEdBQUcsS0FBSyxD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