@launchql/cli
Version:
LaunchQL CLI
53 lines (52 loc) • 1.7 kB
JavaScript
import { exec } from 'shelljs';
import { listModules, verify } from '@launchql/core';
import { errors, getEnvOptions } from '@launchql/types';
import { Logger } from '@launchql/server-utils';
const log = new Logger('verify');
export default async (argv, prompter, _options) => {
const questions = [
{
name: 'database',
message: 'Database name',
type: 'text',
required: true
}
];
let { database, recursive, cwd } = await prompter.prompt(argv, questions);
if (!cwd) {
cwd = process.cwd();
log.debug(`Using current directory: ${cwd}`);
}
if (recursive) {
const modules = await listModules(cwd);
const mods = Object.keys(modules);
if (!mods.length) {
log.error('No modules found to verify.');
prompter.close();
throw errors.NOT_FOUND({}, 'No modules found to verify.');
}
const { project } = await prompter.prompt(argv, [
{
type: 'autocomplete',
name: 'project',
message: 'Choose a project to verify',
options: mods,
required: true
}
]);
const options = getEnvOptions({
pg: {
database
}
});
log.info(`Verifying project ${project} on database ${database}...`);
await verify(options, project, database, cwd);
log.success('Verify complete.');
}
else {
log.info(`Running: sqitch verify db:pg:${database}`);
exec(`sqitch verify db:pg:${database}`);
log.success('Verify complete.');
}
return argv;
};