Releases
20.4.0
20.4.0 (2025-01-27)
🚀 Features
angular: support angular v19.1 (#29523 )
core: allow tasks to run with a substring of project name (#29552 )
core: add support for skipping remote cache (#29574 )
core: Add ESM support for Eslint config file (#29613 )
core: handle existing plugins failed with imported project (#28893 )
core: support reading projects under new pnpm workspaces entry + skip writing empty nx property to pacakge.json for non-root projects (#29707 )
core: add pre and post run apis (#29636 )
graph: update headlessui v2 (#29586 )
js: simplify generated tsconfig.base.json compiler options in ts solution setup (#29550 )
js: infer build-deps and watch-deps targets for incremental builds (#29609 )
js: remove nx property from generated package.json files (#29705 )
misc: use @swc/jest
instead of ts-jest
for the ts solution setup (#29718 )
misc: prompt for unit test runner when creating a workspace using --workspaces
flag (#29743 )
module-federation: upgrade to latest version of @module-federation/enhanced (#29535 )
node: update app generator for fastify to the next major v5 (#29589 )
node: upgrade express to v4.21.2 to address security vulnerabilities (#29419 )
nx-dev: add TOC markdoc component for blog posts (3e564864fd )
nx-dev: customer videos on customer page (#29380 )
nx-dev: add trial pages for Powerpack and Enterprise, update contact sales team page (#29554 )
nx-dev: show arg aliases (#29653 )
nx-dev: generate migration detail pages (#29580 )
react: add support for React 19 for new Workspaces (#29286 )
release: allow invalid conventional commits to be considered via custom config (#29658 )
rspack: non-inferred targets should work OOTB (#29733 )
testing: add option ciGroupName
to @nx/jest/plugin
(#29365 )
web: support custom cors headers (#29382 )
web: add support for TS solution setup for @nx/web (#29583 )
webpack, rspack: support multiple configurations (#29691 )
🩹 Fixes
angular: restore esm2022 bundle and drop fesm2022 in ng-packagr-lite executor (#29615 )
core: daemon spinner should show text (#29448 )
core: update nx cloud bundle install directory logic (#29555 )
core: avoid launching default plugins twice (#29539 )
core: support subpath exports when constructing the project graph (#29577 )
core: update package script logic to handle cli tool name as command (#29617 )
core: show better project graph errors (#29525 )
core: check only for watcher connections during inactivity shutdown (#29621 )
core: do not warn about custom tasks runners when explicitly usi… (#29669 )
core: update yarn-parser to handle yarn v4 syntax for root workspace package (#29452 )
core: ensure that nx is backwards compatible with older versions of Nx Cloud (#29703 )
core: support subpath exports when constructing the project graph" (#29762 )
detox: use a version of Detox that works with React Native 0.76/Expo v52 (#29679 )
devkit: add .riv to binary extension (#29309 )
gradle: check if java is installed (#29572 )
graph: copy command text directly from PDV (#29645 )
js: not generate tsconfig if already exists (#29317 )
js: only add typescript project references for explicit dependencies in sync generator (#28998 )
js: infer outputs correctly when both rootDir and outDir are set for tsconfig (#29531 )
js: do not set project references to non-existing tsconfig files in sync generator (#29536 )
js: ensure js libraries' build produce esm output in ts solution setup (#29546 )
js: avoid nested paths in workspaces because they can lead to future issues (#29553 )
js: Update typescript plugin check for buildable projects (#29431 )
js: update detection of ts solution setup (#29576 )
js: generate js libs with exports in package.json and ensure esm output when using rollup bundler (#29565 )
js: do not generate explicit vitest task config for a js library unless adding plugin is disabled (#29606 )
js: improve error handling during SWC compilation (#29605 )
js: non-buildable js libs specify type=module (#29620 )
js: sort package.json fields by idiomatic order (#29635 )
js: fix typo so exports
field in package.json is properly sorted (#29643 )
js: do not generate package.json file for non-buildable js libraries in non-ts solution setup (#29646 )
js: ignore bundler config files correctly in eslint config when using vitest in js library generator (#29649 )
linter: export Options
types for enforce-module-boundaries
and nx-plugin-checks
(#29072 )
misc: ensure all project generators add project to workspaces config (#29582 )
misc: ensure exports
are generated for several lib generators in ts solution setup (#29588 )
misc: generate module
and moduleResolution
in base tsconfig based on cnw preset (#29633 )
misc: update e2e config generators to align with new TS solution setup (#29638 )
misc: generate remix libs correctly and install correct @types/react
version for react libs (#29760 )
node: set correct compilerOptions for Nest applications (#29725 )
nuxt: correct webServerAddress and webServerCommand options in add-e2e.ts generator. (#29713 )
nx-dev: Quote typo (#29513 )
nx-dev: add playsInline to video loop component (aceebca1aa )
nx-dev: fix heroicons for safari (#29544 )
nx-dev: Update Webinar link (#29590 )
nx-dev: update request a trial link on pricing page (#29711 )
nx-plugin: fix plugin generation in ts solution setup (#29730 )
react: transpile SVGR into React 19 compatible component (#29543 )
react: setup mf env var as input for rspack (#29584 )
react: ensure project name is escaped in spec matcher when generating an application (#29732 )
release: invalid config path in hint for using skipLockFileUpdate (#29425 )
release: ensure git push option is always applied (#29596 )
rspack: make subresourceIntegrity usage configurable (#29629 )
rspack: fix error with 'TypeError: userDefinedConfig is not a function' (#29514 , #29515 )
testing: infer correct outputs when absolute paths are provided in playwright config (#29549 )
testing: e2e config generators should prompt for missing serve data (#29660 )
testing: finish dev server async generator in cypress executor (#29689 )
vite: tsconfig paths plugin should not partially match paths (#29501 )
vite: plugin should infer 'vite' for dev/serve command (#29585 )
vite: do not stop the test process of failure in watch mode (#29260 )
❤️ Thank You
You can’t perform that action at this time.