UNPKG

@sai_krishna_m/create-nodejs-app

Version:

CLI to scaffold a base Node.js project

110 lines (73 loc) 2.75 kB
# create-nodejs-app [![npm version](https://img.shields.io/npm/v/@sai_krishna_m/create-nodejs-app.svg)](https://www.npmjs.com/package/@sai_krishna_m/create-nodejs-app) [![npm version](https://img.shields.io/npm/dm/@sai_krishna_m/create-nodejs-app.svg)](https://www.npmjs.com/package/@sai_krishna_m/create-nodejs-app) [![license: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) CLI to scaffold a production‑ready Node.js project in JavaScript or TypeScript. Defaults to TypeScript and includes opinionated setup for auth, databases, queues, logging, migrations, and more. ## Demo ![Demo](https://cdn.jsdelivr.net/gh/saikrishna1355/node_cli@main/ubuntu_terminal_final.gif) ## Install - Using npx (recommended): ```bash npx @sai_krishna_m/create-nodejs-app my-app ``` - Or install globally: ```bash npm install -g @sai_krishna_m/create-nodejs-app create-nodejs-app my-app ``` ## Usage ```bash create-nodejs-app <project-name> [options] ``` - Interactive (prompts for language, defaults to TS): ```bash create-nodejs-app my-app # Select language (ts/js) [ts]: ``` - Non‑interactive (explicit language): ```bash create-nodejs-app my-app --lang ts create-nodejs-app my-app --lang js ``` ### Options - `-l, --lang <lang>` Language to scaffold: `ts` or `js` (default: `ts`) - `-h, --help` Show help ## After scaffold ```bash cd my-app npm install npm run dev # or see template README for scripts ``` ## What you get Both templates share a similar modular structure and include: - Auth: JWT authentication/authorization - Databases: MySQL and MongoDB setup (choose per project) - Services/repositories: Layered service pattern - Jobs & queues: BullMQ + Redis wiring - Logging: Winston with daily rotate - Migrations/seeders: Sequelize CLI - Environments: `.env.dev`, `.env.sit`, `.env.uat`, `.env.production` - Process manager: PM2 ecosystem file ## Templates - TypeScript: `templates/node-base-template-ts` - Entry: `src/app.ts` - Scripts: `dev` (ts-node-dev), `build`, `start`, `migrate:dev`, `seed:dev` - Includes type definitions and `tsconfig` - JavaScript: `templates/node-base-template-js` - Entry: `src/app.js` - Scripts: `dev`, `migrate`, `seed` Each template also carries its own README inside the generated project for details and scripts. ## Examples - Create a TypeScript API (default): ```bash npx @sai_krishna_m/create-nodejs-app api-ts ``` - Create a JavaScript API: ```bash npx @sai_krishna_m/create-nodejs-app api-js --lang js ``` ## Notes - If the target directory already exists, the CLI aborts to avoid overwriting. - The CLI only scaffolds files; it does not install dependencies for you. Run `npm install` inside the new project. ## License MIT © Sai Krishna