UNPKG

create-palladium

Version:

A modern CLI tool to create Vite + React + TypeScript projects with various configurations

50 lines (39 loc) 1.4 kB
#!/usr/bin/env node import figlet from "figlet"; import chalk from "chalk"; import ora from "ora"; import { runPrompt } from "../dist/prompts/prompt.js"; import { createProject } from "../dist/generators/createProject.js"; import { logger } from "../dist/utils/logger.js"; const main = async () => { // ASCII 아트 표시 console.log(chalk.cyan(figlet.textSync("Palladium", { horizontalLayout: "full" }))); console.log(chalk.gray("Vite + React + TypeScript 프로젝트 생성기\n")); try { // 1) 사용자 입력 받기 const answers = await runPrompt(); // 2) 프로젝트 생성 시작 const spinner = ora("프로젝트 생성 중...").start(); await createProject(answers); spinner.succeed("프로젝트 생성 완료!"); // 3) 성공 메시지 표시 logger.showSuccessMessage(answers.projectName, answers.runDev); } catch (err) { // 4) 에러 처리 logger.showErrorMessage(err instanceof Error ? err : new Error(String(err))); process.exit(1); } }; // 전역 에러 핸들러 process.on('unhandledRejection', (reason, promise) => { logger.error('Unhandled Rejection at:'); logger.error(`Promise: ${promise}`); logger.error(`Reason: ${reason}`); process.exit(1); }); process.on('uncaughtException', (error) => { logger.error('Uncaught Exception:'); logger.error(error.message); process.exit(1); }); main();