Skip to main content

@hodfords/nestjs-command

Hodfords Logo

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.

Installation πŸ€–β€‹

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"

Usage πŸš€β€‹

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

Make a command​

npm run wz-command make-command <file-name> -- --module <module-name>
wz-command make-command <file-name> --module <module-name>

Make a controller​

npm run wz-command make-controller <file-name> -- --module <module-name>
wz-command make-controller <file-name> --module <module-name>

Make a dto​

npm run wz-command make-dto <file-name> -- --module <module-name>
wz-command make-dto <file-name> --module <module-name>

Make an e2e test​

npm run wz-command make-e2e-test <file-name> -- --module <module-name>
wz-command make-e2e-test <file-name> --module <module-name>

Make an entity​

npm run wz-command make-entity <file-name> -- --module <module-name>
wz-command make-entity <file-name> --module <module-name>

Make a migration​

Create table​

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>

Update table​

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>

Make a module​

npm run wz-command make-module <module-name>
wz-command make-module <file-name>

Make a repository​

npm run wz-command make-repository <file-name> -- --module <module-name>
wz-command make-repository <file-name> --module <module-name>

Make a service​

npm run wz-command make-service <file-name> -- --module <module-name>
wz-command make-service <file-name> --module <module-name>

License πŸ“β€‹

This project is licensed under the MIT License