@juancruuzl/schematics
v1.0.8
Published
Custom schematic for CQRS nestjs structure
Downloads
12
Readme
NestJS CQRS Schematics
This package provides custom schematics to quickly generate CQRS components (Commands, Queries, Resources) for NestJS applications. It helps streamline the process of creating modules with the Command Query Responsibility Segregation (CQRS) pattern.
Installation
To install the package, run the following command:
npm install @juancruuzl/schematics
Configuration
After installation, you need to add the schematics collection to your nest-cli.json
file.
Update your nest-cli.json
as follows:
{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@juancruuzl/schematics",
"sourceRoot": "src",
"compilerOptions": {
"deleteOutDir": true
}
}
Available Schematics
1. Generate a Query
To create a new query, run:
nest g qr "nameOfTheQueryToGenerate"
- Example:
nest g qr GetUserQuery
- Generates a new query file and its related structure.
2. Generate a Command
To create a new command, run:
nest g cmd "nameOfTheCommandToGenerate"
- Example:
nest g cmd CreateUserCommand
- Generates a new command file and its related structure.
3. Generate a Resource Module
To create a new resource module, run:
nest g res "nameOfTheModuleToGenerate"
- Example:
nest g res User
- Generates a new module with the necessary CQRS components.
Flat Option
The --flat
option allows you to control whether a separate folder should be created for the generated files:
- Default (
--flat=false
): Files will be created within their own directory. - With
--flat=true
: Files will be generated in the specified path without creating a new directory.
Usage with --flat
- Query:
nest g qr "QueryName" --flat
- Command:
nest g cmd "CommandName" --flat
- Resource:
nest g res "ResourceName" --flat
Using the --flat
option can help maintain a flatter directory structure.
License
This project is licensed under the MIT License.