@launchql/cli
Version:
LaunchQL CLI
66 lines (61 loc) • 1.91 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@launchql/core");
const packageUsageText = `
LaunchQL Package Command:
lql package [OPTIONS]
Package module for distribution.
Options:
--help, -h Show this help message
--plan Include deployment plan (default: true)
--pretty Pretty-print output (default: true)
--functionDelimiter <delimiter> Function delimiter (default: $EOFCODE$)
--cwd <directory> Working directory (default: current directory)
Examples:
lql package Package with defaults
lql package --no-plan Package without plan
`;
exports.default = async (argv, prompter, _options) => {
// Show usage if explicitly requested
if (argv.help || argv.h) {
console.log(packageUsageText);
process.exit(0);
}
const questions = [
{
type: 'confirm',
name: 'plan',
default: true,
useDefault: true,
required: true
},
{
type: 'confirm',
name: 'pretty',
default: true,
useDefault: true,
required: true
},
{
type: 'text',
name: 'functionDelimiter',
default: '$EOFCODE$',
useDefault: true,
required: false
}
];
let { cwd, plan, pretty, functionDelimiter } = await prompter.prompt(argv, questions);
const project = new core_1.LaunchQLPackage(cwd);
project.ensureModule();
const info = project.getModuleInfo();
info.version;
await (0, core_1.writePackage)({
version: info.version,
extension: true,
usePlan: plan,
packageDir: project.modulePath,
pretty,
functionDelimiter
});
return argv;
};