New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

nestjs-gen

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nestjs-gen

NestJS model package generator

  • 1.1.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
79
increased by14.49%
Maintainers
1
Weekly downloads
 
Created
Source

What This Is:

A command line tool to automatically generate some or all feature set files for NestJS: -module -controller -service -repository -model

The generated class files will automatically reference each other through imports and injections.

Install:

// Globally:
npm install nestjs-gen -g

// Local project only:
npm install nestjs-gen

Usage:

(If using with local project only, replace ngen below with: ./node_modules/.bin/ngen)

Generate a Module / Controller / Service / Repository / Model (or all):
ngen <name> <options>

This will generate a folder <name> 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)

(Tip: Use --crud to automatically generate CRUD interfaces within the Controller and Service classes)

Examples:

Generate a Module with all features (module, controller, service, repository, and model):
ngen example --all

This will generate:

./modules/example/example.module.js         (ExampleModule)
./modules/example/example.controller.js     (ExampleController)
./modules/example/example.service.js        (ExampleService)
./modules/example/example.repository.js     (ExampleRepository)
./modules/example/models/example.model.js   (ExampleModel)
(and corresponding CRUD interface within controller and service)
Generate just a Controller, Repository, and Test model (not in a module)
ngen example --crud

This will generate:

./example/example.controller.js             (ExampleController)
./example/example.repository.js             (ExampleRepository)
./example/models/example.model.js           (ExampleModel)
(and corresponding CRUD interface within controller and service)

(Tip: If you want the files generated in their own module, just specify --module)

Generate each specific thing you want
ngen example --module --controller --service --repository --model --crud --prefix "src"

Or shorter:

ngen example --m --c --s --r --md --crud --prefix src

This will generate all the respective class files within "src/modules/example/".

To Note:

  • If you specify --repository or --crud, a model will automatically be generated.
  • If you specify --auth, @Guard(<auth-guard-class>) decorators will be added to the CRUD interfaces. Your custom auth guard class name and location can be defined with --auth-guard-class and --auth-guard-location.

All Options:

 --p <prefix>               Specify root/prefix dir to generate in                                       optional
 --prefix <prefix>          Specify root/prefix dir to generate in                                       optional
 --a                        Generate all (module + controller + service + repository + model             optional      default: false
 --all                      Generate all (module + controller + service + repository + model             optional      default: false
 
 --m                        Generate a module                                                            optional      default: false
 --module                   Generate a module                                                            optional      default: false
 
 -r                         Generate a repository for the model                                          optional      default: false
 --repo                     Generate a repository for the model                                          optional      default: false
 --repository               Generate a repository for the model                                          optional      default: false
 
 --md                       Generate the model files                                                     optional      default: false
 --model                    Generate the model files                                                     optional      default: false
 --model-name               Specify the exact name for the model class                                   optional      default: false
 --no-model-dir             Don't put models in default "models" subdirectory                            optional      default: false

 --c                        Generate a controller for the model                                          optional      default: false
 --controller               Generate a controller for the model                                          optional      default: false
 
 --s                        Generate a service for the model                                             optional      default: false
 --service                  Generate a service for the model                                             optional      default: false
 
 --crud                     Generates CRUD actions within the controller and service                     optional      default: false
 
 --auth                     CRUD actions will add authentication guards, requiring a logged in user      optional      default: false
 --auth-guard-class         The name of the Guard class                                                  optional      default: false
 --auth-guard-location      The location of the Guard class                                              optional      default: false
 

Other Things to Note / Todo:

The generated files will all reference eachother correctly, but you will still need to add these references to your main AppModule, or wherever you need to use them. In other words: this package doesn't edit existing files.

Keywords

FAQs

Package last updated on 26 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc