21 lines
882 B
JavaScript
21 lines
882 B
JavaScript
#!/usr/bin/env node
|
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
import { resolve } from "node:path";
|
|
import { APP_NAME_PLACEHOLDER, DEFAULT_OUTPUT_DIR, TEMPLATE_FILE_NAMES, renderAllTemplates } from "./index.js";
|
|
async function main() {
|
|
const appName = process.env.APP_NAME?.trim() || APP_NAME_PLACEHOLDER;
|
|
const outputDir = resolve(process.cwd(), process.env.OUTPUT_DIR?.trim() || DEFAULT_OUTPUT_DIR);
|
|
const templates = renderAllTemplates({ appName });
|
|
await mkdir(outputDir, { recursive: true });
|
|
await Promise.all([
|
|
writeFile(resolve(outputDir, TEMPLATE_FILE_NAMES.success), templates.success, "utf8"),
|
|
writeFile(resolve(outputDir, TEMPLATE_FILE_NAMES.failure), templates.failure, "utf8")
|
|
]);
|
|
process.stdout.write(`${JSON.stringify({
|
|
appName,
|
|
outputDir,
|
|
templates
|
|
}, null, 2)}\n`);
|
|
}
|
|
await main();
|