unstale

npm / @nestjs/cli

@nestjs/cli

What changed in @nestjs/cli 11 to 12, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

9 breaking4 deprecations25 new APIs and options8 behavior and defaults11 tooling34 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@nestjs/cli 1268 changes

Breaking changes 7

  • The compiler now resolves the SWC source root separately for each application.

    12.0.6release notes

  • The angular schematic has been removed.

    12.0.0upgrade guide

  • Build output and cleanup paths are confined to the project directory by default; symlinks are resolved before writing to prevent writes escaping the project.

    12.0.0release notes

  • CLI schematics for nest new, nest generate, and nest upgrade require Node.js v22.22.3+, v24.15+, or v26+; nest upgrade refuses to run on older releases.

    12.0.0upgrade guide

  • An invalid --builder now produces a non-zero exit.

    12.0.0release notes

  • Programmatic imports of CLI internals now resolve to ESM; the package is published as pure ESM.

    12.0.0release notes

  • webpack and related bundler packages are optional peer dependencies rather than bundled dependencies; webpack users must install the bundler packages themselves.

    12.0.0release notes

Deprecations 4

  • The webpack CLI flag is deprecated in favor of --builder rspack.

    12.0.0upgrade guide

  • The nest-cli.json webpack option is deprecated in favor of --builder rspack.

    12.0.0upgrade guide

  • The nest-cli.json webpack configuration path option is deprecated in favor of --builder rspack.

    12.0.0upgrade guide

  • The webpack configuration path flag is deprecated in favor of --builder rspack.

    12.0.0upgrade guide

New APIs and options 24

  • Asset entries can opt out of triggering a restart when they change.

    12.0.6release notes

  • Allows monorepo layouts to emit build output outside the project root.

    12.0.0release notes

  • Adds an option to emit .d.ts files when using the SWC builder.

    12.0.0upgrade guiderelease notes

  • Supports --builder rspack to build with Rspack.

    12.0.0release notes

  • Adds an option that overrides the config-level type-check setting.

    12.0.0release notes

  • Adds emitDeclarations to enable .d.ts file emission when using the SWC builder.

    12.0.0upgrade guide

  • Adds includeLibraryAssets for copying library assets into an application build.

    12.0.0upgrade guiderelease notes

  • Adds a deploy command that forwards to Mau and installs @nestjs/mau as a dev dependency on first use.

    12.0.0upgrade guiderelease notes

  • Adds formatting of generated files with Prettier.

    12.0.0release notes

  • Adds --observe and --no-observe to answer the @nestjs/observe prompt.

    12.0.0release notes

  • Adds an option to scaffold a project without testing files.

    12.0.0release notes

  • Supports --builder rspack to start with Rspack.

    12.0.0release notes

  • Adds nest update as an alias for nest upgrade.

    12.0.0release notes

  • Adds an option to choose a collection for the upgrade.

    12.0.0release notes

  • Previews the upgrade report without touching project files.

    12.0.0upgrade guiderelease notes

  • Adds --observe and --no-observe to answer the @nestjs/observe prompt up front.

    12.0.0release notes

  • Adds an option to skip installation during the upgrade.

    12.0.0release notes

  • Adds a dist-tag option for choosing a tag such as next instead of the default version ranges.

    12.0.0release notes

  • Adds an option to explicitly disable SWC type checking.

    12.0.0upgrade guide

  • Adds parallel monorepo builds with optional concurrency when used with --all.

    12.0.0upgrade guiderelease notes

  • Adds --crud [value] to the resource schematic.

    12.0.0release notes

  • Adds --type <rest|graphql|microservice> to the resource schematic.

    12.0.0release notes

  • Adds a nest build and nest start option for specifying a Rspack configuration file.

    12.0.0upgrade guiderelease notes

  • Adds an option to suppress informational compiler logs.

    12.0.0upgrade guiderelease notes

Behavior and default changes 6

  • The default .gitignore template now includes *.tsbuildinfo.

    12.0.1release notes

  • All newly generated projects use oxlint by default.

    12.0.0upgrade guide

  • Rspack becomes the default bundler for monorepos.

    12.0.0upgrade guide

  • Source maps are enabled in the Rspack defaults.

    12.0.0release notes

  • Generated ESM projects use Vitest by default, while CommonJS projects continue to use Jest.

    12.0.0upgrade guide

  • Asset changes restart the application in watch mode, with debouncing so a burst of writes triggers one restart.

    12.0.0release notes

