@launchql/cli
Version:
LaunchQL CLI
31 lines (30 loc) • 1.28 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = runWorkspaceSetup;
const core_1 = require("@launchql/core");
const logger_1 = require("@launchql/logger");
const templatizer_1 = require("@launchql/templatizer");
const fs_1 = require("fs");
const path_1 = __importDefault(require("path"));
const log = new logger_1.Logger('workspace-init');
async function runWorkspaceSetup(argv, prompter) {
const workspaceQuestions = [
{
name: 'name',
message: 'Enter workspace name',
required: true,
type: 'text',
}
];
const answers = await prompter.prompt(argv, workspaceQuestions);
const { cwd } = argv;
const targetPath = path_1.default.join(cwd, (0, core_1.sluggify)(answers.name));
(0, fs_1.mkdirSync)(targetPath, { recursive: true });
log.success(`Created workspace directory: ${targetPath}`);
(0, templatizer_1.writeRenderedTemplates)(templatizer_1.workspaceTemplate, targetPath, { ...argv, ...answers });
log.success('Workspace templates rendered.');
return { ...argv, ...answers, cwd: targetPath };
}