refactor(build): migrate Nx executors to vanilla CLI targets#4455
refactor(build): migrate Nx executors to vanilla CLI targets#4455ScriptedAlchemy wants to merge 36 commits intomainfrom
Conversation
|
Cursor Agent can help with this pull request. Just |
🦋 Changeset detectedLatest commit: d99aeb3 The changes in this PR will be included in the next version bump. This PR includes changesets to release 43 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
✅ Deploy Preview for module-federation-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
@module-federation/devtools
@module-federation/cli
create-module-federation
@module-federation/data-prefetch
@module-federation/dts-plugin
@module-federation/enhanced
@module-federation/error-codes
@module-federation/managers
@module-federation/manifest
@module-federation/metro
@module-federation/metro-plugin-rnc-cli
@module-federation/metro-plugin-rnef
@module-federation/modern-js-v3
@module-federation/retry-plugin
@module-federation/rsbuild-plugin
@module-federation/rspack
@module-federation/rspress-plugin
@module-federation/runtime
@module-federation/runtime-core
@module-federation/runtime-tools
@module-federation/sdk
@module-federation/third-party-dts-extractor
@module-federation/treeshake-frontend
@module-federation/treeshake-server
@module-federation/webpack-bundler-runtime
@module-federation/bridge-react
@module-federation/bridge-react-webpack-plugin
@module-federation/bridge-shared
@module-federation/bridge-vue3
@module-federation/inject-external-runtime-core-plugin
commit: |
Bundle Size Report1 package(s) changed, 40 unchanged.
Total dist: 6.89 MB (+462 B (+0.0%)) |
There was a problem hiding this comment.
Pull request overview
Migrates multiple Nx applications away from @nx/webpack executors to nx:run-commands that invoke webpack-cli directly, while also improving e2e diagnostics/readiness (Cypress browser log capture + more robust wait-on targets for manifest e2e).
Changes:
- Replace
@nx/webpack:*/@nx/react:module-federation-dev-servertargets withnx:run-commandscommands that callwebpack-cli/webpack-cli serve. - Convert several Nx-composed webpack configs to standalone “vanilla” webpack configs (SWC, CSS handling, HtmlWebpackPlugin, devServer, etc.).
- Add Cypress browser error/log capture utility and wire it into multiple Cypress support entrypoints; strengthen manifest e2e “wait-on” coverage.
Reviewed changes
Copilot reviewed 49 out of 49 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/testing/cypress/browser-error-logging.ts | New Cypress helper to capture browser console/errors/fetch failures and print them on test failure. |
| tools/scripts/run-manifest-e2e.mjs | Expands wait-on targets to include additional ports and HTTP checks for manifest scenario readiness. |
| packages/retry-plugin/src/index.ts | Adds an explicit (but broad) type annotation for loadEntryError destructured args. |
| package.json | Adjusts runtime demo dev script to run serve in development configuration. |
| nx.json | Removes targetDefaults block specific to @nx/webpack:webpack. |
| apps/shared-tree-shaking/with-server/host/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/shared-tree-shaking/no-server/host/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/runtime-demo/3007-runtime-remote/webpack.config.js | Replaces Nx plugin composition with standalone webpack config. |
| apps/runtime-demo/3007-runtime-remote/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/runtime-demo/3006-runtime-remote/webpack.config.js | Replaces Nx plugin composition with standalone webpack config. |
| apps/runtime-demo/3006-runtime-remote/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/runtime-demo/3005-runtime-host/webpack.config.js | Replaces Nx plugin composition with standalone webpack config. |
| apps/runtime-demo/3005-runtime-host/project.json | Switches build/serve targets to nx:run-commands; improves e2e orchestration with wait-on. |
| apps/runtime-demo/3005-runtime-host/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/router-demo/router-host-2000/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/reactStorybook/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/reactRemoteUI/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/react-ts-remote/project.json | Switches webpack build/serve targets to nx:run-commands calling webpack-cli. |
| apps/react-ts-nested-remote/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/react-ts-host/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/node-remote/webpack.config.js | Replaces Nx plugin composition with standalone webpack config (node externals + SWC). |
| apps/node-remote/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/node-local-remote/webpack.config.js | Replaces Nx plugin composition with standalone webpack config (node externals + SWC). |
| apps/node-local-remote/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/node-host/webpack.config.js | Replaces Nx plugin composition with standalone webpack config (node externals). |
| apps/node-host/project.json | Switches build target to nx:run-commands calling webpack-cli. |
| apps/node-dynamic-remote/webpack.config.js | Replaces Nx plugin composition with standalone webpack config (node externals + SWC). |
| apps/node-dynamic-remote/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/node-dynamic-remote-new-version/webpack.config.js | Replaces Nx plugin composition with standalone webpack config (node externals + SWC). |
| apps/node-dynamic-remote-new-version/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/next-app-router/next-app-router-4001/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/next-app-router/next-app-router-4000/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/modernjs-ssr/host/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/modernjs-ssr/dynamic-nested-remote/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/modern-component-data-fetch/host/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/manifest-demo/webpack-host/webpack.config.js | Replaces Nx plugin composition with standalone webpack config. |
| apps/manifest-demo/webpack-host/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli; improves e2e orchestration with wait-on. |
| apps/manifest-demo/webpack-host/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/manifest-demo/3012-rspack-js-entry-provider/project.json | Updates rspack serve options (adds host). |
| apps/manifest-demo/3011-rspack-manifest-provider/project.json | Updates rspack serve options (adds host). |
| apps/manifest-demo/3010-rspack-provider/project.json | Updates rspack serve options (adds host). |
| apps/manifest-demo/3009-webpack-provider/webpack.config.js | Replaces Nx plugin composition with standalone webpack config. |
| apps/manifest-demo/3009-webpack-provider/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/docs-ui/project.json | Switches build target to nx:run-commands calling webpack-cli. |
| apps/bundle-size/project.json | Switches build/serve targets to nx:run-commands calling webpack-cli. |
| apps/bundle-size/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/3002-checkout/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/3001-shop/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
| apps/3000-home/cypress/support/e2e.ts | Imports shared Cypress browser error logging helper. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 949608680f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 100 out of 101 changed files in this pull request and generated 3 comments.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 101 out of 102 changed files in this pull request and generated 2 comments.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
This PR is the final consolidated branch for migrating Nx webpack/rspack executors to vanilla CLI-based executors.
Included stacked PRs:
cursor/nx-vanilla-executors-2928)cursor/ci-failures-investigation-b06f)Scope in this PR:
@nx/webpack:*and@nx/rspack:*targets withnx:run-commands+webpack-cli/rspackcommands.wait-on, readiness checks, startup sequencing).Related Issue
N/A
Types of changes
Checklist
main.