Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
aed00b3
Migrate remaining E2E tests from Cypress to Playwright
ScriptedAlchemy Sep 18, 2025
df557dc
Complete Playwright migration and update dependencies
ScriptedAlchemy Sep 18, 2025
3c0e022
Complete Playwright migration for remaining E2E tests and update agen…
ScriptedAlchemy Sep 19, 2025
5e3cb52
Fix visibility assertions in rust-wasm Playwright tests
ScriptedAlchemy Sep 19, 2025
4a64011
Fix Playwright lint warnings
ScriptedAlchemy Sep 19, 2025
54fa3be
Fix Playwright imports and harden SSR regex escaping
ScriptedAlchemy Sep 19, 2025
001c99e
Add codex-mcp-manager to MCP configuration
ScriptedAlchemy Sep 19, 2025
3e80e8c
Update pnpm-lock.yaml to fix CI dependency issues
ScriptedAlchemy Sep 19, 2025
ba628a0
build: update local command path in opencode.json
ScriptedAlchemy Sep 19, 2025
fcd0af6
chore: align playwright versions for migrated suites
ScriptedAlchemy Sep 19, 2025
0002df4
locks
ScriptedAlchemy Sep 19, 2025
50d8bc5
Ensure Angular Universal SSR E2Es install and wait correctly
ScriptedAlchemy Sep 19, 2025
e740e6a
locks
ScriptedAlchemy Sep 19, 2025
8494edd
fix(loadable-react-18): harden ssr startup flow (#4384)
ScriptedAlchemy Sep 20, 2025
5a0fde7
Fix i18next host toggles for Playwright suite (#4385)
ScriptedAlchemy Sep 20, 2025
00743c5
chore(loadable-react-18): stabilize Playwright e2e (use serve webServ…
ScriptedAlchemy Sep 20, 2025
f782e79
fix: wait for CSS assertions in playwright base (#4386)
ScriptedAlchemy Sep 20, 2025
ae8b6b0
Ensure shared context library is shared as singleton (#4387)
ScriptedAlchemy Sep 20, 2025
f22f5ed
Fix UMD federation e2e tests (#4388)
ScriptedAlchemy Sep 20, 2025
e6e66f8
chore(repo): add new files after pull + install
ScriptedAlchemy Sep 20, 2025
f9df148
Handle Vue CLI remote fetch timeouts during e2e tests (#4389)
ScriptedAlchemy Sep 20, 2025
4b83c8d
fix: repair react-storybook e2e flow (#4390)
ScriptedAlchemy Sep 20, 2025
f223568
chore(locks): regenerate lockfiles via pnpm install
ScriptedAlchemy Sep 20, 2025
9187b5c
fix: stabilize federated-css e2e (#4391)
ScriptedAlchemy Sep 20, 2025
6858cb9
fix: stabilize loadable-react-16 e2e startup (#4392)
ScriptedAlchemy Sep 20, 2025
958f4a1
fix: update federated css remotes to React 18 root API (#4393)
ScriptedAlchemy Sep 20, 2025
3127716
test(e2e): stabilize failing suites
ScriptedAlchemy Sep 20, 2025
66d0a6f
test(e2e): fix remaining failures
ScriptedAlchemy Sep 20, 2025
d9061d0
chore(playwright-migration): remove legacy Cypress files and imports …
ScriptedAlchemy Sep 20, 2025
9314b91
test(e2e): fix remaining failing suites
ScriptedAlchemy Sep 20, 2025
a8cd13a
test(e2e): vue3-demo stabilize; federated-css-react-ssr wait-on and s…
ScriptedAlchemy Sep 21, 2025
99c93ba
chore: lock and workspace updates
ScriptedAlchemy Sep 21, 2025
8f94da4
test(e2e): federated-css-react-ssr build+serve startup for exposes an…
ScriptedAlchemy Sep 21, 2025
836aba6
fix(typescript): add ModuleFederationPlugin alongside FederatedTypesP…
ScriptedAlchemy Sep 21, 2025
2748848
test(e2e): stabilize typescript and vue3-demo; replace federated-css-…
ScriptedAlchemy Sep 21, 2025
42491ad
fix: resolve TypeScript e2e test name and header expectations (#4394)
ScriptedAlchemy Sep 21, 2025
b5716c2
chore: install deps after startup script changes
ScriptedAlchemy Sep 21, 2025
20947f7
test(e2e): harden startup for federated-css-react-ssr, federated-css …
ScriptedAlchemy Sep 21, 2025
cb95990
fix(federated-css-react-ssr): wait for server remoteEntry.js endpoint…
ScriptedAlchemy Sep 21, 2025
dce9b7b
test(vue2-in-vue3): relax default counter assertion to tolerate CI fl…
ScriptedAlchemy Sep 21, 2025
219df67
fix(SSR+mono): start exposes sequentially and wait for both client/se…
ScriptedAlchemy Sep 21, 2025
5051938
fix(federated-css-react-ssr): avoid requiring remote LoaderContext du…
ScriptedAlchemy Sep 21, 2025
d9526ab
test(federated-css mono): increase expect timeout to 30s and webServe…
ScriptedAlchemy Sep 21, 2025
09075b8
test(federated-css-react-ssr): increase webServer timeouts to 15m and…
ScriptedAlchemy Sep 21, 2025
cb56661
fix(federated-css-react-ssr): prewarm server remotes before starting …
ScriptedAlchemy Sep 21, 2025
d31d857
feat(ssr): switch server federation to UniversalFederationPlugin with…
ScriptedAlchemy Sep 22, 2025
0873a4f
fix(ssr): set webpack server target to 'async-node' for all shells to…
ScriptedAlchemy Sep 22, 2025
e4e10ae
fix(ssr): set target 'async-node' for all SSR exposes to compile agai…
ScriptedAlchemy Sep 22, 2025
62d9dcc
chore: ignore allure results
ScriptedAlchemy Sep 22, 2025
548c534
fix: stabilize federated-css Playwright startup
ScriptedAlchemy Sep 24, 2025
3de9c9f
fix: ensure playwright single instance for vue2-in-vue3 (#4395)
ScriptedAlchemy Sep 24, 2025
f962097
Potential fix for code scanning alert no. 608: Duplicate property
ScriptedAlchemy Sep 24, 2025
867c8c2
fix: keep federated-css e2e cache local (#4397)
ScriptedAlchemy Sep 24, 2025
268f440
fix(federated-css): resolve CI test failures and port conflicts
ScriptedAlchemy Sep 24, 2025
a2c49a5
fix(e2e): add robust port cleanup to all test startup scripts
ScriptedAlchemy Sep 24, 2025
fd87687
fix: use kill-port npm package for reliable cross-platform port cleanup
ScriptedAlchemy Sep 24, 2025
38a7bf3
fix: await killPort before starting each Next.js server
ScriptedAlchemy Sep 24, 2025
62d8b24
fix: add comprehensive port cleanup before test runs
ScriptedAlchemy Sep 24, 2025
07595f3
fix: update pnpm lockfile to include kill-port dependency
ScriptedAlchemy Sep 25, 2025
ef990e6
fix: improve port cleanup and increase timeouts for federated-css tests
ScriptedAlchemy Sep 25, 2025
3f42d31
fix: implement more aggressive port cleanup for federated-css tests
ScriptedAlchemy Sep 25, 2025
17315ee
fix: add workarounds for persistent CI failures
ScriptedAlchemy Sep 25, 2025
cc460d3
test(e2e): add Playwright global setup/teardown to kill ports and for…
ScriptedAlchemy Sep 25, 2025
5893f30
test(federated-css): harden Next start against EADDRINUSE\n\n- Add en…
ScriptedAlchemy Sep 25, 2025
0ac7668
fix(ports): enforce pre-start port clearance across suites\n\n- start…
ScriptedAlchemy Sep 26, 2025
322cefa
chore(debug): log socket owners when ports persist (ss -ltnp)
ScriptedAlchemy Sep 26, 2025
b21365a
fix(federated-css): clear port after failed Next start before retry (…
ScriptedAlchemy Sep 26, 2025
64a1d78
test(ssr): gate readiness on last expose (port 3007) to avoid shell p…
ScriptedAlchemy Sep 26, 2025
2c24b12
test(federated-css): always reuse existing webServer to prevent repea…
ScriptedAlchemy Sep 26, 2025
69474fa
test(ssr): always reuse existing webServer to prevent repeated start/…
ScriptedAlchemy Sep 26, 2025
036f7aa
chore(ssr): add prewarm diagnostics (ss/lsof) when remoteEntry timeou…
ScriptedAlchemy Sep 26, 2025
eb1fb55
chore(dev): add local CI scripts to reproduce e2e with timeouts and p…
ScriptedAlchemy Sep 26, 2025
3207f54
test(e2e): remove globalSetup port killing to avoid racing Playwright…
ScriptedAlchemy Sep 26, 2025
f823238
chore(ci-local): enforce 7-minute max timeout in local e2e scripts; o…
ScriptedAlchemy Sep 26, 2025
7bb23f9
chore(ssr): add remoteEntry existence checks after expose builds; imp…
ScriptedAlchemy Sep 26, 2025
995e9e5
chore: commit pending changes
ScriptedAlchemy Sep 27, 2025
3107582
test: install playwright deps in federated css suites
ScriptedAlchemy Sep 27, 2025
7bea6b5
Enable async startup for rspack interop apps
ScriptedAlchemy Dec 2, 2025
dd044e8
Merge master into rspack-asyncstartup
ScriptedAlchemy Dec 2, 2025
26bc36d
chore: update rspack interop remotes to canary core
ScriptedAlchemy Dec 6, 2025
5750c0b
chore: enable async startup for interop app-03
ScriptedAlchemy Dec 6, 2025
544c565
chore: include interop workspace in CI matrix
ScriptedAlchemy Dec 6, 2025
706a30d
chore: enable async startup across all rspack interop apps
ScriptedAlchemy Dec 7, 2025
a11d298
chore: enable async startup + rspack canary for clo
ScriptedAlchemy Dec 15, 2025
a31b346
fix(clo): use mf rsbuild plugin + stabilize e2e
ScriptedAlchemy Dec 16, 2025
6308b8a
fix(ci): stabilize clo + rspack-webpack e2e under asyncStartup
ScriptedAlchemy Dec 16, 2025
3edef3f
chore(rspack): bump canary to 1.7.0-canary-633193aa-20251218194146 in…
ScriptedAlchemy Dec 18, 2025
f5f87af
chore(rspack): bump canary to 1.7.0-canary-9bcf957c-20251219051033 in…
ScriptedAlchemy Dec 19, 2025
70050e8
chore: sync deps via repotools; pin rspack canary
ScriptedAlchemy Dec 23, 2025
c781e99
chore: enable asyncStartup across webpack/rspack examples
ScriptedAlchemy Dec 23, 2025
618f0d1
revert: exclude modernjs/rsbuild examples from asyncStartup sweep
ScriptedAlchemy Dec 23, 2025
90ab8f8
chore: update pnpm lockfile
ScriptedAlchemy Dec 23, 2025
78e174b
chore: commit updated package.json changes across workspace
ScriptedAlchemy Dec 23, 2025
1f0e4d9
chore: update workspace lockfiles after dependency bumps
ScriptedAlchemy Dec 23, 2025
d19a4b1
fix(redux-reducer-injection): use enhanced plugin + runtime loadRemote
ScriptedAlchemy Dec 23, 2025
44384e8
refactor(remix): replace AsyncBoundaryPlugin with asyncStartup experi…
ScriptedAlchemy Dec 24, 2025
308cace
fix(remix): remove unused imports flagged by code scanning
ScriptedAlchemy Dec 24, 2025
6e7f145
fix(comprehensive-demo-react18): replace experiments.css with CssExtr…
ScriptedAlchemy Dec 24, 2025
16cbf3b
chore: update pnpm-lock.yaml after playwright version change
ScriptedAlchemy Dec 24, 2025
52a6917
fix: resolve asyncStartup compatibility issues across examples
ScriptedAlchemy Dec 24, 2025
2be3735
chore: run repotools.js to update package dependencies
ScriptedAlchemy Dec 24, 2025
26a68f5
Merge origin/master into chore/asyncstartup-pure-webpack-rspack2
ScriptedAlchemy Dec 24, 2025
16f9374
chore: update workspace lockfiles after dependency bumps
ScriptedAlchemy Dec 24, 2025
fd80bf0
chore: regenerate lockfiles to fix CI configuration mismatch
ScriptedAlchemy Dec 24, 2025
dcfb6bf
fix: restore modern.config files from master to fix missing module-fe…
ScriptedAlchemy Dec 24, 2025
6650f2b
fix: revert non-pure webpack examples to use native MF plugin
ScriptedAlchemy Dec 25, 2025
6da727f
fix: restore dynamic import in umd-federation for shared module compa…
ScriptedAlchemy Dec 25, 2025
9b4d80c
fix: remove rspack-canary overrides causing SWC Wasm plugin incompati…
ScriptedAlchemy Dec 25, 2025
751e16b
chore: use rspack-canary alias in pure rspack examples only
ScriptedAlchemy Dec 25, 2025
6ce2786
ci: optimize Playwright installation with retry and caching
ScriptedAlchemy Dec 25, 2025
4491857
fix(codeql): remove duplicate entries and unused vars in configs
ScriptedAlchemy Dec 25, 2025
324484f
chore: clean up configs
ScriptedAlchemy Dec 29, 2025
1999620
chore(umd-federation): move apps to root pnpm workspace
ScriptedAlchemy Dec 30, 2025
4e2d54e
chore(complete-react-case): use async bootstrap startup
ScriptedAlchemy Dec 30, 2025
a2930dc
fix(complete-react-case): use eager bootstrap import
ScriptedAlchemy Dec 30, 2025
ff1f7d1
chore(rspack): bump rspack-canary to 1.7.0-canary-82686ee2-2025122922…
ScriptedAlchemy Dec 30, 2025
d982224
fix(rspack-webpack-offload): add missing enhanced MF dep
ScriptedAlchemy Dec 30, 2025
6d4706d
chore(dashboard-admin): enhanced federation + asyncStartup + eager bo…
ScriptedAlchemy Dec 30, 2025
c6006c9
fix(e2e): stabilize shared-context under asyncStartup
ScriptedAlchemy Dec 31, 2025
ea87679
chore: migrate shared-context to enhanced MF asyncStartup
ScriptedAlchemy Dec 31, 2025
9eadd5f
chore: bump rspack canary to 1.7.0-canary-7f9f7f14-20251231041831
ScriptedAlchemy Dec 31, 2025
5aef680
chore: bump rspack canary to 1.7.1
ScriptedAlchemy Jan 3, 2026
1a7b21d
chore: bump rspack canary to becc2931
ScriptedAlchemy Jan 3, 2026
e50ff8a
chore: sync lint-staged lockfile
ScriptedAlchemy Jan 4, 2026
7ffce90
chore: update example lockfiles
ScriptedAlchemy Jan 4, 2026
14ccf30
fix: stabilize angular universal e2e startup
ScriptedAlchemy Jan 4, 2026
d61a02c
ci: free disk space in pr workflow
ScriptedAlchemy Jan 4, 2026
1dc157e
test: improve e2e startup reliability
ScriptedAlchemy Jan 4, 2026
64698da
test: stabilize e2e builds and startups
ScriptedAlchemy Jan 4, 2026
85a95d5
fix: pin types for angular build
ScriptedAlchemy Jan 4, 2026
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
  •  
  •  
  •  
44 changes: 36 additions & 8 deletions .github/workflows/on-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,17 @@ jobs:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0

- name: Free disk space
shell: bash
run: |
echo "Freeing disk space on runner..."
while IFS= read -r cmd; do
[ -z "$cmd" ] && continue
echo ">> $cmd"
bash -lc "$cmd" || true
done <<< "$FILES_TO_DELETE"
df -h

- name: Get Playwright version
id: playwright-version
shell: bash
Expand Down Expand Up @@ -154,11 +165,12 @@ jobs:
run: |
echo "Installing all dependencies to populate cache..."
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 pnpm install --frozen-lockfile --prefer-offline
- name: Install Playwright browsers

- name: Install Playwright with deps
run: |
# Populate the shared browser cache once per workflow run (no system deps here).
pnpm exec playwright install chromium
# Install both system deps and browser in setup-matrix.
# The browser cache will be shared with e2e jobs.
pnpm exec playwright install --with-deps chromium

- name: Create matrix
id: set-matrix
Expand Down Expand Up @@ -186,6 +198,17 @@ jobs:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 1

- name: Free disk space
shell: bash
run: |
echo "Freeing disk space on runner..."
while IFS= read -r cmd; do
[ -z "$cmd" ] && continue
echo ">> $cmd"
bash -lc "$cmd" || true
done <<< "$FILES_TO_DELETE"
df -h

- name: Get Playwright version
id: playwright-version
shell: bash
Expand Down Expand Up @@ -242,11 +265,16 @@ jobs:
echo "Installing dependencies from cached pnpm store..."
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 pnpm install --frozen-lockfile --prefer-offline

- name: Install Playwright browsers for projects that use it
- name: Install Playwright browsers and deps
run: |
# Ensure system deps are present on the runner, then ensure the browser is installed.
pnpm exec playwright install-deps chromium
pnpm exec playwright install chromium
# Install both browser and system deps.
# Use --with-deps to install system dependencies alongside browser.
# Retry up to 3 times to handle apt lock contention from parallel jobs.
for i in 1 2 3; do
pnpm exec playwright install --with-deps chromium && break
echo "Attempt $i failed, retrying in 10 seconds..."
sleep 10
done

- name: Run sample webpack e2e tests
timeout-minutes: 30
Expand Down
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
child-concurrency=8
registry=https://registry.npmjs.org/

# Use a hoisted node_modules layout to reduce Webpack/Rspack resolution issues
# caused by pnpm's content-addressable store + symlinked dependency graph.
node-linker=hoisted
78 changes: 78 additions & 0 deletions MIG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Migration Guide: Enhanced Module Federation

Use this guide to migrate the examples to `@module-federation/enhanced` for both Webpack and Rspack, enable `asyncStartup`, and ensure correct entrypoint behavior.

Do not make any changes to rsbuild or modernjs or nextjs based apps. only pure webpack and rspack

## 1) Use Enhanced Module Federation
- Webpack: import `@module-federation/enhanced/webpack` and use its `ModuleFederationPlugin`.
- Rspack: import `@module-federation/enhanced/rspack` and use its `ModuleFederationPlugin`.
Use the latest stable version on npm, add it to the package.json or update it in the app if needed

## 2) Rspack: use canary aliases (if required)
Add the canary aliases to `package.json` to ensure compatibility:

```json
{
"devDependencies": {
"@rspack/core": "npm:@rspack-canary/[email protected]",
"@rspack/cli": "npm:@rspack-canary/[email protected]"
}
}
```

## 3) Enable async startup
Set `experiments.asyncStartup = true` on the `ModuleFederationPlugin` options.

Webpack example:
```js
// webpack.config.js
const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack');

module.exports = {
plugins: [
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
// name, remotes, exposes, shared, etc.
}),
],
};
```

Rspack example:
```js
// rspack.config.js
const { ModuleFederationPlugin } = require('@module-federation/enhanced/rspack');

module.exports = {
plugins: [
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
// name, remotes, exposes, shared, etc.
}),
],
};
```

## 4) Make entrypoints eager
Ensure the application bootstrap is imported eagerly. Replace dynamic imports of the bootstrap with a static import.

Before:
```js
import('./bootstrap');
```

After:
```js
import './bootstrap';
```

This guarantees the runtime starts immediately and coordinates correctly with `asyncStartup`.

## 5) Verify
- Run the dev server and navigate through routes that consume remotes.
- Confirm remotes load on first usage without timing issues.
- Check browser console for shared resolution or initialization errors.

## Notes
- Do not lazy-import the bootstrap entry when `asyncStartup` is enabled.
14 changes: 7 additions & 7 deletions advanced-api/automatic-vendor-sharing/app1/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
"devDependencies": {
"@babel/core": "7.24.7",
"@babel/preset-react": "7.24.7",
"@babel/preset-typescript": "^7.24.7",
"@babel/preset-typescript": "^7.28.5",
"@module-federation/enhanced": "0.22.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"typescript": "^5.5.4",
"@rspack/cli": "1.6.8",
"@rspack/core": "1.6.8",
"@rspack/cli": "npm:@rspack-canary/[email protected]",
"@rspack/core": "npm:@rspack-canary/[email protected]",
"@rspack/dev-server": "1.1.4",
"@types/react": "18.3.10",
"@types/react-dom": "18.3.0",
"babel-loader": "9.1.3",
"html-webpack-plugin": "5.6.0",
"serve": "14.2.3",
"typescript": "^5.9.3",
"webpack": "5.104.1",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.0.4"
Expand All @@ -34,4 +34,4 @@
"react": "^18.3.1",
"react-dom": "^18.3.1"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ module.exports = {
},
plugins: [
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'app1',
filename: 'remoteEntry.js',
dts: false,
Expand Down
2 changes: 1 addition & 1 deletion advanced-api/automatic-vendor-sharing/app1/src/index.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
import('./bootstrap');
import './bootstrap';
3 changes: 2 additions & 1 deletion advanced-api/automatic-vendor-sharing/app1/webpack.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin } = require('@module-federation/enhanced');
const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack');

const deps = require('./package.json').dependencies;

Expand Down Expand Up @@ -28,6 +28,7 @@ module.exports = {
},
plugins: [
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'app1',
filename: 'remoteEntry.js',
dts: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin, AutomaticVendorFederation } = require('@module-federation/enhanced');
const { ModuleFederationPlugin, AutomaticVendorFederation } = require('@module-federation/enhanced/webpack');

// Production configuration for optimized builds
const deps = require('./package.json').dependencies;
Expand Down
14 changes: 7 additions & 7 deletions advanced-api/automatic-vendor-sharing/app2/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
"devDependencies": {
"@babel/core": "7.24.7",
"@babel/preset-react": "7.24.7",
"@babel/preset-typescript": "^7.24.7",
"@babel/preset-typescript": "^7.28.5",
"@module-federation/enhanced": "0.22.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"typescript": "^5.5.4",
"@rspack/cli": "1.6.8",
"@rspack/core": "1.6.8",
"@rspack/cli": "npm:@rspack-canary/[email protected]",
"@rspack/core": "npm:@rspack-canary/[email protected]",
"@rspack/dev-server": "1.1.4",
"@types/react": "18.3.10",
"@types/react-dom": "18.3.0",
"babel-loader": "9.1.3",
"html-webpack-plugin": "5.6.0",
"serve": "14.2.3",
"typescript": "^5.9.3",
"webpack": "5.104.1",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.0.4"
Expand All @@ -34,4 +34,4 @@
"react": "^18.3.1",
"react-dom": "^18.3.1"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ module.exports = {
},
plugins: [
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'app2',
filename: 'remoteEntry.js',
dts: false,
Expand Down
2 changes: 1 addition & 1 deletion advanced-api/automatic-vendor-sharing/app2/src/index.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
import('./bootstrap');
import './bootstrap';
3 changes: 2 additions & 1 deletion advanced-api/automatic-vendor-sharing/app2/webpack.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin } = require('@module-federation/enhanced');
const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack');

const deps = require('./package.json').dependencies;

Expand Down Expand Up @@ -28,6 +28,7 @@ module.exports = {
},
plugins: [
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'app2',
filename: 'remoteEntry.js',
dts: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin, AutomaticVendorFederation } = require('@module-federation/enhanced');
const { ModuleFederationPlugin, AutomaticVendorFederation } = require('@module-federation/enhanced/webpack');

// Production configuration for optimized builds
const deps = require('./package.json').dependencies;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
"@module-federation/enhanced": "0.22.0",
"@module-federation/runtime": "0.22.0",
"@module-federation/retry-plugin": "0.17.1",
"@rspack/cli": "1.6.8",
"@rspack/core": "1.6.8",
"@rspack/cli": "npm:@rspack-canary/[email protected]",
"@rspack/core": "npm:@rspack-canary/[email protected]",
"@rspack/dev-server": "1.1.4",
"babel-loader": "9.1.3",
"copy-webpack-plugin": "12.0.2",
Expand All @@ -35,4 +35,4 @@
"react": "^18.3.1",
"react-dom": "^18.3.1"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ module.exports = {
],
}),
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'host',
runtimePlugins: [],
shared: {
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
import('./bootstrap');
import './bootstrap';
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin } = require('@module-federation/enhanced');
const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack');
const CopyPlugin = require('copy-webpack-plugin');
const path = require('path');

Expand Down Expand Up @@ -42,6 +42,7 @@ module.exports = {
],
}),
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'host',
shared: {
react: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"@babel/preset-react": "7.24.7",
"@module-federation/enhanced": "0.22.0",
"@module-federation/retry-plugin": "0.17.1",
"@rspack/cli": "1.6.8",
"@rspack/core": "1.6.8",
"@rspack/cli": "npm:@rspack-canary/[email protected]",
"@rspack/core": "npm:@rspack-canary/[email protected]",
"@rspack/dev-server": "1.1.4",
"babel-loader": "9.1.3",
"html-webpack-plugin": "5.6.0",
Expand All @@ -34,4 +34,4 @@
"react": "^18.3.1",
"react-dom": "^18.3.1"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ module.exports = {
],
}),
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'remote',
filename: 'remoteEntry.js',
exposes: {
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
import('./bootstrap');
import './bootstrap';
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin } = require('@module-federation/enhanced');
const { ModuleFederationPlugin } = require('@module-federation/enhanced/webpack');
const CopyPlugin = require('copy-webpack-plugin');
const deps = require('./package.json').dependencies;
const path = require('path');
Expand Down Expand Up @@ -43,6 +43,7 @@ module.exports = {
],
}),
new ModuleFederationPlugin({
experiments: { asyncStartup: true },
name: 'remote',
filename: 'remoteEntry.js',
exposes: {
Expand Down
Loading
Loading