Tooling 10

  • The compiler now resolves TypeScript path aliases from the tsconfig directory.

    12.0.6release notes

  • SWC emits ES modules for ESM projects.

    12.0.5release notes

  • Bundler config files now support native ESM.

    12.0.1release notes

  • Schematics are shown as a plain list on narrow terminals.

    12.0.1release notes

  • The CLI adds bun as a supported package manager.

    12.0.0upgrade guiderelease notes

  • The decorator schematic now generates decorators using the Reflector.createDecorator() form.

    12.0.0upgrade guide

  • Displays an explicit message when no @nestjs/* dependencies are declared.

    12.0.0release notes

  • Prompts users to choose whether to generate a CommonJS or ESM project layout.

    12.0.0upgrade guide

  • Upgrades recognized @nestjs/* packages together, installs them, applies mechanical migration changes, and prints a report of changes and behavioral notes.

    12.0.0upgrade guiderelease notes

  • Rspack is supported as an optional peer dependency and is the builder scaffolded into nest-cli.json for new projects.

    12.0.0release notes

Fixes and other changes 17

  • Preserves CommonJS entry exports in rspack and webpack builds.

    12.0.8release notes

  • Preserves parent links for aliased re-exports.

    12.0.8release notes

  • Webpack now resolves absolute tsconfig paths.

    12.0.7release notes

  • The compiler now forks the SWC type checker with the application's plugins.

    12.0.7release notes

  • SWC resolves path aliases from the tsconfig directory.

    12.0.5release notes

  • The CLI parses .swcrc with a JSONC parser to match SWC.

    12.0.5release notes

  • Dotfiles are now copied when expanding a directory asset.

    12.0.1release notes

  • ESM output now emits loadable path alias specifiers.

    12.0.1release notes

  • Plugin load errors are surfaced instead of being reported as "not compatible".

    12.0.1release notes

  • The compiler now resolves an absolute tsconfig path.

    12.0.1release notes

  • Watch mode now honors preserveWatchOutput from tsconfig.

    12.0.1release notes

  • Asset path stripping now follows the effective TypeScript rootDir.

    12.0.0release notes

  • When a builder's peer dependency is missing, the CLI reports the missing package name instead of a raw resolution error.

    12.0.0release notes

  • The --parallel value is validated instead of potentially looping forever.

    12.0.0release notes

  • Malformed configuration now produces a readable error.

    12.0.0release notes

  • SWC skips excluded files in builds and watch mode; newly added files no longer inherit watch mode when transpiled.

    12.0.0release notes

  • The file is removed when deleteOutDir is set.

    12.0.0release notes

@nestjs/cli 1123 changes

Breaking changes 2

  • The compiler now fails fast when TypeScript lacks the programmatic API.

    11.0.24release notes

  • The CLI errors on unexpected extra positional arguments.

    11.0.18release notes

New APIs and options 1

  • Adds type and CRUD options to the generate command.

    11.0.22release notes

Behavior and default changes 2

  • Watch mode now skips signal forwarding.

    11.0.19release notes

  • The tsc compiler now runs the tsconfig paths plugin before user plugins.

    11.0.19release notes

Tooling 1

  • Expands the peer dependency range to include ^0.8.0.

    11.0.18release notes

Fixes and other changes 17

  • Removes a duplicated binary from the message shown when a command fails.

    11.0.24release notes

  • Reverts validation of asset output paths.

    11.0.23release notes

  • Reverts validation of delete output-directory paths before removal.

    11.0.23release notes

  • Validates asset output paths in the compiler.

    11.0.22release notes

  • The CRUD option accepts a value for generating entry points.

    11.0.22release notes

  • Fixes Windows path separator handling when loading plugins.

    11.0.22release notes

  • Fixes the inverted chokidar ignored filter in watch mode.

    11.0.20release notes

  • Corrected the Asset type definition from a string literal to a string union.

    11.0.19release notes

  • Fixed a missing space in the displayed OS version.

    11.0.19release notes

  • Path aliases are now resolved in declaration files.

    11.0.19release notes

  • Spec file suffix lookup now uses the selected project name.

    11.0.19release notes

  • Uses the ready event when closing the asset watcher.

    11.0.18release notes

  • The start command waits for asynchronous shutdown hooks to finish before exiting.

    11.0.18release notes

  • SWC now respects the root dir option when stripping leading paths.

    11.0.18release notes

  • The .tsbuildinfo file is deleted along with the output directory.

    11.0.18release notes

  • Prevents double initialization in SWC watch mode.

    11.0.18release notes

  • Uses synchronous spawn in tree-kill to fix a crash on Node.js 24.

    11.0.15release notes