20.3.0 (2024-12-20)
🚀 Features
- angular: support ngrx v19 (#29398)
- core: support rollup.config.ts (#28240)
- core: use custom resolution to resolve from source local plugins with artifacts pointing to the outputs (#29222)
- core: add spinners when graph compute takes long time (#28966)
- core: not exit when one plugin installation failed (#28684)
- core: nx-plugin-checks accounts for outDir and rootDir of projects when checking file existence (#29391)
- core: add lib/** glob to workspaces so we support it out of the box (#29403)
- core: show progress on ci if graph construction takes longer than expected (#29392)
- eslint: rename eslint.config.js to eslint.config.cjs to resolve them as CommonJS (#29334)
- expo: upgrade Expo to v52 (#29142)
- js: update vue/node app and lib generators to support TS solutions (#29299)
- misc: handle artifact generators'
path
options including file extensions (#29111) - nx-dev: link more customer videos on enterprise page (7498e470fa)
- nx-plugin: added support for vitest test runner (#29140)
- release: allow automated git push from version or changelog step (#29280)
- rsbuild: add intial package (#29147)
- rsbuild: add inferred targets plugin (#29192)
- rsbuild: add rsbuild configuration generator (#29321)
- rsbuild: add react and vue support for app generation (#29349)
- rsbuild: move plugin export to root of package (#29415)
- storybook: use createNodesV2 for init and convert-to-inferred generators (#28092)
- testing: allow custom address for local registry (#29050)
- vite: add angular option to vitest generator (#29055)
🩹 Fixes
- typo in environment-variables.md (#29294)
- angular: handle removed angular-eslint rules in root eslint config files and update package (#29262)
- angular: normalize prerender and appShell options of the application executor correctly (#29281)
- angular: correctly normalize dev-server options (#29322)
- angular: add-localize-polyfill-to-targets fails if polyfills is a string (#29324)
- angular: normalize name when forced to build selector (#29417)
- angular: set up host and remote ssr apps correctly #29442 (#29447, #29442)
- bundling: ensure vitest timestamp files are ignored (#29418)
- core: add workspaces path if package path is not included (#28824)
- core: fix process being prevented from exiting (#29240)
- core: defer loading package manager until necessary (#29248)
- core: hashing fixes (#29247)
- core: Update bundlers to not typecheck if using new TS solution setup (#29227)
- core: ensure @nx/module-federation is listed in package group (#29292)
- core: ensure rsbuild is part of nx package group (#29310)
- core: avoid storing hash details for empty fileset (#29316)
- core: resolve imports from linked workspace projects (#29328)
- core: collect all logs from forked processes (#27778)
- core: Update move/remove workspace generators to work with ts project references (#29331)
- core: Adding react apps/libs to workspaces so they can be referenced. (#29202)
- core: make packageExports metadata optional field (#29407)
- core: graph spinners should update properly (#29433)
- core: update yarn-parser to handle yarn v4 syntax (#29067)
- gradle: cache gradle report (#29381)
- js: switch from fast-glob to tinyglobby (#29141)
- js: ensure typescript-sync generator produces formatted references when no prettier is installed (#29368)
- js: Configure typescript plugin to handle non-buildable libs (#29393)
- js: handle resolution from within node_module in the sync generator (#29412)
- misc: ensure
tsBuildInfoFile
is generated insideoutDir
(#29343) - misc: fix misc generation issues with the ts solution setup (#29350)
- module-federation: ensure @nx/module-federation package is installed for users (#29416)
- module-federation: dynamic federation helpers should normalize remote names (#29427)
- nuxt: change tsconfig path on server part (#28864)
- nx-dev: update Nx Cloud proj created (#29272)
- nx-dev: update hero image on blog post (#29405)
- react: add files entry for publishable libraries (#29277)
- react: assert test property is defined on webpack rule in nx-react-webpack-plugin (#27525)
- react: fix issues with react ts setup (#29312)
- react: fix tailwind for react library and component (#29319)
- react-native: default template fails when envs are not set (#28931)
- react-native: typescript lib schema (#27955)
- react-native: fix react native storybook for lib (#29210)
- release: use prepatch version for pre-release dependent package updates (#29123)
- release: make commits separator in git log command more unique (#29261)
- repo: cleanup old plugins promise (#29295)
- rsbuild: set publish config correctly (#29282)
- storybook: only install react deps for storybook 7 #29213 (#29231, #29213)
- storybook: ensure 'storybook' dep is installed for non-crystal workspaces (#29235)
- testing: force node10 module resolution for jest atomized tasks (#29421)
- ⚠️ vite: generate config with esm by default (#29270)
- vite: resolves files with dot suffixes correctly (#28518)
- webpack: Add useTsconfigPaths to app-webpack-plugin (#29291)
⚠️ Breaking Changes
- ⚠️ vite: generate config with esm by default (#29270)
❤️ Thank You
- Ben McCann @benmccann
- Chau Tran
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Dusty Greif @dgreif
- Emily Xiong @xiongemi
- Fábio Correia
- Gustavo Perdomo
- Jack Hsu @jaysoo
- Jacob Ley @JacobLey
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Juri @juristr
- Juri Strumpflohner @juristr
- Konstantin Kai
- Leosvel Pérez Espinosa @leosvelperez
- Maciej Stosio @maciekstosio
- master96
- Nicholas Cunningham @ndcunningham
- Nicolas Beaussart @beaussan
- Nigel Sirisomphone
- Petr Plenkov
- Phillip Barta @Phillip9587
- Samar Panda @samarpanda
- Sebastian Podgajny
- Stian Morsund
- Tine Kondo @tinesoft
- Yohann Valentin @yvalentin
- Younes Jaaidi @yjaaidi
- Zach Tindall @a88zach