-
-
Notifications
You must be signed in to change notification settings - Fork 373
feat(nextjs-mf): RSC Support #3736
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ScriptedAlchemy
wants to merge
254
commits into
main
Choose a base branch
from
share-filter
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
254 commits
Select commit
Hold shift + click to select a range
4b86d21
feat(enhanced): add filter test
ScriptedAlchemy da1e026
chore: restore tests
ScriptedAlchemy c05e7a2
chore: restore tests
ScriptedAlchemy 5d78f3c
chore: restore tests
ScriptedAlchemy c46c487
fix(enhanced): update share plugin schema
ScriptedAlchemy 8a95e75
feat(enhanced): exclude shares by semver (#3744)
ScriptedAlchemy 05e7742
chore: remove log in test
ScriptedAlchemy 1483170
docs: add sharing documentation
ScriptedAlchemy bb72311
docs: add tests back
ScriptedAlchemy 999f868
test: add consume share plugin compiler tests
ScriptedAlchemy 60a019b
test: add consume share plugin compiler tests
ScriptedAlchemy 44af541
test: add consume share plugin compiler tests
ScriptedAlchemy 4db8201
test: add comprehensive tests for ConsumeSharedPlugin with layer hand…
ScriptedAlchemy c49095f
chore: locks
ScriptedAlchemy 696bfe7
fix: update tests for provide shared
ScriptedAlchemy 7ff42d4
chore: lint
ScriptedAlchemy cce9d94
feat: add singleton validation warnings for include/exclude
ScriptedAlchemy 3b364a2
chore: remove implicit dep
ScriptedAlchemy 1de2ad0
chore: changeset
ScriptedAlchemy 76b85eb
chore: nx mcp
ScriptedAlchemy 804cfb5
chore(3001-shop): sync project.json serve parallel and e2e logic
ScriptedAlchemy a47bfc2
chore: locks
ScriptedAlchemy 4d933c0
chore: locks
ScriptedAlchemy b66d3aa
chore: add missing next deps
ScriptedAlchemy a6d71e1
chore: update cmd syntax exit
ScriptedAlchemy 8835584
chore: update cmd syntax exit
ScriptedAlchemy c0b01e5
chore: update cmd syntax exit
ScriptedAlchemy 404426b
chore: update cmd syntax exit
ScriptedAlchemy c932295
chore: update cmd syntax exit
ScriptedAlchemy 17aef77
chore: update cmd syntax exit
ScriptedAlchemy 258935a
chore: refactor E2E testing workflow to separate tests for each app a…
ScriptedAlchemy 7718566
test: update ProvideSharedPlugin and SharePlugin tests to verify node…
ScriptedAlchemy ba50f5c
chore: update Nx version to 21.0.3 and change package manager to pnpm…
ScriptedAlchemy d193f05
feat: integrate Module Federation core sharing plugin updates
ScriptedAlchemy bdaeed5
feat: complete incremental Module Federation ProvideSharedPlugin updates
ScriptedAlchemy 8bb126b
feat(enhanced): add nodeModulesReconstructedLookup support
ScriptedAlchemy ccc0c62
feat(enhanced): remove complex singleton warnings from factorize hook
ScriptedAlchemy 62a9c70
docs: refresh mermaid diagrams and remove sections
ScriptedAlchemy 083ed5d
docs: remove Advanced Patterns & Use Cases section
ScriptedAlchemy a5fb4f9
fix: resolve Mermaid sequence diagram CSP participant activation/deac…
ScriptedAlchemy 603163e
chore: no build cache nx in ci
ScriptedAlchemy 1834da1
chore: ci
ScriptedAlchemy 7ddb260
feat(enhanced): update hook system for container dependency management
ScriptedAlchemy 1d3136f
feat(nextjs-mf): complete migration from app-router-share-filter to s…
ScriptedAlchemy 47cc279
fix(enhanced): add CI stability improvements to jest configurations
ScriptedAlchemy 4eba234
fix(enhanced): resolve jest maxWorkers validation error
ScriptedAlchemy 9459edc
fix(enhanced): restore jest configurations to original state
ScriptedAlchemy 557161f
feat(nextjs-mf): rewrite outdated tests with proper mocks
ScriptedAlchemy 99ba2fb
fix(nextjs-mf): simplify tests to eliminate interference issues
ScriptedAlchemy cdc5cbc
feat: update e2e scripts to test all three Next.js apps (home, shop, …
ScriptedAlchemy 76e2a5a
feat: add individual e2e test scripts for Next.js apps
ScriptedAlchemy 4040ebc
feat: incremental merge of share-filter branch changes (#3879)
ScriptedAlchemy 206803c
chore: remove rslib
ScriptedAlchemy 6f4e94c
chore: remove rslib
ScriptedAlchemy 23c0946
feat(nextjs-mf): increment 1 - migrate enhanced test file from app-ro…
ScriptedAlchemy afe145c
fix(nextjs-mf): fix failing internal tests by mocking Next.js version
ScriptedAlchemy a7d1967
chore: restore rslib module app
ScriptedAlchemy 28855ae
feat: sync all Next.js versions to 15.3.3 and enable remote components
ScriptedAlchemy 979627a
fix: resolve React 19 TypeScript compatibility in chrome-devtools
ScriptedAlchemy 24eb6fa
fix(managers): update snapshot for React 19 compatibility
ScriptedAlchemy 342a4a5
fix: resolve React version conflicts in Next.js apps
ScriptedAlchemy 8a295a6
fix: add safety checks for webpack startup functions
ScriptedAlchemy 4d56e65
chore: lock file
ScriptedAlchemy 7240626
fix: update SharedManager snapshot for React 19.1.0
ScriptedAlchemy 1f4f4ed
fix(data-prefetch): react 19 compatibility fixes
ScriptedAlchemy 22769e6
fix(data-prefetch): update pnpm lockfile after react 19 upgrade
ScriptedAlchemy b8dc9aa
fix(bridge-react): react 19 compatibility for tests
ScriptedAlchemy 95a8971
fix(bridge-react): update tests to handle React 19 async rendering
ScriptedAlchemy 5e0d942
feat: merge increment A - CI/CD and development infrastructure
ScriptedAlchemy 9663c04
chore: update pnpm lockfile after increment A package.json changes
ScriptedAlchemy f746503
feat: merge increment B - documentation and changesets
ScriptedAlchemy 370a51d
feat: merge increment C - core package dependencies
ScriptedAlchemy 365c417
feat: merge increment D - enhanced library core changes
ScriptedAlchemy 2ed32a5
fix: resolve React 19 TypeScript compatibility in modernjs package
ScriptedAlchemy a728a83
fix(nextjs-mf): resolve test failure by mocking getNextVersion for Ne…
ScriptedAlchemy f7bb479
feat: merge increment E - bridge and data prefetch updates
ScriptedAlchemy 77ce6e9
fix: update React dependencies to v19.0.0 across packages
ScriptedAlchemy b68f28d
fix: update React dependencies to v19.0.0 across packages
ScriptedAlchemy a9a56f1
fix: use pnpm overrides for React 19 instead of individual package edits
ScriptedAlchemy 0e86813
fix: update packages to React 19 individually instead of global overr…
ScriptedAlchemy 882c6b3
fix: resolve React 19 compatibility issues in bridge-react
ScriptedAlchemy 99bddbb
fix: remove accidental __mocks__ files causing CI format failure
ScriptedAlchemy 308e215
fix(bridge-react): resolve React 19 testing warnings and race conditions
ScriptedAlchemy b59c12a
feat(next-app-router-4000): merge enhanced layer support for Next.js …
ScriptedAlchemy 37a6856
feat(next-app-router-4001): merge enhanced layer support for Next.js …
ScriptedAlchemy 36c3695
feat(runtime-core,node): merge enhanced layer support for runtime and…
ScriptedAlchemy f908262
feat: complete enhanced layer support integration and add .node file …
ScriptedAlchemy 60881ad
fix: restore missing files from app-router-share-filter and remove te…
ScriptedAlchemy cdf7687
fix: clean up remaining file differences and update dependencies
ScriptedAlchemy 865234a
fix(3001-shop,3002-checkout): restore workspace dependencies
ScriptedAlchemy 2b86e37
fix(nextjs-mf): correct path to next-flight-loader
ScriptedAlchemy ee57400
chore: lock file
ScriptedAlchemy 1cf289b
chore: fix sh
ScriptedAlchemy 255ccef
fix(3000-home,3002-checkout): restore e2e configurations from working…
ScriptedAlchemy 6025938
feat: restore old CI infrastructure for Next.js e2e tests
ScriptedAlchemy 9660670
App router share filter (#3745)
ScriptedAlchemy af303e9
test: trigger CI workflow (#3890)
ScriptedAlchemy 61f403e
Potential fix for code scanning alert no. 132: Workflow does not cont…
ScriptedAlchemy 6d0fc9d
Share flalback (#3893)
ScriptedAlchemy ab26ac3
docs: add incremental PR plan for breaking up enhanced package changes
ScriptedAlchemy accdf48
docs: add incremental PR plan for breaking up enhanced package changes
ScriptedAlchemy 4ae5c4c
fix: include request warning logs in ProvideSharedPlugin (#3906)
adit-shah-devrev d1610dc
chore: fix conflicts
ScriptedAlchemy 8b0b051
fix: resolve 500 Internal Server Error in 3002-checkout app
ScriptedAlchemy dd7fb40
chore: fix conflicts
ScriptedAlchemy 09cd8fb
test: update error message expectations for loadShareSync
ScriptedAlchemy 6ede202
feat: incremental merge of share-filter branch changes (#3879)
ScriptedAlchemy 89f3447
Apply suggested changes
ScriptedAlchemy 9829c09
chore: fix package conflicts
ScriptedAlchemy c077c59
chore: fix package conflicts
ScriptedAlchemy 9b23498
feat(enhanced): implement layer-aware module sharing with comprehensi…
ScriptedAlchemy 5de4fb3
fix: resolve merge conflicts in ProvideSharedPlugin.ts
ScriptedAlchemy 7b6feba
fix: resolve remaining merge conflicts
ScriptedAlchemy 5b862ca
fix: resolve merge conflict in data-prefetch react test
ScriptedAlchemy c7b1633
fix(enhanced): resolve TypeScript errors in ConsumeSharedPlugin
ScriptedAlchemy ea3ac9e
Apply suggested changes
ScriptedAlchemy 5a758ee
Apply suggested changes
ScriptedAlchemy 36005a7
Apply suggested changes
ScriptedAlchemy be4d9a8
fix(enhanced): resolve TypeScript errors in ProvideSharedPlugin
ScriptedAlchemy fef9e58
Apply suggested changes
ScriptedAlchemy cf1e7b1
fix(enhanced): resolve test failures and import issues
ScriptedAlchemy 1b2ba8c
chore: trigger CI run to verify test fixes
ScriptedAlchemy ca3daf6
fix(bridge-react): resolve React 19 compatibility in legacy provider
ScriptedAlchemy b84d26c
fix(bridge-react): remove unused TypeScript ignore directives
ScriptedAlchemy 280f933
fix(modernjs): disable syntax checking to allow ES6 dynamic imports
ScriptedAlchemy d234bc5
fix(rsbuild-plugin): set output.emitAssets as true (#3996)
2heal1 414c3c1
fix(runtime-core): set shared loaded status true after calling loadSh…
2heal1 50750c3
chore: bump axios to resolve vulnerabilities in form-data dependency …
DanielChutkowskiJMMJ 808879d
fix(rsbuild-plugin): invalid type field (#4002)
2heal1 4fa1b8b
chore: release v0.18.2 (#4003)
2heal1 e646704
feat: support env vars to add cors when use serve command (#4005)
zllkjc 8dcaba9
chore: v0.18.3 (#4007)
KyrieLii 38b96fc
chore: use only default share scope
ScriptedAlchemy aab5c25
chore: use only default share scope
ScriptedAlchemy 1b804df
chore: locks
ScriptedAlchemy 5d4cd6d
refactor(enhanced): simplify consume factorize; rename option; refine…
ScriptedAlchemy 42a9b47
feat(enhanced): add alias-aware consume matching via resolverFactory;…
ScriptedAlchemy 5a67bc8
feat(enhanced): alias-aware share-key derivation
ScriptedAlchemy 667a941
chore: debugging
ScriptedAlchemy ad9b72e
Revert "chore: debugging"
ScriptedAlchemy 2bf170b
Revert "feat(enhanced): alias-aware share-key derivation"
ScriptedAlchemy 4c8ab16
Revert "feat(enhanced): add alias-aware consume matching via resolver…
ScriptedAlchemy 2ec299f
feat(enhanced): add alias-aware providing and consuming for shared mo…
ScriptedAlchemy baf0d9d
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy c0810a2
Delete opencode.json
ScriptedAlchemy 097e612
test: add missing aliased target stub for share-with-aliases-provide-…
ScriptedAlchemy 7e502bf
Apply suggested changes
ScriptedAlchemy f76b386
ci: trigger build
ScriptedAlchemy 7c86fb0
test(enhanced): force sync startup in alias-sharing cases so harness …
ScriptedAlchemy 27e09a9
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy f15e761
chore: remove unused aliasResolver.ts file
ScriptedAlchemy e29ec0f
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy 48d4dfd
Delete prompts/alias-resolver.md
ScriptedAlchemy 1c7ead0
refactor(enhanced): resolve alias-aware consumes in afterResolve with…
ScriptedAlchemy c701d85
test(enhanced): mock afterResolve hook in NMF tests
ScriptedAlchemy 180e9bf
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy 116e775
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy 095f6aa
fix(enhanced): alias-aware ConsumeSharedPlugin + data URI guard
ScriptedAlchemy 953b8ab
chore: patch
ScriptedAlchemy b652049
Merge remote-tracking branch 'origin/main' into share-filter
ScriptedAlchemy 42f090d
chore: x
ScriptedAlchemy 341e045
ci(core): enable tag push and npm publish in release workflow
ScriptedAlchemy 5f44b8a
chore: x
ScriptedAlchemy 038ebe8
ci(core): refine release workflow (npm auth, registry, branch fetch)
ScriptedAlchemy 5e0d7e6
chore(core): merge origin/main into gpt-alias-resolver-refactor (theirs)
ScriptedAlchemy 83993f8
fix(enhanced): guard missing hooks in tests (afterResolve, finishModu…
ScriptedAlchemy d897b6f
Merge remote-tracking branch 'origin/main' into feat/share-resolver
ScriptedAlchemy 0522c50
Merge branch 'feat/share-resolver' of github.com:module-federation/co…
ScriptedAlchemy 78f91a0
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy 72211ab
refactor: always register finishModules hook
ScriptedAlchemy d4be790
chore(module-federation): restore release workflow from main
ScriptedAlchemy 65812e4
test(enhanced): mock finishModules hook for ConsumeSharedPlugin.facto…
ScriptedAlchemy b5ccfd0
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy 4a6beb0
feat(enhanced): add experiments.aliasConsumption flag; remove env toggle
ScriptedAlchemy 2ffdce1
Merge branch 'main' into share-filter
ScriptedAlchemy cedb4da
fix(manifest-demo): share only 'react' and 'react-dom' (remove subpat…
ScriptedAlchemy 3f8e68c
chore: remove local worktrees/other and ignore worktrees/
ScriptedAlchemy 3bc3c05
fix(3009-webpack-provider): avoid named React imports under shared co…
ScriptedAlchemy 9f2a2fa
fix(3010-rspack-provider): use default React import and React.StrictM…
ScriptedAlchemy df052b1
fix(manifest-webpack-host): prefer default React import and React.* A…
ScriptedAlchemy 659fc9c
Delete packages/enhanced/.ci-trigger
ScriptedAlchemy d6c192b
fix(modernjs): remove 'react/' and 'react-dom/' subpath shares; share…
ScriptedAlchemy 8d40399
chore(bridge-react): align dev React and @types to 18.x to match work…
ScriptedAlchemy 2fa34a4
chore: cleanup next apps and remove example
ScriptedAlchemy 321f6f1
chore: align bridge packages with main
ScriptedAlchemy d8199ba
Delete .cursorrules
ScriptedAlchemy b5a9bba
fix(manifest demos): share React JSX runtimes as singletons across ho…
ScriptedAlchemy 5b7b223
chore(manifest-webpack-host): lazy-load modern-js-provider component …
ScriptedAlchemy ce627b1
refactor(manifest-host): revert Suspense/lazy around ModernJS remote …
ScriptedAlchemy 73057ca
style(format): prettier write manifest demo configs to satisfy format…
ScriptedAlchemy e413337
fix(module-federation): align manifest demo react 19 singleton
ScriptedAlchemy 361af3c
Merge remote-tracking branch 'origin/main' into share-filter
ScriptedAlchemy 1f621ea
chore(module-federation): revert manifest demo react upgrade
ScriptedAlchemy a5da103
fix(module-federation): restore manifest react18 share configs
ScriptedAlchemy 27604c4
chore(webpack-bundler-runtime): switch rollup compiler to tsc
ScriptedAlchemy 2e0009b
fix(manifest): enforce react18 sharing and add e2e script
ScriptedAlchemy 65a9725
Merge remote-tracking branch 'origin/gpt-alias-resolver-refactor' int…
ScriptedAlchemy 0e76c31
test(enhanced): remove invalid sharing cases lacking webpack.config.j…
ScriptedAlchemy 5055669
fix(enhanced): align experiments type with schema
ScriptedAlchemy e49134a
refactor(enhanced): use SharePluginOptions['experiments'] inline
ScriptedAlchemy 3a8efa8
refactor(enhanced): remove union cast for experiments
ScriptedAlchemy 05c3dbf
chore(enhanced): unignore configCases node_modules
ScriptedAlchemy 4c4c349
test(enhanced): add aliasConsumption + filters ConfigCase and unit tests
ScriptedAlchemy 8a8db73
test(enhanced): add singleton+version warning case for aliasConsumption
ScriptedAlchemy 2f65415
chore(enhanced): regenerate schemas; simplify SharePlugin options wiring
ScriptedAlchemy c7a0d1d
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy 8c4a777
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy 8678110
Merge remote-tracking branch 'origin/gpt-alias-resolver-refactor' int…
ScriptedAlchemy aacc8f2
chore(manifest): harden e2e workflow
ScriptedAlchemy 1b7d459
Merge branch 'main' into improve-manifest-e2e
ScriptedAlchemy 7b7d4b3
chore(manifest): invoke e2e runner directly
ScriptedAlchemy 872102c
chore(manifest): ensure e2e teardown
ScriptedAlchemy 09463c7
chore(manifest): allow forced shutdown exit
ScriptedAlchemy d713593
Merge remote-tracking branch 'origin/improve-manifest-e2e' into feat/…
ScriptedAlchemy 9a8b9f6
chore(enhanced): clean manifest alias handling
ScriptedAlchemy 9cd3bce
chore: merge feat/exp-flag-alias-consumption
ScriptedAlchemy 22929a0
fix(manifest): handle e2e shutdown on windows
ScriptedAlchemy 8cdac3f
Merge branch 'feat/exp-flag-alias-consumption' into share-filter
ScriptedAlchemy 88a8f19
chore(manifest): regenerate enhanced schemas
ScriptedAlchemy 5b1679f
fix(nextjs-mf): align share flag rename
ScriptedAlchemy 9484038
test(nextjs-mf): refresh share client snapshots
ScriptedAlchemy f6481e3
fix(manifest): pin shared react versions to 18
ScriptedAlchemy c35a146
Merge branch 'main' into share-filter
ScriptedAlchemy 7e0b908
fix(nextjs-mf): align pages shares to React 19
ScriptedAlchemy 0f9eff4
chore(nextjs-mf): pnpm install lockfile refresh
ScriptedAlchemy 6398043
chore(core): remove migration-helper.sh
ScriptedAlchemy 92f0a71
chore(next-app-router-4000,next-app-router-4001): revert to react 18.3.1
ScriptedAlchemy 69752a9
chore(next-app-router-4000,next-app-router-4001): use react/react-dom…
ScriptedAlchemy 4fdb504
chore(core): sync pnpm-lock.yaml with main
ScriptedAlchemy ec07804
chore(chrome-devtools,modern-js-plugin): adjust tsconfigs and types
ScriptedAlchemy 94facfe
fix(nextjs-mf): unify pages router React shares to installed React 19
ScriptedAlchemy e89af95
fix(chrome-devtools): disable DTS; add chrome/react types
ScriptedAlchemy c3db574
fix(nextjs-mf): pages-router React 19 share + compiled-path aliases
ScriptedAlchemy 736934f
fix(chrome-devtools): re-enable DTS
ScriptedAlchemy 24966e7
test(nextjs-mf,managers): update snapshots and mocks for React 19 cha…
ScriptedAlchemy e388a0b
chore(module-federation): format workspace (nx format:write)
ScriptedAlchemy cec7cf2
chore(module-federation): remove stray package directory
ScriptedAlchemy 4d569c8
fix(chrome-devtools): isolate react 18 types for builds
ScriptedAlchemy 20ae175
test(nextjs-mf): stabilize share client snapshots
ScriptedAlchemy 7d09430
chore(module-federation): consume local nextjs-mf workspace
ScriptedAlchemy c047391
chore(module-federation): align next apps on workspace nextjs-mf
ScriptedAlchemy 896f5ff
chore(module-federation): bump next app react 19.1.1
ScriptedAlchemy 3be54f5
chore(module-federation): bump next apps to next@15 react 19
ScriptedAlchemy e524b86
fix(3000-home): alias compiled react to workspace
ScriptedAlchemy f856566
fix(nextjs-mf): enforce app react aliases and sharing
ScriptedAlchemy 4bdf552
fix(enhanced): limit singleton filter warnings
ScriptedAlchemy 7734e78
fix(nextjs-mf): let alias consumption resolve react shares
ScriptedAlchemy 575b06d
refactor(module-federation): remove @nx/next and use nx:run-commands
ScriptedAlchemy 076be9b
Merge branch 'main' into share-filter
ScriptedAlchemy 5a946c4
chore(nextjs-mf): sync local changes
ScriptedAlchemy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
"@module-federation/nextjs-mf": patch | ||
--- | ||
|
||
Enhanced Next.js App Router demo applications with improved Module Federation integration. | ||
|
||
- Updated Next.js App Router demo applications (4000 and 4001) with better RSC support preparation | ||
- Added comprehensive E2E test coverage for Next.js App Router scenarios | ||
- Improved demo application configuration and dependency management | ||
- Enhanced development workflow with better patching and build scripts | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
'@module-federation/enhanced': patch | ||
--- | ||
|
||
fix(enhanced): ConsumeSharedPlugin alias-aware and virtual resource handling | ||
|
||
- Skip `data:` (virtual) resources in `afterResolve` and `createModule` so webpack's scheme resolver handles them (fixes container virtual-entry compile failure) | ||
- Broaden alias-aware matching in `afterResolve` to include deep-path shares that start with the resolved package name (e.g. `next/dist/compiled/react`), ensuring aliased modules are consumed from federation when configured | ||
- Avoid converting explicit relative/absolute requests into consumes to preserve local nested resolution (fixes deep module sharing version selection) | ||
- Keep prefix and node_modules suffix matching intact; no behavior change there | ||
|
||
These changes restore expected behavior for: | ||
- Virtual entry compilation | ||
- Deep module sharing (distinct versions for nested paths) | ||
- Alias-based sharing (Next.js compiled React) | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
"@module-federation/nextjs-mf": patch | ||
--- | ||
|
||
Enhanced Next.js App Router demo applications and CI/CD infrastructure. | ||
|
||
- Updated Next.js App Router demo applications (4000 and 4001) with React 19 and Next.js 15.3.3 | ||
- Added comprehensive E2E test coverage for Next.js App Router scenarios using Cypress | ||
- Improved demo application configuration with better Module Federation setup | ||
- Enhanced development workflow with automated Next.js patching scripts | ||
- Added new CI/CD workflow for Next.js App Router E2E testing | ||
- Updated existing Next.js demo applications (3000-home, 3001-shop, 3002-checkout) to latest versions | ||
- Improved build and development scripts across all Next.js applications |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: E2E Test for Next.js App Router | ||
|
||
on: | ||
workflow_call: | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
e2e-next-app-router: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 30 | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install Pnpm | ||
run: | | ||
corepack prepare [email protected] --activate | ||
corepack enable | ||
|
||
- name: Setup Node.js 18 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18' | ||
cache: 'pnpm' | ||
|
||
- name: Set Nx SHA | ||
uses: nrwl/nx-set-shas@v3 | ||
|
||
- name: Set SKIP_DEVTOOLS_POSTINSTALL environment variable | ||
run: echo "SKIP_DEVTOOLS_POSTINSTALL=true" >> $GITHUB_ENV | ||
|
||
- name: Set local webpack | ||
run: echo "NEXT_PRIVATE_LOCAL_WEBPACK=true" >> $GITHUB_ENV | ||
|
||
- name: Install Dependencies | ||
run: pnpm install | ||
|
||
- name: Install Cypress | ||
run: npx cypress install | ||
|
||
- name: Run Build for All | ||
run: npx nx run-many --targets=build --projects=tag:type:pkg | ||
|
||
- name: Run condition check script | ||
id: check-ci | ||
run: node tools/scripts/ci-is-affected.mjs --appName=next-app-router-4000,next-app-router-4001 | ||
|
||
- name: E2E Test for Next.js App Router | ||
if: steps.check-ci.outcome == 'success' | ||
run: npx kill-port --port 4000,4001 || true && pnpm run app:next-router:dev & echo "done" && sleep 25 && npx nx run-many --target=e2e --projects=next-app-router-4000,next-app-router-4001 --parallel=1 && lsof -ti tcp:4000,4001 | xargs kill || true | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# AGENTS.md - Module Federation Core Repository Guidelines | ||
|
||
## Build/Test Commands | ||
```bash | ||
pnpm build # Build all packages (tag:type:pkg) | ||
pnpm test # Run all tests via nx | ||
pnpm lint # Lint all packages | ||
pnpm lint-fix # Fix linting issues | ||
pnpm nx run <pkg>:test # Test specific package | ||
npx jest path/to/test.ts --no-coverage # Run single test file | ||
``` | ||
|
||
## Code Style | ||
- **Imports**: External → SDK/core → Local (grouped with blank lines) | ||
- **Type imports**: `import type { ... }` explicitly marked | ||
- **Naming**: camelCase functions, PascalCase classes, SCREAMING_SNAKE constants | ||
- **Files**: kebab-case or PascalCase for class files | ||
- **Errors**: Use `@module-federation/error-codes`, minimal try-catch | ||
- **Comments**: Minimal, use `//` inline, `/** */` for deprecation | ||
- **Async**: Named async functions for major ops, arrow functions in callbacks | ||
- **Exports**: Named exports preferred, barrel exports in index files | ||
- **Package manager**: ALWAYS use pnpm, never npm | ||
- **Parallelization**: Break tasks into 3-10 parallel subtasks minimum |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.