Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
21.3.0 source code.tar.gz | 2025-07-18 | 329.3 MB | |
21.3.0 source code.zip | 2025-07-18 | 334.2 MB | |
README.md | 2025-07-18 | 17.0 kB | |
Totals: 3 Items | 663.5 MB | 2 |
21.3.0 (2025-07-18)
🚀 Features
- angular: support angular v20.1 (#31845)
- bundling: add useLegacyTypescriptPlugin option to migrate from rollup-plugin-typescript2 (#31718, #30488)
- core: improve message when workspace is not detected (#31632)
- core: pass in progress task outputs to tui for non-direct child processes (#31655)
- core: add CI warning for missing remote cache solution (#31678)
- core: enhance native cache operations with comprehensive logging (#31652)
- core: refactor CI workflow generator to use centralized command generation (#31787)
- core: add CI warning for missing remote cache solution " (#31678, #31860)
- core: add fix-ci command to CI workflows (#31833)
- core: add support for
--tui
and--no-tui
(#31621) - core: add comprehensive dependency tracking with continuous task support (#31861)
- core: add live durations for running tasks in the tui (#31897)
- core: allow {args} to be fully interpolated in run-commands (#31824)
- core: add --initialRun flag to nx watch command (#31910)
- core: add env var for cache size (#31609)
- core: add GitHub repository creation and push functionality (#31936)
- graph: enhance migration state management and introduce migration stopping functionality. (#31626)
- js: support publishing with registryConfigKey when pnpm >=9.15.7 <10.0.0 || >=10.5.0 (#31622)
- js: add copy-workspace-modules executor (#31545)
- js: deprecate simpleName option in library generator (#31673, #29508)
- js: add prune-lockfile executor (#31557)
- module-federation: bump @module-federation/enhanced version to 0.15.0 to fix vulnerability (#30806, #30502, #30748)
- module-federation: bump @module-federation/node & @module-federation/enhanced to fix esbuild vulnerability (#31924, #31923)
- nx-dev: read description from markdown frontmatter for index pages (#31566)
- react: support port option for react app generator (#31552)
- release: allow for semver requirements to be disabled in version and changelog (#31794)
- release: releaseTagPatternStrictPreid option to match git tag based on semver preid (#31756)
- rspack: add support for proxyConfig in the dev-server executor (#31909)
- testing: support jest v30 (#31853, #31778)
🩹 Fixes
- angular: fix import from ng-packagr (#31600, #31597)
- angular: handle inferred projects without project configuration files in migrations (#31633, #31607)
- angular: respect skipTsConfig option in library generator (#31738, #31185)
- angular: improve indexHtmlTransformer documentation (#31742, #30831)
- angular: expand nx tokens in project configurations when running schematic migrations (#31526, #29052)
- angular: generate ngrx facade spec file correctly (#31850)
- bundling: respect decision to create babelrc file (#31755, #31582)
- bundling: ensure lockfile creation doesnt error with bun (#31762, #30568, #26640)
- core: show the correct content in the tui terminal pane for skipped tasks (#31559)
- core: ensure destination directories are created before copying files (#31624)
- core: prevent duplicate nx cloud logs from global and local nx invocations (#31641)
- core: do not auto-exit tui when there are multiple failed tasks (#31631)
- core: improve error handling in daemon server (#31728, #31407, #31567)
- core: clarify TypeScript configuration requirements for applications in project references migration (#31764, #31715)
- core: resolve package.json for @nx/js to improve plugin detection (#31770)
- core: update nx to version 21.3.0-beta.0 (#31771)
- core: allow any framework value in preset generator schema (#31665)
- core: return current nx init date when no git available yet (6fdca3d539)
- core: consider virtual trees in globAsync (#31805)
- core: improve tui contrast on some terminal themes (#31299)
- core: add option to use v8 for daemon message serialization to avoid issues when JSON.stringify would fail (#30516)
- core: allow opting out of sorting root tsconfig path mappings with an env var (#31763, #29043)
- core: improve column display decision logic in tui (#31885)
- core: swap from gray -> dark gray for light theme secondary foreground (#31901)
- core: update our caching for ts-node service from plugins (#31917)
- core: ensure non-pty tasks have output in terminal pane when finish (#31925)
- core: remove affected comment and improve CI setup messages (#31913)
- core: remove accidental additional line (#31930)
- core: preserve scroll position when tasks complete and scroll faster (#31898)
- core: improve parent gitignore handling for nested Nx workspaces (#31911, #27368, #28000, #27295, #28123, #29413, #29245)
- core: shutdown running tasks properly when recieving sigterm (#31534)
- core: lockfile pruning uess project name to identify workspace nodes (#31959)
- core: allow nx-cloud commands to run without local Nx installation (#31974)
- docs: add missing --project parameter to Angular service generation command (#31735, #31410)
- expo: respect
--unit-test-runner=none
properly when generating expo apps and libs (#31754, #30366) - gradle: fix gradle on windows (#31595)
- gradle: add build-ci target even if atomized=false (#31537)
- gradle: add dependsOn outputs to inputs dependentTasksOutputFiles (#31683)
- gradle: handle custom build gradle files (#31817)
- gradle: allow excludeDependsOn to be false (#31890)
- js: failing e2e test due to dependency (#31676)
- js: resolve asset paths relative to workspace root instead of cwd (#31664)
- js: improve typescript plugin build detection (#31533, #29670)
- linter: respect the
--quiet
option when running with--fix
(#31403, #31401) - linter: correct lintFilePatterns documentation to show it's optional (#31744, #29648)
- linter: update lint executor to always log errors and stack traces (#31757, #21630)
- linter: refactor checking if the identifier is a function via tsquery (#31792)
- misc: add fallback for missing source root (#31759, #30638)
- misc: await load in config-utils.ts (#31408)
- misc: nx should error if atomization brings in invalid file paths (#31675)
- misc: improve the generation of storybook stories (#31893)
- module-federation: ensure manifest path not prepended with workspace root (#31698, #31524)
- module-federation: restore support for relative URLs in module federation remotes (#31723, #30615, #31538)
- module-federation: ensure react deps are eagerly loaded [#31612] (#31961, #31612)
- nextjs: use next/jest.js for Jest configuration to support modern JSX transform (#31705, #27900)
- node: ensure args are set in target correctly (#31758, #31578)
- node: improve error handling during cleanup in Node application tests (#31767)
- node: reorder addPlugin in normalizeOptions return object (#31785)
- node: preserve existing test target options (#31891)
- nuxt: fix TypeScript configuration chain for Nuxt components and composables (#31701, #30742)
- nx-dev: small adjustment to the blog post (bd898d3220)
- nx-dev: pinning logic on blog entry page (ebb1716a99)
- nx-dev: update sorting of pinned posts (d347d976ad)
- plugin: fix e2e-project generator when the e2e target is inferred (#31809)
- react: do not set styles.tailwind for executor options for projects not using inferred targets (#31667)
- react: add .js extensions to subpath imports in module federation templates (#31730, #31448)
- react: normalize paths correctly when generating stories (#31944)
- react: Ensure react-router e2e test are generated with the correct config (#31945)
- react-native: fix react native web configuration (#29608)
- react-native: app creation should sync deps (#31839)
- storybook: handle hyphenated framework names in pnpm dependency installation (#31760, #31292)
- testing: do not update component configuration in cypress
set-inject-document-domain
migration (#31614, #31610) - testing: correct Playwright grep documentation from glob to regex (#31743, #30181)
- testing: do not re-add vscode recommended extension for jest after initial jest setup (#31745, #29345)
- testing: prefer using tsconfig.spec.json when loading jest config in plugin (#31726, #31351)
- testing: unset
customConditions
when running theopen-cypress
inferred task (#31687, #31616) - testing: when we generate a random port we should start from 1024 (#31927)
- testing: update yarn integration tests for remix and enable previously skipped tests (#31933)
- vite: fix the build command for the deps in the vite tsconfig paths plugin (#31729, #31333)
- vite: resolve outDir path correctly for nested monorepos (#31741, #31234)
- vite: ensure path aliases are not replaced when building vite projects and using ts path mappings (#31747, #30814)
- vite: ensure vue-tsc is used for typecheck of vue projects (#31761, #31647)
- vite: bump @analogjs/vite-plugin-angular to 1.19.x (#31866)
- webpack: respect user config when applying node target [#30937] (#31700, #30937)
- webpack: use loadPaths instead of includePaths (#31946, #30340)
- webpack: ensure less and less-loader deps are ranges (#31958, #31953)
❤️ Thank You
- Benjamin Cabanes @bcabanes
- bkp-ttd
- Brandon Roberts @brandonroberts
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Iulian Marcu @iuliancmarcu
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jonathan Gelin @jogelin
- Julien Marcou
- Juri @juristr
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Miguel @mpsanchis
- Nicholas Cunningham @ndcunningham
- Tomáš Čarnecký @wereHamster
- Victor Savkin @vsavkin
- yarden-island