UNPKG

@launchql/cli

Version:
49 lines (44 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@launchql/core"); const extensionUsageText = ` LaunchQL Extension Command: lql extension [OPTIONS] Manage module dependencies. Options: --help, -h Show this help message --cwd <directory> Working directory (default: current directory) Examples: lql extension Manage dependencies for current module `; exports.default = async (argv, prompter, _options) => { // Show usage if explicitly requested if (argv.help || argv.h) { console.log(extensionUsageText); process.exit(0); } const { cwd = process.cwd() } = argv; const project = new core_1.LaunchQLPackage(cwd); if (!project.isInModule()) { throw new Error('You must run this command inside a LaunchQL module.'); } const info = project.getModuleInfo(); const installed = project.getRequiredModules(); const available = project.getAvailableModules(); const filtered = available.filter(name => name !== info.extname); const questions = [ { name: 'extensions', message: 'Which modules does this one depend on?', type: 'checkbox', allowCustomOptions: true, options: filtered, default: installed } ]; const answers = await prompter.prompt(argv, questions); const selected = answers.extensions .filter(opt => opt.selected) .map(opt => opt.name); project.setModuleDependencies(selected); };