NestJS Logo
ads via Carbon Deliver website design projects 30% faster with BugHerd. ads via Carbon

CLI command reference

nest new#

Creates a new (standard mode) Nest project.


$ nest new <name> [options]
$ nest n <name> [options]
Description

Creates and initializes a new Nest project. Prompts for package manager.

  • Creates a folder with the given <name>
  • Populates the folder with configuration files
  • Creates sub-folders for source code (/src) and end-to-end tests (/test)
  • Populates the sub-folders with default files for app components and tests
Arguments
ArgumentDescription
<name>The name of the new project
Options
OptionDescription
--dry-runReports changes that would be made, but does not change the filesystem.
Alias: -d
--skip-gitSkip git repository initialization.
Alias: -g
--skip-installSkip package installation.
Alias: -s
--package-manager [package-manager]Specify package manager. Use npm, yarn, or pnpm. Package manager must be installed globally.
Alias: -p
--language [language]Specify programming language (TS or JS).
Alias: -l
--collection [collectionName]Specify schematics collection. Use package name of installed npm package containing schematic.
Alias: -c
--strictStart the project with the following TypeScript compiler flags enabled: strictNullChecks, noImplicitAny, strictBindCallApply, forceConsistentCasingInFileNames, noFallthroughCasesInSwitch

nest generate#

Generates and/or modifies files based on a schematic


$ nest generate <schematic> <name> [options]
$ nest g <schematic> <name> [options]
Arguments
ArgumentDescription
<schematic>The schematic or collection:schematic to generate. See the table below for the available schematics.
<name>The name of the generated component.
Schematics
NameAliasDescription
appGenerate a new application within a monorepo (converting to monorepo if it's a standard structure).
librarylibGenerate a new library within a monorepo (converting to monorepo if it's a standard structure).
classclGenerate a new class.
controllercoGenerate a controller declaration.
decoratordGenerate a custom decorator.
filterfGenerate a filter declaration.
gatewaygaGenerate a gateway declaration.
guardguGenerate a guard declaration.
interfaceitfGenerate an interface.
interceptoritcGenerate an interceptor declaration.
middlewaremiGenerate a middleware declaration.
modulemoGenerate a module declaration.
pipepiGenerate a pipe declaration.
providerprGenerate a provider declaration.
resolverrGenerate a resolver declaration.
resourceresGenerate a new CRUD resource. See the CRUD (resource) generator for more details. (TS only)
servicesGenerate a service declaration.
Options
OptionDescription
--dry-runReports changes that would be made, but does not change the filesystem.
Alias: -d
--project [project]Project that element should be added to.
Alias: -p
--flatDo not generate a folder for the element.
--collection [collectionName]Specify schematics collection. Use package name of installed npm package containing schematic.
Alias: -c
--specEnforce spec files generation (default)
--no-specDisable spec files generation

nest build#

Compiles an application or workspace into an output folder.

Also, the build command is responsible for:

  • mapping paths (if using path aliases) via tsconfig-paths
  • annotating DTOs with OpenAPI decorators (if @nestjs/swagger CLI plugin is enabled)
  • annotating DTOs with GraphQL decorators (if @nestjs/graphql CLI plugin is enabled)

$ nest build <name> [options]
Arguments
ArgumentDescription
<name>The name of the project to build.
Options
OptionDescription
--path [path]Path to tsconfig file.
Alias -p
--config [path]Path to nest-cli configuration file.
Alias -c
--watchRun in watch mode (live-reload).
If you're using tsc for compilation, you can type rs to restart the application (when manualRestart option is set to true).
Alias -w
--builder [name]Specify the builder to use for compilation (tsc, swc, or webpack).
Alias -b
--webpackUse webpack for compilation (deprecated: use --builder webpack instead).
--webpackPathPath to webpack configuration.
--tscForce use tsc for compilation.
--watchAssetsWatch non-TS files (assets like .graphql etc.). See Assets for more details.
--type-checkEnable type checking (when SWC is used).
--allBuild all projects in a monorepo.
--preserveWatchOutputKeep outdated console output in watch mode instead of clearing the screen. (tsc watch mode only)

nest start#

Compiles and runs an application (or default project in a workspace).


$ nest start <name> [options]
Arguments
ArgumentDescription
<name>The name of the project to run.
Options
OptionDescription
--path [path]Path to tsconfig file.
Alias -p
--config [path]Path to nest-cli configuration file.
Alias -c
--watchRun in watch mode (live-reload)
Alias -w
--builder [name]Specify the builder to use for compilation (tsc, swc, or webpack).
Alias -b
--preserveWatchOutputKeep outdated console output in watch mode instead of clearing the screen. (tsc watch mode only)
--watchAssetsRun in watch mode (live-reload), watching non-TS files (assets). See Assets for more details.
--debug [hostport]Run in debug mode (with --inspect flag)
Alias -d
--webpackUse webpack for compilation. (deprecated: use --builder webpack instead)
--webpackPathPath to webpack configuration.
--tscForce use tsc for compilation.
--exec [binary]Binary to run (default: node).
Alias -e
--no-shellDo not spawn child processes within a shell (see node's child_process.spawn() method docs).
--env-fileLoads environment variables from a file relative to the current directory, making them available to applications on process.env.
-- [key=value]Command-line arguments that can be referenced with process.argv.

nest add#

Imports a library that has been packaged as a nest library, running its install schematic.


$ nest add <name> [options]
Arguments
ArgumentDescription
<name>The name of the library to import.

nest info#

Displays information about installed nest packages and other helpful system info. For example:


$ nest info

 _   _             _      ___  _____  _____  _     _____
| \ | |           | |    |_  |/  ___|/  __ \| |   |_   _|
|  \| |  ___  ___ | |_     | |\ `--. | /  \/| |     | |
| . ` | / _ \/ __|| __|    | | `--. \| |    | |     | |
| |\  ||  __/\__ \| |_ /\__/ //\__/ /| \__/\| |_____| |_
\_| \_/ \___||___/ \__|\____/ \____/  \____/\_____/\___/

[System Information]
OS Version : macOS High Sierra
NodeJS Version : v20.18.0
[Nest Information]
microservices version : 10.0.0
websockets version : 10.0.0
testing version : 10.0.0
common version : 10.0.0
core version : 10.0.0

Support us

Nest is an MIT-licensed open source project. It can grow thanks to the support by these awesome people. If you'd like to join them, please read more here.

Principal Sponsors

Trilon LogoMarblism LogoMojam LogoAmplication Logo

Sponsors / Partners

Become a sponsor