@techymt/create-module
is a TypeScript package designed to streamline the creation of new modules in a clean TypeScript project structure. This tool is tailored for use with the typescript-clean-boilerplate repository, ensuring that your project maintains a consistent and maintainable architecture.
Before using @techymt/create-module
, ensure that your project meets the following prerequisites:
-
TypeScript: You need TypeScript installed in your project. If it's not installed, add it using:
npm install --save-dev typescript
-
ts-node
: This is required to run TypeScript files directly. Install it with:npm install --save-dev ts-node
-
Type Definitions for Node.js: Install
@types/node
for TypeScript support:npm install --save-dev @types/node
-
tsconfig.json
: Ensure that atsconfig.json
file is present in the root of your project. If not, create one by running:npx tsc --init
- Automatically generates module directories and files based on a predefined structure.
- Ensures consistent module setup with TypeScript.
- Easily integrate with the typescript-clean-boilerplate template.
To install @techymt/create-module
globally, run:
npm install -g @techymt/create-module
Or add it as a project dependency:
npm install --save-dev @techymt/create-module
Navigate to the root of your Node.js project directory:
cd /path/to/your/project
Then you can create a new module using the following command:
npx @techymt/create-module
You will be prompted to enter the module name. For example:
? Enter the module name: <ModuleName>
This command will create a new folder under your project’s Modules
directory, with the following structure:
src/
└── Modules/
└── ModuleName/
├── controllers/
│ ├── index.ts
│ └── modulename.controller.ts
├── middlewares/
│ ├── index.ts
│ └── modulename.middleware.ts
├── repositories/
│ ├── index.ts
│ └── modulename.repository.ts
├── services/
│ ├── index.ts
│ └── modulename.service.ts
├── routes/
│ ├── index.ts
│ └── modulename.route.ts
└── index.ts (Exports the module)
Once you have created your module, integrate it with your main index.ts
file as follows:
import { ModuleNameModule } from './Modules/ModuleName';
// Add the module to the Express app
app.use(ModuleNameModule);
For more details on setting up the clean TypeScript architecture, visit the typescript-clean-boilerplate repository.
This project is licensed under the MIT License - see the LICENSE file for details.