19.0.0 (2024-05-06)
🚀 Features
- bundling: upgrade rollup to v4 (#22656)
- core: load native files from tmp location instead of node_modules (#22648)
- core: add root level forwardAllArgs (#22753)
- core: add API entrypoint to register metadata (#22773)
- core: validate that outputs is an array of strings (#22371)
- core: cleanup for v19 (#22993)
- gradle: add ci-workflow generator (#23125)
- graph: add loading spinner on project details (#23023)
- graph: add target groups and technology icon (#22839)
- graph: show partial project graph & errors in graph app (#22838)
- graph: enable watch mode by default (#23092)
- graph: show tooltips that were previously hidden due to upublished docs (#23099)
- graph: log errors in console in graph watch mode (#23136)
- js: add swc cli options --strip-leading-paths (#22856)
- linter: add convert-to-inferred migration generator (#23142)
- misc: v19 cleanup for Nx plugins (#23104)
- nextjs: Add https option for custom server (#22921)
- nx-dev: new main navigation menu (#22829)
- nx-dev: disable banner on home page (#22992)
- nx-dev: add nx blog (#22828)
- nx-dev: add ui-enterprise library (#23086)
- react: support react 18.3.1 (#23166)
- react-native: upgrade react native to 0.72.6 (#22729)
- repo: split e2e tests (#22927)
- testing: make playwright default e2e test runner option (#22511)
- testing: add playwright generator to convert from executors to plugin (#22784)
- testing: add convert-to-inferred migration generator for cypress (#22884)
- webpack: change plugin import paths to speed up config loading (#23021)
🩹 Fixes
- angular: fix loading postcss configuration in ng-packagr executors (#22900)
- angular: ensure buildable libraries in-process tsconfig file extends from the correct path (#23165)
- bundling: handle circular dependencies in @nx/esbuild getExtraDependencies (#22644)
- core: repair sourcemap creation in createNodes (#22851)
- core: load config util supports absolute paths on windows (#22837)
- core: keep plugin workers until main process shutdown (#22860)
- core: handle schema validation errors running commands directly (#22864)
- core: forward args provided to the nx add command to the invoked init generator (#22855)
- core: fix hashing of external dependencies (#22865)
- core: group command exit listeners to avoid warning (#22892)
- core: handle plugin errors from isolation correctly (#22890)
- core: disable pty on windows until stable (#22910)
- core: fix cursor being hidden and process shutdown for ctrl c (#22895)
- core: different commands should not be considered compatible targets (#22863)
- core: fix pnpm install order on ci workflows (#22580)
- core: workspace context glob respects exclude (#22939)
- core: handle events that do not have paths (#22947)
- core: fix exclude for empty array (#22951)
- core: move a few api points to return root maps directly (#22949)
- core: regression register ts transpiler for local plugin (#22964)
- core: handle created directories when watching on linux (#22980)
- core: ensure create nodes functions are properly parallelized (#23005)
- core: nxComponentTestingPreset should not expose bundler option (#23009)
- core: ensure include and excluded return from plugin worker (#23032)
- core: read nx.json in the DaemonClient constructor instead of the module (#23033)
- core: recommend nx reset when graph errors and print error in da… (#23014)
- core: affect all projects when nx.json is touched (#23036)
- core: improve performance of pnpm lock file parsing (#23017)
- core: prevent device status report from being printed during pty execution (#23039)
- core: ensure daemon socket dir exists when specified in env (#23071)
- core: do not forward --updatePackageScripts flag to init generators that are not from nx core plugins (#23064)
- core: local plugins should be able to use {projectRoot} in options block (#23068)
- core: add import for
performance
to increase compatibility (#23109) - core: align padding for output with failed tasks (#23119)
- core: ensure project with name undefined is not created (#23097)
- core: catch workspace validity check errors (#23138)
- core: remove obsolete git track from ci generators (#23134)
- core: projectName should not be interpolated as undefined (#23145)
- core: forward process execArgv when using the native runner (#23195)
- core: ensure setting up nx cloud in nx migrate using the generator from the installed latest version (#23194)
- devkit: run callback for forEachProjectConfig when target.options is undefined (#23143)
- devkit: executor-to-plugin-migrator should add // targets hint (#23167)
- devkit: check if includes is actually necessary (#23181)
- gradle: change gradle command to be relative path (#22963)
- gradle: should skip println in project report (#22862)
- gradle: get gradlew path with projectRoot joins workspaceRoot (#22988)
- gradle: fix gradlew exec path for root project (#23094)
- gradle: fix gradle not working for spring (#23130)
- gradle: add namedInputs to nx.json in gradle init (#23152)
- gradle: fix gradle github ci workflow (#23154)
- graph: don't listen to system theme changes in console (#22938)
- graph: use class sticky for sticky header (#23082)
- graph: remove dangling - and move button when PDV is rendered in console (#23144)
- graph: remove redux and useState and useContext hook (#23085)
- graph: add grayscale to technology icon (#23107)
- js: ignore yarn corepack check when updating config (#23043)
- js: typescript plugin target hashing (#23073)
- js: Correct file path for cjs.js (#23081)
- js: copy assets handler should handle ignore globs on windows (#23065)
- linter: do not infer lint tasks for projects without files to lint (#22944)
- linter: add {options.outputFile} to outputs for inferred targets (#23173)
- misc: add --verbose support to nx graph (#22889)
- misc: mark migration for escaping env vars as skipped in nx repair (#22916)
- misc: don't clear node_modules require cache (#22907)
- misc: fix cypress option in workspace preset generator (#22975)
- misc: fix publish script (#22981)
- misc: perf logging shouldn't be enabled twice (#23012)
- misc: propogate NX_PERF_LOGGING to plugin workers (#23016)
- misc: dot nx setup shouldn't include target defaults (#23180)
- misc: make generated ci workflow work without nx-cloud (#23199)
- nextjs: Boolean flags do not need a value (#23072)
- node: e2e target fails out of the box (#22987)
- nx-cloud: ensure root .env files are loaded during dte (#22859)
- nx-dev: header styles fix (#23122)
- nx-dev: fix project details in nx dev (#23175)
- react: disable tty for next build (#23013)
- remix: pin testing-library/jest-dom to compatible version (#23161)
- remix: use remix-serve for static-serve (#23164)
- remix: ensure default meta tags are always present for generated applications #23037 (#23169, #23037)
- repo: downgrade to macos-13 in publish workflow (#22961)
- repo: should ensure that unit tests are run correctly across package managers (#22978)
- repo: fix pnpm version on freebsd (#23045)
- repo: set version of pnpm for docker publishes (#23129)
- storybook: handle inherited config correctly when identifying the framework used for inferred tasks (#22953)
- storybook: allow overriding default inferred task names in storybook plugin (#23030)
- storybook: do not infer a test-storybook task if @storybook/test-runner is not installed (#23034)
- testing: fix jest ci target names (#22858)
- testing: bust require cache in jest plugin so configs reload (#22893)
- testing: fix test files pattern for jest inferred split tasks (#23025)
- testing: convert-to-inferred generator should handle legacy cypress executor (#23151)
- testing: convert-to-inferred generators should add includes only when needed (#23159)
- testing: convert-to-inferred for cypress should handle nxE2EPreset with no options object (#23171)
- vue: do not add verbatimImportSyntax to tsconfig (#22905)
- webpack: should correctly normalize paths in NxWebpackPlugin (#23003)
❤️ Thank You
- Benjamin Cabanes @bcabanes
- Chabbey François
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Denis Bendrikov
- Emily Xiong @xiongemi
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jonathan Cammisuli
- Kyle Cannon @kylecannon
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Michal Jez @MJez29
- Miroslav Jonaš @meeroslav
- Nicholas Cunningham @ndcunningham
- Richard Roozenboom @Roozenboom