@launchql/cli
Version:
LaunchQL CLI
25 lines (24 loc) • 977 B
JavaScript
import { sluggify } from '@launchql/core';
import { Logger } from '@launchql/logger';
import { workspaceTemplate, writeRenderedTemplates } from '@launchql/templatizer';
import { mkdirSync } from 'fs';
import path from 'path';
const log = new Logger('workspace-init');
export default 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.join(cwd, sluggify(answers.name));
mkdirSync(targetPath, { recursive: true });
log.success(`Created workspace directory: ${targetPath}`);
writeRenderedTemplates(workspaceTemplate, targetPath, { ...argv, ...answers });
log.success('Workspace templates rendered.');
return { ...argv, ...answers, cwd: targetPath };
}