nestjs-command simplifies creating and managing CLI commands in NestJS applications. It offers an easy way to define and execute commands, streamlining CLI integration and boosting productivity with minimal configuration.
Install the nestjs-command
package with:
npm install @hodfords/nestjs-command --save
Set up in your codebase:
src/config/command.config.ts
import { CommandModule } from '@hodfords/nestjs-command';
export const commandConfig = CommandModule.register();
// export const = CommandModule.register(false) if typeorm is disabled
src/app.module.ts
import { Module } from '@nestjs/common';
import { CommandModule } from '@hodfords/nestjs-command';
@Module({
imports: [commandConfig],
controllers: [],
providers: []
})
export class AppModule {}
src/cli.ts
import { NestFactory } from '@nestjs/core';
import { CommandService } from '@hodfords/nestjs-command';
import { commandConfig } from '~config/command.config';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const commandService: CommandService = app.select(commandConfig).get(CommandService, { strict: true });
await commandService.exec();
await app.close();
}
bootstrap();
package.json
"wz-command": "wz-command"
Here’s how you can use them. For each type of component, you can use one of the two available command formats: with npm run
or directly with wz-command
npm run wz-command make-command <file-name> -- --module <module-name>
wz-command make-command <file-name> --module <module-name>
npm run wz-command make-controller <file-name> -- --module <module-name>
wz-command make-controller <file-name> --module <module-name>
npm run wz-command make-dto <file-name> -- --module <module-name>
wz-command make-dto <file-name> --module <module-name>
npm run wz-command make-e2e-test <file-name> -- --module <module-name>
wz-command make-e2e-test <file-name> --module <module-name>
npm run wz-command make-entity <file-name> -- --module <module-name>
wz-command make-entity <file-name> --module <module-name>
npm run wz-command make-migration <file-name> -- --module <module-name> --create=<entity-name>
wz-command make-migration <file-name> --module <module-name> --create=<entity-name>
npm run wz-command make-migration <file-name> -- --module <module-name> --update=<entity-name>
wz-command make-migration <file-name> --module <module-name> --update=<entity-name>
npm run wz-command make-module <module-name>
wz-command make-module <file-name>
npm run wz-command make-repository <file-name> -- --module <module-name>
wz-command make-repository <file-name> --module <module-name>
npm run wz-command make-service <file-name> -- --module <module-name>
wz-command make-service <file-name> --module <module-name>
This project is licensed under the MIT License