@ressjs/create-ress-app
Version:
CLI tool for creating ress.js applications
47 lines (46 loc) • 2.03 kB
JavaScript
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);
;