18.1.0-beta.3 (2024-03-04)
🚀 Features
- angular: update jest-preset-angular version (#21776)
- angular: add the extract-i18n executor (#21802)
- angular: ensure all targets are generated for application and libraries (#21826)
- angular: support angular 17.2.0 (#21671)
- angular: force explicit targets when NX_ADD_PLUGINS is not explicitly true (#21852)
- angular: update jest-preset-angular dependency to 14.0.3 (#21912)
- bundling: bump rollup-plugin-typescript2 version (#20609)
- bundling: rollup should support ESM config files (#21999)
- bundling: crystalize rollup (#22045)
- core: move distribution to beginning of generated ci workflows (#21483)
- core: add migration to disable adding plugins automatically in existing workspaces (#21508)
- core: add log lines grouping for GH Actions (#21357)
- core: add fallback flow to nx init when no plugins are detected (#21538)
- core: improve the commented dte message on ci-workflows (#21524)
- core: add e2e to ci workflows (#21487)
- core: update swc/register (#21755)
- core: add option to disable log grouping on CI (#21782)
- core: remove leading arrow from output headlines (#21359)
- core: remove leading arrow from output headlines" (#21800)
- core: support migrating to canary versions of nx for testing (#21812)
- core: flatten default base config to base (#19964)
- core: execute plugins in isolated processes (#21760)
- core: provide a hint when project.json has empty targets (#22028)
- core: add gradle plugin (#21055)
- core: use flag in nx.json for toggling crystal (#21980)
- detox: upgrade @config-plugins/detox to 7 (#21959)
- expo: support cjs and mjs (#21408)
- linter: add option for @nx/dependency-checks to update workspace dependencies using local file paths (#20157)
- misc: log message in nx init when detecting plugins (#21932)
- nextjs: use global NX_GRAPH_CREATION in withNx plugin to guard against graph creation during create nodes (#22026)
- nuxt: export storybook generator (#21969)
- nx-dev: update launch conf timings (a0e4cf747d)
- nx-dev: update launch page link text (#21747)
- nx-dev: update website header components (#21833)
- react: add tailwind as style prompt option for app gen (#21784)
- release: prompt to create github release when no file changes (#21819)
- release: interpolate workspaceRoot in changelog path (#22058)
- remix: add playwright option for e2eTestRunner (#21603)
- remix: upgrade to latest remix 2.6.0 (#21843)
- testing: update cypress version (#21961)
- testing: add getJestProjectsAsync to support inferred targets (#21897)
- vite: add vitest.workspace.ts at root (#21915)
🩹 Fixes
- angular: handle indexHtmlTransformer option in dev-server correctly (#21520)
- angular: fix wrong trailing comma in mf bootstrap code generation (#21600)
- angular: support inferred cypress targets in setup-mf generator (#21619)
- angular: ajv hoisting issue (#21641)
- angular: resolve the index html transformer correctly for esbuild based build targets in dev-server (#21679)
- angular: generate app server module setup correctly in setup-ssr generator (#21702)
- angular: add missing forceEsbuild option to dev-server executor (#21753)
- angular: do not force explicit targets for separate e2e projects (#21865)
- angular: stop using npmScope as a prefix for component and directive selectors (#21828)
- angular: do not add target defaults for the ng-packagr-lite executor when generating non-buildable library (#21935)
- angular: ensure generated editor tsconfig in apps only include runtime files (#21945)
- core: handle negative patterns better when specified in pnpm-workspaces (#19983)
- core: module federation migration for project with no targets (#21536)
- core: remove the full workspace path with node_modules from the path env variable when running
run-scripts
(#21532) - core: do not watch temporary vite files (#21514)
- core: target defaults from specifier should not be clobbered by name based target defaults (#21539)
- core: fix missing nxCloud error message on ci workflows (#21564)
- core: handle spaces when launching nxFork (#21571)
- core: nx cloud prompt during migrate doesn't skip connection (#21588)
- core: pass the full resolved path of ts-node/esm when reloading the CLI (#21607)
- core: remove logic to reload process with esm loader for Node 18 (#21623)
- core: prevent target defaults from being discarded during merge process (#21624)
- core: add missing parts to ci workflws and update docs (ab76d6291a)
- core: temporary use forked portable_pty to inherit cursor position for windows (#21683)
- core: handle blocking stdin (#21672)
- core: remove implementation detail from warning (18efd62003)
- core: static run one lifecycle should always print dependent task status, and output when verbose (#21720)
- core: run migrations ordered by their target version (#21799)
- core: Update NxWelcome connect to cloud (#21830)
- core: propagate
verbose
flag when runninginit
generator dur… (#21868) - core: ensure migrate works with yarn PnP (#21824)
- core: align terminal output padding and remove leading arrow (#21809)
- core: read all targets from package json when defining target defaults (#21719)
- core: include nx/nuxt in migrations (#21885)
- core: do not use the new pty function for older versions of windows (#21854)
- core: normalize migration target versions when sorting migrations (#21967)
- core: target defaults application shouldn't include extra scripts (#21970)
- core: update generated README pages with more useful instructions (#21976)
- core: plugin pool should not clobber promises when called multiple times (#21977)
- core: plugins should not be registered twice and should respect shutdown queue (#22057)
- core: nextjs-standalone generates package scripts consistent with create-next-app (#21996)
- core: target defaults should represent nx.json in source info (#22080)
- devkit: respect expectComments when parsing json (#21584)
- expo: set port for e2e (#21559)
- graph: fix openen project details with expanded target from external api (#21548)
- graph: fix open project with / in name (#21722)
- js: package type is module should emit esm (#21473)
- js: babel preset should also check for JEST_WORKER_ID to transpile to CJS (#21754)
- js: nx release-version resolve-version-spec should normalize fetchSpec (#21710)
- js: swc executor should support inlining on windows (#21801)
- js: set moduleResolution to Node10 so it is compatible with CommonJS module (#21979)
- linter: remove reportUnusedDisableDirectives for flat config (#21405)
- linter: prevent dep-checks leaking when used outside nx (#21404)
- linter: adjust terminal run check for crystal (#21638)
- linter: fix eslint-plugin migration target version (#21966)
- misc: handle workspaces if no plugin selected in nx init and only generate files after prompts (#21606)
- misc: ensure swc transpiler process required files (#21674)
- misc: pin generated vite version to ~5.0.0 to avoid issues with storybook (#21740)
- misc: logs from rm-default-collection should render properly (#21953)
- misc: set nx property in root package.json when no replacing script in nx init (#21974)
- misc: migration should shutdown plugin workers if it starts them (#22048)
- misc: make sure to add e2e crystal plugin (#22041)
- misc: fix buildable libs utils calculating dependent projects from task graph (#22015)
- module-federation: map static remote locations correctly (#21709)
- nest: ensure dependencies are installed when generating nest libraries (#21534)
- nextjs: nextjs standalone playwright linting (#21555)
- nextjs: vite workspace libs (#21553)
- nextjs: move
next/constants
from top-level import to when it is needed (#21612) - nextjs: Enable next e2e test (#21625)
- nextjs: src package.json should not be copied to output folder (aa622bab5a)
- nextjs: Custom server should work with Crystal (#21736)
- nextjs: Svg should work when svgr is true in next config (#21761)
- nextjs: Add missing e2e-ci target for cypress (#21805)
- nextjs: Add spec files when creating a next app (#22079)
- node: Broken E2E tests (#21569)
- node: Increase timeout for CI (#22003)
- nuxt: init generator should add @nx/vite to dependencies (#21911)
- nuxt: turn on autoimport (#21894)
- nuxt: tsconfig types and output dir (#21934)
- nuxt: fix storybook preview config path (#22020)
- nuxt: Add e2e-ci and serve-static targets (#22056)
- nx-dev: typos on launch-nx website (#21552)
- nx-dev: redirect core-features page (#21616)
- nx-dev: launch page mobile experience (de676e207f)
- nx-dev: redirect on remote caching page (#21669)
- nx-dev: remove fence from new packages and "nx add" commands (#21705)
- nx-dev: add colors to ms logo (#21790)
- playwright: fix include in tsconfig.json (#21730)
- react: setup-ssr generator should not read the graph for a project that doesnt exist (#21522)
- react: extensions - vite e2e test (#21530)
- react: app generator should handle crystal workspaces (#21537)
- react: generate correctly when --js is used for module federation host/remote (#20119)
- react: full support custom secure host for module federation (#21777)
- react: ensure playwright configuration is using correct port in app gen (#21941)
- react-native: change gradlew to absolute path (#21725)
- react-native: add all flag to sync-deps (#21821)
- release: logging improvements (#21692)
- release: ensure
nx release publish --graph
only includes projects with target (#21726) - release: do not stop daemon in dry-run (#21743)
- release: skip prompt for publish when no version created (#21769)
- release: use --first-parent to support merged repos (#21686)
- release: move github release creation to git tasks (#21510)
- release: currentVersionResolver git-tag should prefer merged tags (#22082)
- release: skip lock file update if workspaces are not enabled (#22055)
- remix: do not rename root jest.preset.js (#21703)
- remix: should add remix plugin to nx.json on init correctly (#21827)
- remix: the output path should respect the remix.config.js in crystal (#21842)
- remix: adjust remix start script when building (#21883)
- remix: typo in tsconfig.spec.json update led to invalid tsconfig (#21886)
- remix: ensure component-testing is exported correctly #22091 (#22095, #22091)
- repo: update browser tools to fix ci (#21955)
- storybook: handle main.js file correctly in storybook plugin (#22081)
- testing: cleanup e2e atomization plugins (#21688)
- testing: increase the default timeout to 15s for the dev server to start (#21716)
- testing: ensure cypress closes the web dev server (#21759)
- testing: jest should handle root jest.preset.cjs (#21746)
- testing: fix cypress project targets does not exist (#21785)
- testing: pin cypress version to avoid issue with verifying cypress (#21917)
- testing: ensure baseUrl is not passed to playwright cli (#21943)
- testing: playwright plugin enoent error (#21951)
- testing: add null checks when reading targets (#21952)
- testing: calculate correct support file path in cypress e2e preset (#22096)
- testing: increase the default timeout to 60s for the cypress web dev server to start (#22132)
- vite: deep file resolution in nx-tsconfig-paths.plugin.ts (#21513)
- vite: import esbuild before loading config to keep it in cache (#21685)
- vite: normalize vitest cli args in executor (#21870)
- vite: project conversion generator (#21646)
- vite: update vitest and use parseCLI (#21890)
- vue: fixing vue and nuxt welcome templates (#21792)
- vue: tailwind generator ignoring styleSheet option (#21840)
- webpack: fix webpack plugin issues and e2e tests (#21531)
- webpack: require ForkTsCheckerWebpackPlugin only as required (#21629)
- webpack: resolve relative path for assets inputs (#21822)
- webpack: correctly handle paranthesis in PostCSS in url (#21884)
- webpack: surface original error when remotes fail to start (#21919)
❤️ Thank You
- Austin Fahsl @fahslaj
- Benjamin Cabanes @bcabanes
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Dan Roujinsky
- Edouard Bozon @edbzn
- Emily Xiong @xiongemi
- Ian Chadwick @ianchadwick
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jonathan Cammisuli
- Julian Martin
- Juri @juristr
- Juri Strumpflohner @juristr
- Katerina Skroumpelou @mandarini
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Miroslav Jonas @meeroslav
- Miroslav Jonaš @meeroslav
- Nicholas Cunningham @ndcunningham
- Nikita Barsukov @nsbarsukov
- Philip Fulcher
- Remco Krams
- Steven Nance @llwt
- Tine Kondo @tinesoft
- Vadim Goy
- Viktor Pöntinen
- Yu Zheng
- Zachary DeRose @ZackDeRose