19.4.0-beta.2 (2024-06-26)
🚀 Features
- angular: add helper function to devkit to add viewProviders to a component (#26526)
- core: allow defining target with only dependsOn (#26545)
- core: add lifecycle to record task history & retrieve via daemon (#26593)
- expo: add to project package.json for install command (#26500)
- gradle: support composite build (#25990)
- graph: add description and tags to details page (#26252)
- graph: add atomizer label to target groups (#26622)
- nextjs: add experimental-build-mode option to support compile only (#26465)
- nx-cloud: updates to the new onboarding flow (d928558bc)
- nx-cloud: unhide new onboarding flow (92be32c1a)
- release: allow disabling GitHub username matching in default changelog renderer (#26672)
- remix: add convert-to-inferred generator (#26601)
- storybook: add convert-to-inferred generator (#26595)
- testing: add convert-to-inferred migration generator for jest (#26259)
- vite: add convert-to-inferred migration generator (#26249)
- webpack: add createNodesV2 for plugin (#26588)
- webpack: add convertConfigToWebpackPlugin (#26516)
- webpack: add convert-to-inferred generator (#26621)
🩹 Fixes
- angular: fix chalk import and correctly skip invalid projects in ng-add generator (#26667)
- angular: allow usages of ecmascript decorators in ng-packagr executors (#26691)
- angular: migration of browserTarget to buildTarget should handle empty config #26681 (#26690, #26681)
- bundling: convert to inferred should handle config file (#26619)
- bundling: rename aliases for @nx/rollup:convert-to-inferred generator (#26659)
- bundling: use vite createNodes v2 for add plugin (#26662)
- bundling: register plugin correctly in rollup migration generator (#26673)
- core: merge args and options in nx:run-commands executor (#26573)
- core: repair sourcemaps that had file & plugin swapped (#26628)
- core: pick up changes to plugins configuration in daemon (#26625)
- core: isolated plugins should provide cleanup function (#26657)
- core: expand env variables on load and unload (#26459)
- core: move plugin worker to socket (#26558)
- core: do not create projects twice from package.json (#26700)
- expo: fix expo start windows (#26493)
- graph: improve layout when target groups are empty or there are no groups (#26555)
- graph: fix search params reload when back to graph (#26580)
- linter: ensure that @nx/eslint-plugin is installed when we add an extracted base eslintrc file (#26679)
- linter: handle eslint flat config path correctly in lint executor (#26687)
- misc: rename @nrwl/* to @nx/* in init generator descriptions (#26610)
- misc: register plugins correctly in migration generators (#26670)
- module-federation: module-federation-dev-server hang caused by child process exiting too early (#26684, #26685)
- module-federation: dynamic remotes external to workspace should be skipped correctly #26551 (#26692, #26551)
- nest: Add missing props (#26534)
- nx-dev: allow linking to headers that are
code
wrapped (#26608) - release: skip dependents of projects without changes in conventional commits (#26671)
- remix: don't add @remix-run/eslint-config dependency to new remix apps (#26568)
- storybook: output should match CLI flag (#26652)
- testing: handle different jest config files in configurations when migrating to inferred (#26591)
- testing: accept a numeric value for the playwright executor's workers option (#26689)
- vite: nxViteTsPaths plugin should not run-many for vitest (#26574)
- vite: setup-paths-plugin should only register import once (#26678)
- vite: incremental builds tmp tsconfig should have baseUrl set to workspace root (#26680)
- webpack: handle nullable plugin options (#26624)
- webpack: skip useLegacyNxPlugin during graph creation (#26626)
- webpack: add comment to explain useLegacyNxPlugin and how to remove it (#26696)
❤️ Thank You
- Caleb Ukle
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- dfr-exnaton @dfr-exnaton
- Emily Xiong @xiongemi
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Josh Kim @jooskim
- Katerina Skroumpelou
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Nicholas Cunningham @ndcunningham
- Pavlo Grosse @Olster
- Thomas Dekiere