UNPKG

@launchql/cli

Version:
47 lines (42 loc) 1.49 kB
import { LaunchQLPackage } from '@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 `; export 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 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); };