@sdesktop/s
Version:
Serverless devs tool, just for desktop.
236 lines • 16 kB
JavaScript
;
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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