Skip to content
Open
Show file tree
Hide file tree
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 Apr 29, 2025
da1e026
chore: restore tests
ScriptedAlchemy Apr 29, 2025
c05e7a2
chore: restore tests
ScriptedAlchemy Apr 29, 2025
5d78f3c
chore: restore tests
ScriptedAlchemy Apr 29, 2025
c46c487
fix(enhanced): update share plugin schema
ScriptedAlchemy Apr 29, 2025
8a95e75
feat(enhanced): exclude shares by semver (#3744)
ScriptedAlchemy May 11, 2025
05e7742
chore: remove log in test
ScriptedAlchemy May 11, 2025
1483170
docs: add sharing documentation
ScriptedAlchemy May 12, 2025
bb72311
docs: add tests back
ScriptedAlchemy May 12, 2025
999f868
test: add consume share plugin compiler tests
ScriptedAlchemy May 12, 2025
60a019b
test: add consume share plugin compiler tests
ScriptedAlchemy May 12, 2025
44af541
test: add consume share plugin compiler tests
ScriptedAlchemy May 12, 2025
4db8201
test: add comprehensive tests for ConsumeSharedPlugin with layer hand…
ScriptedAlchemy May 13, 2025
c49095f
chore: locks
ScriptedAlchemy May 13, 2025
696bfe7
fix: update tests for provide shared
ScriptedAlchemy May 13, 2025
7ff42d4
chore: lint
ScriptedAlchemy May 13, 2025
cce9d94
feat: add singleton validation warnings for include/exclude
ScriptedAlchemy May 13, 2025
3b364a2
chore: remove implicit dep
ScriptedAlchemy May 13, 2025
1de2ad0
chore: changeset
ScriptedAlchemy May 13, 2025
76b85eb
chore: nx mcp
ScriptedAlchemy May 15, 2025
804cfb5
chore(3001-shop): sync project.json serve parallel and e2e logic
ScriptedAlchemy May 16, 2025
a47bfc2
chore: locks
ScriptedAlchemy May 16, 2025
4d933c0
chore: locks
ScriptedAlchemy May 16, 2025
b66d3aa
chore: add missing next deps
ScriptedAlchemy May 16, 2025
a6d71e1
chore: update cmd syntax exit
ScriptedAlchemy May 16, 2025
8835584
chore: update cmd syntax exit
ScriptedAlchemy May 16, 2025
c0b01e5
chore: update cmd syntax exit
ScriptedAlchemy May 16, 2025
404426b
chore: update cmd syntax exit
ScriptedAlchemy May 16, 2025
c932295
chore: update cmd syntax exit
ScriptedAlchemy May 16, 2025
17aef77
chore: update cmd syntax exit
ScriptedAlchemy May 16, 2025
258935a
chore: refactor E2E testing workflow to separate tests for each app a…
ScriptedAlchemy May 16, 2025
7718566
test: update ProvideSharedPlugin and SharePlugin tests to verify node…
ScriptedAlchemy Jul 1, 2025
ba50f5c
chore: update Nx version to 21.0.3 and change package manager to pnpm…
ScriptedAlchemy Jul 1, 2025
d193f05
feat: integrate Module Federation core sharing plugin updates
ScriptedAlchemy Jul 1, 2025
bdaeed5
feat: complete incremental Module Federation ProvideSharedPlugin updates
ScriptedAlchemy Jul 1, 2025
8bb126b
feat(enhanced): add nodeModulesReconstructedLookup support
ScriptedAlchemy Jul 1, 2025
ccc0c62
feat(enhanced): remove complex singleton warnings from factorize hook
ScriptedAlchemy Jul 1, 2025
62a9c70
docs: refresh mermaid diagrams and remove sections
ScriptedAlchemy Jul 1, 2025
083ed5d
docs: remove Advanced Patterns & Use Cases section
ScriptedAlchemy Jul 1, 2025
a5fb4f9
fix: resolve Mermaid sequence diagram CSP participant activation/deac…
ScriptedAlchemy Jul 1, 2025
603163e
chore: no build cache nx in ci
ScriptedAlchemy Jul 1, 2025
1834da1
chore: ci
ScriptedAlchemy Jul 1, 2025
7ddb260
feat(enhanced): update hook system for container dependency management
ScriptedAlchemy Jul 1, 2025
1d3136f
feat(nextjs-mf): complete migration from app-router-share-filter to s…
ScriptedAlchemy Jul 2, 2025
47cc279
fix(enhanced): add CI stability improvements to jest configurations
ScriptedAlchemy Jul 2, 2025
4eba234
fix(enhanced): resolve jest maxWorkers validation error
ScriptedAlchemy Jul 2, 2025
9459edc
fix(enhanced): restore jest configurations to original state
ScriptedAlchemy Jul 2, 2025
557161f
feat(nextjs-mf): rewrite outdated tests with proper mocks
ScriptedAlchemy Jul 2, 2025
99ba2fb
fix(nextjs-mf): simplify tests to eliminate interference issues
ScriptedAlchemy Jul 2, 2025
cdc5cbc
feat: update e2e scripts to test all three Next.js apps (home, shop, …
ScriptedAlchemy Jul 2, 2025
76e2a5a
feat: add individual e2e test scripts for Next.js apps
ScriptedAlchemy Jul 3, 2025
4040ebc
feat: incremental merge of share-filter branch changes (#3879)
ScriptedAlchemy Jul 3, 2025
206803c
chore: remove rslib
ScriptedAlchemy Jul 6, 2025
6f4e94c
chore: remove rslib
ScriptedAlchemy Jul 6, 2025
23c0946
feat(nextjs-mf): increment 1 - migrate enhanced test file from app-ro…
ScriptedAlchemy Jul 6, 2025
afe145c
fix(nextjs-mf): fix failing internal tests by mocking Next.js version
ScriptedAlchemy Jul 6, 2025
a7d1967
chore: restore rslib module app
ScriptedAlchemy Jul 6, 2025
28855ae
feat: sync all Next.js versions to 15.3.3 and enable remote components
ScriptedAlchemy Jul 6, 2025
979627a
fix: resolve React 19 TypeScript compatibility in chrome-devtools
ScriptedAlchemy Jul 5, 2025
24eb6fa
fix(managers): update snapshot for React 19 compatibility
ScriptedAlchemy Jul 6, 2025
342a4a5
fix: resolve React version conflicts in Next.js apps
ScriptedAlchemy Jul 1, 2025
8a295a6
fix: add safety checks for webpack startup functions
ScriptedAlchemy Jul 1, 2025
4d56e65
chore: lock file
ScriptedAlchemy Jul 6, 2025
7240626
fix: update SharedManager snapshot for React 19.1.0
ScriptedAlchemy Jul 6, 2025
1f4f4ed
fix(data-prefetch): react 19 compatibility fixes
ScriptedAlchemy Jul 6, 2025
22769e6
fix(data-prefetch): update pnpm lockfile after react 19 upgrade
ScriptedAlchemy Jul 6, 2025
b8dc9aa
fix(bridge-react): react 19 compatibility for tests
ScriptedAlchemy Jul 6, 2025
95a8971
fix(bridge-react): update tests to handle React 19 async rendering
ScriptedAlchemy Jul 6, 2025
5e0d942
feat: merge increment A - CI/CD and development infrastructure
ScriptedAlchemy Jul 6, 2025
9663c04
chore: update pnpm lockfile after increment A package.json changes
ScriptedAlchemy Jul 6, 2025
f746503
feat: merge increment B - documentation and changesets
ScriptedAlchemy Jul 6, 2025
370a51d
feat: merge increment C - core package dependencies
ScriptedAlchemy Jul 6, 2025
365c417
feat: merge increment D - enhanced library core changes
ScriptedAlchemy Jul 6, 2025
2ed32a5
fix: resolve React 19 TypeScript compatibility in modernjs package
ScriptedAlchemy Jul 6, 2025
a728a83
fix(nextjs-mf): resolve test failure by mocking getNextVersion for Ne…
ScriptedAlchemy Jul 6, 2025
f7bb479
feat: merge increment E - bridge and data prefetch updates
ScriptedAlchemy Jul 6, 2025
77ce6e9
fix: update React dependencies to v19.0.0 across packages
ScriptedAlchemy Jul 6, 2025
b68f28d
fix: update React dependencies to v19.0.0 across packages
ScriptedAlchemy Jul 6, 2025
a9a56f1
fix: use pnpm overrides for React 19 instead of individual package edits
ScriptedAlchemy Jul 6, 2025
0e86813
fix: update packages to React 19 individually instead of global overr…
ScriptedAlchemy Jul 6, 2025
882c6b3
fix: resolve React 19 compatibility issues in bridge-react
ScriptedAlchemy Jul 6, 2025
99bddbb
fix: remove accidental __mocks__ files causing CI format failure
ScriptedAlchemy Jul 6, 2025
308e215
fix(bridge-react): resolve React 19 testing warnings and race conditions
ScriptedAlchemy Jul 6, 2025
b59c12a
feat(next-app-router-4000): merge enhanced layer support for Next.js …
ScriptedAlchemy Jul 6, 2025
37a6856
feat(next-app-router-4001): merge enhanced layer support for Next.js …
ScriptedAlchemy Jul 6, 2025
36c3695
feat(runtime-core,node): merge enhanced layer support for runtime and…
ScriptedAlchemy Jul 6, 2025
f908262
feat: complete enhanced layer support integration and add .node file …
ScriptedAlchemy Jul 6, 2025
60881ad
fix: restore missing files from app-router-share-filter and remove te…
ScriptedAlchemy Jul 6, 2025
cdf7687
fix: clean up remaining file differences and update dependencies
ScriptedAlchemy Jul 6, 2025
865234a
fix(3001-shop,3002-checkout): restore workspace dependencies
ScriptedAlchemy Jul 7, 2025
2b86e37
fix(nextjs-mf): correct path to next-flight-loader
ScriptedAlchemy Jul 7, 2025
ee57400
chore: lock file
ScriptedAlchemy Jul 7, 2025
1cf289b
chore: fix sh
ScriptedAlchemy Jul 7, 2025
255ccef
fix(3000-home,3002-checkout): restore e2e configurations from working…
ScriptedAlchemy Jul 7, 2025
6025938
feat: restore old CI infrastructure for Next.js e2e tests
ScriptedAlchemy Jul 7, 2025
9660670
App router share filter (#3745)
ScriptedAlchemy Jul 8, 2025
af303e9
test: trigger CI workflow (#3890)
ScriptedAlchemy Jul 8, 2025
61f403e
Potential fix for code scanning alert no. 132: Workflow does not cont…
ScriptedAlchemy Jul 9, 2025
6d0fc9d
Share flalback (#3893)
ScriptedAlchemy Jul 11, 2025
ab26ac3
docs: add incremental PR plan for breaking up enhanced package changes
ScriptedAlchemy Jul 11, 2025
accdf48
docs: add incremental PR plan for breaking up enhanced package changes
ScriptedAlchemy Jul 12, 2025
4ae5c4c
fix: include request warning logs in ProvideSharedPlugin (#3906)
adit-shah-devrev Jul 19, 2025
d1610dc
chore: fix conflicts
ScriptedAlchemy Aug 7, 2025
8b0b051
fix: resolve 500 Internal Server Error in 3002-checkout app
ScriptedAlchemy Aug 7, 2025
dd7fb40
chore: fix conflicts
ScriptedAlchemy Aug 7, 2025
09cd8fb
test: update error message expectations for loadShareSync
ScriptedAlchemy Aug 7, 2025
6ede202
feat: incremental merge of share-filter branch changes (#3879)
ScriptedAlchemy Aug 7, 2025
89f3447
Apply suggested changes
ScriptedAlchemy Aug 8, 2025
9829c09
chore: fix package conflicts
ScriptedAlchemy Aug 12, 2025
c077c59
chore: fix package conflicts
ScriptedAlchemy Aug 12, 2025
9b23498
feat(enhanced): implement layer-aware module sharing with comprehensi…
ScriptedAlchemy Aug 13, 2025
5de4fb3
fix: resolve merge conflicts in ProvideSharedPlugin.ts
ScriptedAlchemy Aug 13, 2025
7b6feba
fix: resolve remaining merge conflicts
ScriptedAlchemy Aug 13, 2025
5b862ca
fix: resolve merge conflict in data-prefetch react test
ScriptedAlchemy Aug 13, 2025
c7b1633
fix(enhanced): resolve TypeScript errors in ConsumeSharedPlugin
ScriptedAlchemy Aug 13, 2025
ea3ac9e
Apply suggested changes
ScriptedAlchemy Aug 13, 2025
5a758ee
Apply suggested changes
ScriptedAlchemy Aug 13, 2025
36005a7
Apply suggested changes
ScriptedAlchemy Aug 13, 2025
be4d9a8
fix(enhanced): resolve TypeScript errors in ProvideSharedPlugin
ScriptedAlchemy Aug 13, 2025
fef9e58
Apply suggested changes
ScriptedAlchemy Aug 13, 2025
cf1e7b1
fix(enhanced): resolve test failures and import issues
ScriptedAlchemy Aug 13, 2025
1b2ba8c
chore: trigger CI run to verify test fixes
ScriptedAlchemy Aug 13, 2025
ca3daf6
fix(bridge-react): resolve React 19 compatibility in legacy provider
ScriptedAlchemy Aug 13, 2025
b84d26c
fix(bridge-react): remove unused TypeScript ignore directives
ScriptedAlchemy Aug 13, 2025
280f933
fix(modernjs): disable syntax checking to allow ES6 dynamic imports
ScriptedAlchemy Aug 13, 2025
d234bc5
fix(rsbuild-plugin): set output.emitAssets as true (#3996)
2heal1 Aug 13, 2025
414c3c1
fix(runtime-core): set shared loaded status true after calling loadSh…
2heal1 Aug 14, 2025
50750c3
chore: bump axios to resolve vulnerabilities in form-data dependency …
DanielChutkowskiJMMJ Aug 14, 2025
808879d
fix(rsbuild-plugin): invalid type field (#4002)
2heal1 Aug 15, 2025
4fa1b8b
chore: release v0.18.2 (#4003)
2heal1 Aug 15, 2025
e646704
feat: support env vars to add cors when use serve command (#4005)
zllkjc Aug 18, 2025
8dcaba9
chore: v0.18.3 (#4007)
KyrieLii Aug 19, 2025
38b96fc
chore: use only default share scope
ScriptedAlchemy Aug 26, 2025
aab5c25
chore: use only default share scope
ScriptedAlchemy Aug 27, 2025
1b804df
chore: locks
ScriptedAlchemy Sep 5, 2025
5d4cd6d
refactor(enhanced): simplify consume factorize; rename option; refine…
ScriptedAlchemy Sep 5, 2025
42a9b47
feat(enhanced): add alias-aware consume matching via resolverFactory;…
ScriptedAlchemy Sep 5, 2025
5a67bc8
feat(enhanced): alias-aware share-key derivation
ScriptedAlchemy Sep 6, 2025
667a941
chore: debugging
ScriptedAlchemy Sep 8, 2025
ad9b72e
Revert "chore: debugging"
ScriptedAlchemy Sep 8, 2025
2bf170b
Revert "feat(enhanced): alias-aware share-key derivation"
ScriptedAlchemy Sep 8, 2025
4c8ab16
Revert "feat(enhanced): add alias-aware consume matching via resolver…
ScriptedAlchemy Sep 8, 2025
2ec299f
feat(enhanced): add alias-aware providing and consuming for shared mo…
ScriptedAlchemy Sep 8, 2025
baf0d9d
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy Sep 8, 2025
c0810a2
Delete opencode.json
ScriptedAlchemy Sep 8, 2025
097e612
test: add missing aliased target stub for share-with-aliases-provide-…
ScriptedAlchemy Sep 8, 2025
7e502bf
Apply suggested changes
ScriptedAlchemy Sep 8, 2025
f76b386
ci: trigger build
ScriptedAlchemy Sep 9, 2025
7c86fb0
test(enhanced): force sync startup in alias-sharing cases so harness …
ScriptedAlchemy Sep 9, 2025
27e09a9
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy Sep 9, 2025
f15e761
chore: remove unused aliasResolver.ts file
ScriptedAlchemy Sep 9, 2025
e29ec0f
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy Sep 11, 2025
48d4dfd
Delete prompts/alias-resolver.md
ScriptedAlchemy Sep 11, 2025
1c7ead0
refactor(enhanced): resolve alias-aware consumes in afterResolve with…
ScriptedAlchemy Sep 12, 2025
c701d85
test(enhanced): mock afterResolve hook in NMF tests
ScriptedAlchemy Sep 12, 2025
180e9bf
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy Sep 12, 2025
116e775
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy Sep 12, 2025
095f6aa
fix(enhanced): alias-aware ConsumeSharedPlugin + data URI guard
ScriptedAlchemy Sep 12, 2025
953b8ab
chore: patch
ScriptedAlchemy Sep 19, 2025
b652049
Merge remote-tracking branch 'origin/main' into share-filter
ScriptedAlchemy Sep 19, 2025
42f090d
chore: x
ScriptedAlchemy Sep 19, 2025
341e045
ci(core): enable tag push and npm publish in release workflow
ScriptedAlchemy Sep 19, 2025
5f44b8a
chore: x
ScriptedAlchemy Sep 19, 2025
038ebe8
ci(core): refine release workflow (npm auth, registry, branch fetch)
ScriptedAlchemy Sep 19, 2025
5e0d7e6
chore(core): merge origin/main into gpt-alias-resolver-refactor (theirs)
ScriptedAlchemy Sep 20, 2025
83993f8
fix(enhanced): guard missing hooks in tests (afterResolve, finishModu…
ScriptedAlchemy Sep 20, 2025
d897b6f
Merge remote-tracking branch 'origin/main' into feat/share-resolver
ScriptedAlchemy Sep 22, 2025
0522c50
Merge branch 'feat/share-resolver' of github.com:module-federation/co…
ScriptedAlchemy Sep 22, 2025
78f91a0
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy Sep 22, 2025
72211ab
refactor: always register finishModules hook
ScriptedAlchemy Sep 22, 2025
d4be790
chore(module-federation): restore release workflow from main
ScriptedAlchemy Sep 22, 2025
65812e4
test(enhanced): mock finishModules hook for ConsumeSharedPlugin.facto…
ScriptedAlchemy Sep 22, 2025
b5ccfd0
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy Sep 22, 2025
4a6beb0
feat(enhanced): add experiments.aliasConsumption flag; remove env toggle
ScriptedAlchemy Sep 22, 2025
2ffdce1
Merge branch 'main' into share-filter
ScriptedAlchemy Sep 25, 2025
cedb4da
fix(manifest-demo): share only 'react' and 'react-dom' (remove subpat…
ScriptedAlchemy Sep 26, 2025
3f8e68c
chore: remove local worktrees/other and ignore worktrees/
ScriptedAlchemy Sep 26, 2025
3bc3c05
fix(3009-webpack-provider): avoid named React imports under shared co…
ScriptedAlchemy Sep 26, 2025
9f2a2fa
fix(3010-rspack-provider): use default React import and React.StrictM…
ScriptedAlchemy Sep 26, 2025
df052b1
fix(manifest-webpack-host): prefer default React import and React.* A…
ScriptedAlchemy Sep 26, 2025
659fc9c
Delete packages/enhanced/.ci-trigger
ScriptedAlchemy Sep 26, 2025
d6c192b
fix(modernjs): remove 'react/' and 'react-dom/' subpath shares; share…
ScriptedAlchemy Sep 26, 2025
8d40399
chore(bridge-react): align dev React and @types to 18.x to match work…
ScriptedAlchemy Sep 26, 2025
2fa34a4
chore: cleanup next apps and remove example
ScriptedAlchemy Sep 26, 2025
321f6f1
chore: align bridge packages with main
ScriptedAlchemy Sep 26, 2025
d8199ba
Delete .cursorrules
ScriptedAlchemy Sep 26, 2025
b5a9bba
fix(manifest demos): share React JSX runtimes as singletons across ho…
ScriptedAlchemy Sep 26, 2025
5b7b223
chore(manifest-webpack-host): lazy-load modern-js-provider component …
ScriptedAlchemy Sep 26, 2025
ce627b1
refactor(manifest-host): revert Suspense/lazy around ModernJS remote …
ScriptedAlchemy Sep 26, 2025
73057ca
style(format): prettier write manifest demo configs to satisfy format…
ScriptedAlchemy Sep 26, 2025
e413337
fix(module-federation): align manifest demo react 19 singleton
ScriptedAlchemy Sep 26, 2025
361af3c
Merge remote-tracking branch 'origin/main' into share-filter
ScriptedAlchemy Sep 26, 2025
1f621ea
chore(module-federation): revert manifest demo react upgrade
ScriptedAlchemy Sep 26, 2025
a5da103
fix(module-federation): restore manifest react18 share configs
ScriptedAlchemy Sep 26, 2025
27604c4
chore(webpack-bundler-runtime): switch rollup compiler to tsc
ScriptedAlchemy Sep 26, 2025
2e0009b
fix(manifest): enforce react18 sharing and add e2e script
ScriptedAlchemy Sep 26, 2025
65a9725
Merge remote-tracking branch 'origin/gpt-alias-resolver-refactor' int…
ScriptedAlchemy Sep 26, 2025
0e76c31
test(enhanced): remove invalid sharing cases lacking webpack.config.j…
ScriptedAlchemy Sep 26, 2025
5055669
fix(enhanced): align experiments type with schema
ScriptedAlchemy Sep 26, 2025
e49134a
refactor(enhanced): use SharePluginOptions['experiments'] inline
ScriptedAlchemy Sep 26, 2025
3a8efa8
refactor(enhanced): remove union cast for experiments
ScriptedAlchemy Sep 26, 2025
05c3dbf
chore(enhanced): unignore configCases node_modules
ScriptedAlchemy Sep 26, 2025
4c4c349
test(enhanced): add aliasConsumption + filters ConfigCase and unit tests
ScriptedAlchemy Sep 26, 2025
8a8db73
test(enhanced): add singleton+version warning case for aliasConsumption
ScriptedAlchemy Sep 26, 2025
2f65415
chore(enhanced): regenerate schemas; simplify SharePlugin options wiring
ScriptedAlchemy Sep 26, 2025
c7a0d1d
Merge branch 'main' into feat/share-resolver
ScriptedAlchemy Sep 27, 2025
8c4a777
Merge branch 'feat/share-resolver' into gpt-alias-resolver-refactor
ScriptedAlchemy Sep 27, 2025
8678110
Merge remote-tracking branch 'origin/gpt-alias-resolver-refactor' int…
ScriptedAlchemy Sep 27, 2025
aacc8f2
chore(manifest): harden e2e workflow
ScriptedAlchemy Sep 27, 2025
1b7d459
Merge branch 'main' into improve-manifest-e2e
ScriptedAlchemy Sep 27, 2025
7b7d4b3
chore(manifest): invoke e2e runner directly
ScriptedAlchemy Sep 27, 2025
872102c
chore(manifest): ensure e2e teardown
ScriptedAlchemy Sep 27, 2025
09463c7
chore(manifest): allow forced shutdown exit
ScriptedAlchemy Sep 27, 2025
d713593
Merge remote-tracking branch 'origin/improve-manifest-e2e' into feat/…
ScriptedAlchemy Sep 27, 2025
9a8b9f6
chore(enhanced): clean manifest alias handling
ScriptedAlchemy Sep 27, 2025
9cd3bce
chore: merge feat/exp-flag-alias-consumption
ScriptedAlchemy Sep 27, 2025
22929a0
fix(manifest): handle e2e shutdown on windows
ScriptedAlchemy Sep 27, 2025
8cdac3f
Merge branch 'feat/exp-flag-alias-consumption' into share-filter
ScriptedAlchemy Sep 27, 2025
88a8f19
chore(manifest): regenerate enhanced schemas
ScriptedAlchemy Sep 27, 2025
5b1679f
fix(nextjs-mf): align share flag rename
ScriptedAlchemy Sep 27, 2025
9484038
test(nextjs-mf): refresh share client snapshots
ScriptedAlchemy Sep 27, 2025
f6481e3
fix(manifest): pin shared react versions to 18
ScriptedAlchemy Sep 28, 2025
c35a146
Merge branch 'main' into share-filter
ScriptedAlchemy Sep 29, 2025
7e0b908
fix(nextjs-mf): align pages shares to React 19
ScriptedAlchemy Sep 30, 2025
0f9eff4
chore(nextjs-mf): pnpm install lockfile refresh
ScriptedAlchemy Sep 30, 2025
6398043
chore(core): remove migration-helper.sh
ScriptedAlchemy Sep 30, 2025
92f0a71
chore(next-app-router-4000,next-app-router-4001): revert to react 18.3.1
ScriptedAlchemy Sep 30, 2025
69752a9
chore(next-app-router-4000,next-app-router-4001): use react/react-dom…
ScriptedAlchemy Sep 30, 2025
4fdb504
chore(core): sync pnpm-lock.yaml with main
ScriptedAlchemy Sep 30, 2025
ec07804
chore(chrome-devtools,modern-js-plugin): adjust tsconfigs and types
ScriptedAlchemy Sep 30, 2025
94facfe
fix(nextjs-mf): unify pages router React shares to installed React 19
ScriptedAlchemy Sep 30, 2025
e89af95
fix(chrome-devtools): disable DTS; add chrome/react types
ScriptedAlchemy Sep 30, 2025
c3db574
fix(nextjs-mf): pages-router React 19 share + compiled-path aliases
ScriptedAlchemy Sep 30, 2025
736934f
fix(chrome-devtools): re-enable DTS
ScriptedAlchemy Sep 30, 2025
24966e7
test(nextjs-mf,managers): update snapshots and mocks for React 19 cha…
ScriptedAlchemy Sep 30, 2025
e388a0b
chore(module-federation): format workspace (nx format:write)
ScriptedAlchemy Sep 30, 2025
cec7cf2
chore(module-federation): remove stray package directory
ScriptedAlchemy Sep 30, 2025
4d569c8
fix(chrome-devtools): isolate react 18 types for builds
ScriptedAlchemy Sep 30, 2025
20ae175
test(nextjs-mf): stabilize share client snapshots
ScriptedAlchemy Sep 30, 2025
7d09430
chore(module-federation): consume local nextjs-mf workspace
ScriptedAlchemy Sep 30, 2025
c047391
chore(module-federation): align next apps on workspace nextjs-mf
ScriptedAlchemy Sep 30, 2025
896f5ff
chore(module-federation): bump next app react 19.1.1
ScriptedAlchemy Sep 30, 2025
3be54f5
chore(module-federation): bump next apps to next@15 react 19
ScriptedAlchemy Sep 30, 2025
e524b86
fix(3000-home): alias compiled react to workspace
ScriptedAlchemy Sep 30, 2025
f856566
fix(nextjs-mf): enforce app react aliases and sharing
ScriptedAlchemy Sep 30, 2025
4bdf552
fix(enhanced): limit singleton filter warnings
ScriptedAlchemy Sep 30, 2025
7734e78
fix(nextjs-mf): let alias consumption resolve react shares
ScriptedAlchemy Oct 1, 2025
575b06d
refactor(module-federation): remove @nx/next and use nx:run-commands
ScriptedAlchemy Oct 1, 2025
076be9b
Merge branch 'main' into share-filter
ScriptedAlchemy Oct 1, 2025
5a946c4
chore(nextjs-mf): sync local changes
ScriptedAlchemy Oct 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .changeset/ai-eager-wolf.md
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

16 changes: 16 additions & 0 deletions .changeset/fix-alias-aware-consume-plugin.md
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)

13 changes: 13 additions & 0 deletions .changeset/next-app-router-improvements.md
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
2 changes: 1 addition & 1 deletion .cursorignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
**/.cache/
**/.temp/
**/coverage/
**/dist/
!**/dist/

# Explicitly ignore specific packages
packages/typescript/
Expand Down
40 changes: 0 additions & 40 deletions .cursorrules

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/e2e-manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ jobs:

- name: E2E Test for Manifest Demo Development
if: steps.check-ci.outcome == 'success'
run: pnpm run app:manifest:dev & echo "done" && npx wait-on tcp:3009 && npx wait-on tcp:3012 && npx wait-on http://127.0.0.1:4001/ && npx nx run-many --target=e2e --projects=manifest-webpack-host --parallel=2 && npx kill-port 3013 3009 3010 3011 3012 4001
run: node tools/scripts/run-manifest-e2e.mjs --mode=dev

- name: E2E Test for Manifest Demo Production
if: steps.check-ci.outcome == 'success'
run: pnpm run app:manifest:prod & echo "done" && npx wait-on tcp:3009 && npx wait-on tcp:3012 && npx wait-on http://127.0.0.1:4001/ && npx nx run-many --target=e2e --projects=manifest-webpack-host --parallel=1 && npx kill-port 3013 3009 3010 3011 3012 4001
run: node tools/scripts/run-manifest-e2e.mjs --mode=prod
54 changes: 54 additions & 0 deletions .github/workflows/e2e-next-app-router.yml
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
24 changes: 9 additions & 15 deletions .github/workflows/e2e-next-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,14 @@ jobs:
id: check-ci
run: node tools/scripts/ci-is-affected.mjs --appName=3000-home

- name: E2E Test for Next.js Prod - Home
- name: E2E Test for Next.js Prod
if: steps.check-ci.outcome == 'success'
run: |
killall node
npx nx run 3000-home:test:e2e:production

- name: E2E Test for Next.js Prod - Shop
if: steps.check-ci.outcome == 'success'
run: |
killall node
npx nx run 3001-shop:test:e2e:production

- name: E2E Test for Next.js Prod - Checkout
if: steps.check-ci.outcome == 'success'
run: |
killall node
npx nx run 3002-checkout:test:e2e:production
pnpm run --filter @module-federation/3002-checkout --filter @module-federation/3000-home --filter @module-federation/3001-shop build &&
pnpm run app:next:prod &
sleep 4 &&
npx wait-on tcp:3001 &&
npx wait-on tcp:3002 &&
npx wait-on tcp:3000 &&
npx nx run-many --target=test:e2e --projects=3000-home,3001-shop,3002-checkout --parallel=1 &&
npx kill-port 3000,3001,3002
13 changes: 12 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ apps/**/dist
**/cypress/downloads

# test cases
!packages/enhanced/test/configCases/**/**/node_modules
packages/enhanced/test/js
.ignored
**/.mf
Expand Down Expand Up @@ -88,4 +87,16 @@ vitest.config.*.timestamp*
.rsbuild
ssg
.claude
# Native binary files
*.node

# Ignore local worktrees
worktrees/

__mocks__/

# test mock modules
# Keep ALL test configCases node_modules (and all nested files) tracked,
# so we don't need per-path exceptions like next/dist.
!packages/enhanced/test/configCases/**/node_modules/
!packages/enhanced/test/configCases/**/node_modules/**
23 changes: 23 additions & 0 deletions AGENTS.md
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
2 changes: 1 addition & 1 deletion apps/3000-home/next-env.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
/// <reference types="next/image-types/global" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information.
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.
32 changes: 18 additions & 14 deletions apps/3000-home/next.config.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
const { withNx } = require('@nx/next/plugins/with-nx');
const NextFederationPlugin = require('@module-federation/nextjs-mf');

/**
* @type {import('@nx/next/plugins/with-nx').WithNxOptions}
* @type {import('next').NextConfig}
**/
const nextConfig = {
nx: {
// Set this to true if you would like to to use SVGR
// See: https://github.com/gregberge/svgr
svgr: false,
},
webpack(config, options) {
const { isServer } = options;
config.watchOptions = {
Expand All @@ -28,6 +22,22 @@ const nextConfig = {
}/remoteEntry.js`,
};

const resolveFromApp = (request) =>
require.resolve(request, { paths: [options.dir] });

config.resolve = config.resolve || {};
config.resolve.alias = {
...(config.resolve.alias || {}),
'next/dist/compiled/react': resolveFromApp('react'),
'next/dist/compiled/react/jsx-runtime':
resolveFromApp('react/jsx-runtime'),
'next/dist/compiled/react/jsx-dev-runtime': resolveFromApp(
'react/jsx-dev-runtime',
),
'next/dist/compiled/react-dom': resolveFromApp('react-dom'),
'next/dist/compiled/react-dom/client': resolveFromApp('react-dom/client'),
};

config.plugins.push(
new NextFederationPlugin({
name: 'home_app',
Expand Down Expand Up @@ -58,14 +68,8 @@ const nextConfig = {
},
}),
);
config.plugins.push({
name: 'xxx',
apply(compiler) {
compiler.options.devtool = false;
},
});
return config;
},
};

module.exports = withNx(nextConfig);
module.exports = nextConfig;
10 changes: 5 additions & 5 deletions apps/3000-home/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
"@ant-design/cssinjs": "^1.21.0",
"antd": "5.19.1",
"lodash": "4.17.21",
"next": "14.2.16",
"react": "18.3.1",
"react-dom": "18.3.1"
"next": "15.3.3",
"react": "19.1.1",
"react-dom": "19.1.1"
},
"devDependencies": {
"@module-federation/nextjs-mf": "workspace:*",
"@module-federation/runtime": "workspace:*",
"@types/react": "18.3.11",
"@types/react-dom": "18.3.0",
"@types/react": "19.1.8",
"@types/react-dom": "19.1.3",
"webpack": "5.98.0"
},
"scripts": {
Expand Down
Loading
Loading