ts-express-eslint-prettier
Version:
A TypeScript + Express backend starter with ESLint and Prettier configuration.
37 lines (36 loc) • 1.44 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// src/cli.ts
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const child_process_1 = require("child_process");
// CLI থেকে project name
const projectName = process.argv[2];
if (!projectName) {
console.error('Please provide a project name: npx ts-express-eslint-prettier <project-name>');
process.exit(1);
}
const targetDir = path_1.default.join(process.cwd(), projectName);
if (fs_1.default.existsSync(targetDir)) {
console.error('Folder already exists!');
process.exit(1);
}
// dist compile হওয়ার পরে template এর সঠিক path
const templateDir = path_1.default.join(__dirname, 'template');
if (!fs_1.default.existsSync(templateDir)) {
console.error('Template folder not found:', templateDir);
process.exit(1);
}
// Copy template
fs_1.default.cpSync(templateDir, targetDir, { recursive: true });
console.log(`Project created at ${targetDir}`);
// Install dependencies
console.log('Installing dependencies...');
(0, child_process_1.execSync)('npm install', { cwd: targetDir, stdio: 'inherit' });
console.log('Done! Start development:');
console.log(`cd ${projectName}`);
console.log('npm run dev');