@launchql/cli
Version:
LaunchQL CLI
30 lines (29 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@launchql/core");
exports.default = async (argv, prompter, _options) => {
const { cwd = process.cwd() } = argv;
const project = new core_1.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);
};