UNPKG

@ressjs/create-ress-app

Version:

CLI tool for creating ress.js applications

47 lines (46 loc) 2.03 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const chalk_1 = __importDefault(require("chalk")); const create_app_1 = require("./create-app"); const fs_1 = require("fs"); const path_1 = require("path"); // Read package.json for version const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../package.json'), 'utf-8')); const program = new commander_1.Command(); program .name('create-ress-app') .description('Create a new ress.js application') .version(packageJson.version) .argument('[project-name]', 'Name of the project') .option('-t, --template <template>', 'Template to use (basic, advanced)', 'basic') .option('--typescript', 'Use TypeScript (default)', true) .option('--javascript', 'Use JavaScript instead of TypeScript') .option('--skip-install', 'Skip npm install') .action(async (projectName, options) => { console.log(chalk_1.default.blue('🚀 Welcome to ress.js!')); console.log(chalk_1.default.gray('Creating a new ress.js application...\\n')); try { await (0, create_app_1.createApp)(projectName, { template: options.template, typescript: options.javascript ? false : options.typescript, skipInstall: options.skipInstall }); } catch (error) { const errorMessage = error instanceof Error ? error.message : 'Unknown error'; console.error(chalk_1.default.red('❌ Error creating application:'), errorMessage); process.exit(1); } }); // Handle unknown commands program.on('command:*', () => { console.error(chalk_1.default.red('Invalid command:'), program.args.join(' ')); console.log(chalk_1.default.yellow('See --help for a list of available commands.')); process.exit(1); }); program.parse(process.argv);