1.0.7 • Published 2 years ago

generator-nestjs-mongodb v1.0.7

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

What This Is:

A command line tool to automatically generate some or all feature set files for NestJS:

  • \.module.ts
  • \.controller.ts
  • \.service.ts
  • \.schema.ts

Install:

// Globally:
npm install generator-nestjs-mongodb -g

// Local project only:
npm install generator-nestjs-mongodb

Usage:

(If using with local project only, replace ngenm below with: ./node_modules/.bin/ngenm, or alias it)

Note: You will need to have a database configured with NestJS in order to use the repositories. See: https://docs.nestjs.com/techniques/database

Generate a Module / Controller / Service / Repository / schema (or all):

ngenm <name> <options>

This will generate a folder \ within the current directory, and then all specified classes according to the options. See below for examples.

(Tip: Use --prefix to place files within a prefix directory, from the current folder)

(See how to set these up as configuration options in tsconfig.json below)

Specifying schema properties (optional):

ngenm example -m --schema "id:number name:string prop:string"

If you specify a string of properties to the --schema argumenent, the generated schema file will add the given properties to the class definition, using the format propName:propType.

Note: An 'id: number' property will automaticaly be generated, with an @PrimaryGeneratedColumn() decorator, because TypeOrm requires at least this property to exist. You can change this property name by passing a property with a type of 'primary', and it will add the property with the decorate, and a type of 'number'. For example: --schema "someIdentifier:primary".

It will also add a @Column() decorator for each other property. propType will be used as the exact class name, but will not be imported (if using a custom class), so you have to add the import yourself, for now.

(Currently does not support adding other decorators (ie. joins/relationships), or custom @Column({}) definition properties, which must be added manually, for now.)

All Options:

Note: If using a configuration file, these command line options will always override the configuration file options.

 --schema [...prop:type]          Generate the schema file (and optional schema definition)                            optional
 --schema-class <name>            Specify a custom class name for the schema                                          optional
 --schema-dir <dir>               Specify a subdirectory to put the schema in (ie. 'models')                          optional
 --schema-base-class <class>      Specify a base class that your schema should extend from                            optional
 --schema-base-dir <dir>          Specify the import location for the base class schema                               optional
 
 -c                              Generate a Controller for the schema                                                optional      default: false
 --controller                    Generate a Controller for the schema                                                optional      default: false
 
 -s                              Generate a Service for the schema                                                   optional      default: false
 --service                       Generate a Service for the schema                                                   optional      default: false
1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago