@launchql/cli
Version:
LaunchQL CLI
28 lines (27 loc) • 1.02 kB
JavaScript
import { LaunchQLProject } from '@launchql/core';
export default async (argv, prompter, _options) => {
const { cwd = process.cwd() } = argv;
const project = new LaunchQLProject(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);
};