From 674def926408995e0b589badb74f848a3ddef174 Mon Sep 17 00:00:00 2001 From: JounQin Date: Thu, 8 May 2025 11:41:35 +0800 Subject: [PATCH] fix: enable `lazyCompilation` and `refreshOptions` for rspack Signed-off-by: JounQin --- .changeset/clean-otters-allow.md | 5 + .gitignore | 2 +- packages/cli/package.json | 8 +- .../src/modules/build/lib/bundler/config.ts | 22 ++-- yarn.lock | 102 +++++++++--------- 5 files changed, 72 insertions(+), 67 deletions(-) create mode 100644 .changeset/clean-otters-allow.md diff --git a/.changeset/clean-otters-allow.md b/.changeset/clean-otters-allow.md new file mode 100644 index 0000000000..5e0aeb598f --- /dev/null +++ b/.changeset/clean-otters-allow.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +fix: enable `lazyCompilation` and `refreshOptions` for rspack diff --git a/.gitignore b/.gitignore index 25280b40b0..fa4184ecf2 100644 --- a/.gitignore +++ b/.gitignore @@ -183,4 +183,4 @@ knip.json # Typedocs temporary files type-docs docs.json -tsconfig.typedoc.tmp.json \ No newline at end of file +tsconfig.typedoc.tmp.json diff --git a/packages/cli/package.json b/packages/cli/package.json index 616556b5b6..96fcdd6923 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -180,9 +180,9 @@ "@backstage/plugin-scaffolder-node-test-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@backstage/theme": "workspace:^", - "@rspack/core": "^1.0.10", - "@rspack/dev-server": "^1.0.9", - "@rspack/plugin-react-refresh": "^1.0.0", + "@rspack/core": "^1.3.9", + "@rspack/dev-server": "^1.1.1", + "@rspack/plugin-react-refresh": "^1.4.2", "@types/cross-spawn": "^6.0.2", "@types/ejs": "^3.1.3", "@types/express": "^4.17.6", @@ -204,7 +204,7 @@ "nodemon": "^3.0.1" }, "peerDependencies": { - "@rspack/core": "^1.0.10", + "@rspack/core": "^1.2.8", "@rspack/dev-server": "^1.0.9", "@rspack/plugin-react-refresh": "^1.0.0" }, diff --git a/packages/cli/src/modules/build/lib/bundler/config.ts b/packages/cli/src/modules/build/lib/bundler/config.ts index 6b7b6543ae..d7c824e3fa 100644 --- a/packages/cli/src/modules/build/lib/bundler/config.ts +++ b/packages/cli/src/modules/build/lib/bundler/config.ts @@ -142,19 +142,19 @@ export async function createConfig( options.moduleFederation, ); + const refreshOptions = { + overlay: { + sockProtocol: 'ws', + sockHost: host, + sockPort: port, + }, + } as const; + if (rspack) { const RspackReactRefreshPlugin = require('@rspack/plugin-react-refresh'); - plugins.push(new RspackReactRefreshPlugin()); + plugins.push(new RspackReactRefreshPlugin(refreshOptions)); } else { - plugins.push( - new ReactRefreshPlugin({ - overlay: { - sockProtocol: 'ws', - sockHost: host, - sockPort: port, - }, - }), - ); + plugins.push(new ReactRefreshPlugin(refreshOptions)); } } @@ -466,7 +466,7 @@ export async function createConfig( : {}), }, experiments: { - lazyCompilation: !rspack && yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), + lazyCompilation: yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), ...(rspack && { // We're still using `style-loader` for custom `insert` option css: false, diff --git a/yarn.lock b/yarn.lock index 54fe8e9f2f..41a7a8b732 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3944,9 +3944,9 @@ __metadata: "@rollup/plugin-json": "npm:^6.0.0" "@rollup/plugin-node-resolve": "npm:^15.0.0" "@rollup/plugin-yaml": "npm:^4.0.0" - "@rspack/core": "npm:^1.0.10" - "@rspack/dev-server": "npm:^1.0.9" - "@rspack/plugin-react-refresh": "npm:^1.0.0" + "@rspack/core": "npm:^1.3.9" + "@rspack/dev-server": "npm:^1.1.1" + "@rspack/plugin-react-refresh": "npm:^1.4.2" "@spotify/eslint-config-base": "npm:^15.0.0" "@spotify/eslint-config-react": "npm:^15.0.0" "@spotify/eslint-config-typescript": "npm:^15.0.0" @@ -4060,7 +4060,7 @@ __metadata: zod: "npm:^3.22.4" zod-validation-error: "npm:^3.4.0" peerDependencies: - "@rspack/core": ^1.0.10 + "@rspack/core": ^1.2.8 "@rspack/dev-server": ^1.0.9 "@rspack/plugin-react-refresh": ^1.0.0 peerDependenciesMeta: @@ -16581,82 +16581,82 @@ __metadata: languageName: node linkType: hard -"@rspack/binding-darwin-arm64@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-darwin-arm64@npm:1.3.9" +"@rspack/binding-darwin-arm64@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-darwin-arm64@npm:1.3.10" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rspack/binding-darwin-x64@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-darwin-x64@npm:1.3.9" +"@rspack/binding-darwin-x64@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-darwin-x64@npm:1.3.10" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rspack/binding-linux-arm64-gnu@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-linux-arm64-gnu@npm:1.3.9" +"@rspack/binding-linux-arm64-gnu@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-linux-arm64-gnu@npm:1.3.10" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rspack/binding-linux-arm64-musl@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-linux-arm64-musl@npm:1.3.9" +"@rspack/binding-linux-arm64-musl@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-linux-arm64-musl@npm:1.3.10" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rspack/binding-linux-x64-gnu@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-linux-x64-gnu@npm:1.3.9" +"@rspack/binding-linux-x64-gnu@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-linux-x64-gnu@npm:1.3.10" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rspack/binding-linux-x64-musl@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-linux-x64-musl@npm:1.3.9" +"@rspack/binding-linux-x64-musl@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-linux-x64-musl@npm:1.3.10" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rspack/binding-win32-arm64-msvc@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-win32-arm64-msvc@npm:1.3.9" +"@rspack/binding-win32-arm64-msvc@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-win32-arm64-msvc@npm:1.3.10" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rspack/binding-win32-ia32-msvc@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-win32-ia32-msvc@npm:1.3.9" +"@rspack/binding-win32-ia32-msvc@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-win32-ia32-msvc@npm:1.3.10" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rspack/binding-win32-x64-msvc@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding-win32-x64-msvc@npm:1.3.9" +"@rspack/binding-win32-x64-msvc@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding-win32-x64-msvc@npm:1.3.10" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rspack/binding@npm:1.3.9": - version: 1.3.9 - resolution: "@rspack/binding@npm:1.3.9" +"@rspack/binding@npm:1.3.10": + version: 1.3.10 + resolution: "@rspack/binding@npm:1.3.10" dependencies: - "@rspack/binding-darwin-arm64": "npm:1.3.9" - "@rspack/binding-darwin-x64": "npm:1.3.9" - "@rspack/binding-linux-arm64-gnu": "npm:1.3.9" - "@rspack/binding-linux-arm64-musl": "npm:1.3.9" - "@rspack/binding-linux-x64-gnu": "npm:1.3.9" - "@rspack/binding-linux-x64-musl": "npm:1.3.9" - "@rspack/binding-win32-arm64-msvc": "npm:1.3.9" - "@rspack/binding-win32-ia32-msvc": "npm:1.3.9" - "@rspack/binding-win32-x64-msvc": "npm:1.3.9" + "@rspack/binding-darwin-arm64": "npm:1.3.10" + "@rspack/binding-darwin-x64": "npm:1.3.10" + "@rspack/binding-linux-arm64-gnu": "npm:1.3.10" + "@rspack/binding-linux-arm64-musl": "npm:1.3.10" + "@rspack/binding-linux-x64-gnu": "npm:1.3.10" + "@rspack/binding-linux-x64-musl": "npm:1.3.10" + "@rspack/binding-win32-arm64-msvc": "npm:1.3.10" + "@rspack/binding-win32-ia32-msvc": "npm:1.3.10" + "@rspack/binding-win32-x64-msvc": "npm:1.3.10" dependenciesMeta: "@rspack/binding-darwin-arm64": optional: true @@ -16676,16 +16676,16 @@ __metadata: optional: true "@rspack/binding-win32-x64-msvc": optional: true - checksum: 10/bf7679a324dbf67a563e27e9d441b161b0d292b64f24c47b3955a1f12f705b4a60c215735ea09cb2c4e2bfc68cb4dfb24af88daef055a683a7369a5156a2a808 + checksum: 10/10328e405c6708f7d1eea7e8f83d7f4453bcc3e4ca77b99eb29819d9f66c51e85b8cf46daab797bea59fdafc266dab6091deb9b5e2ec3007482da11ab10dc62c languageName: node linkType: hard -"@rspack/core@npm:^1.0.10": - version: 1.3.9 - resolution: "@rspack/core@npm:1.3.9" +"@rspack/core@npm:^1.3.9": + version: 1.3.10 + resolution: "@rspack/core@npm:1.3.10" dependencies: "@module-federation/runtime-tools": "npm:0.13.1" - "@rspack/binding": "npm:1.3.9" + "@rspack/binding": "npm:1.3.10" "@rspack/lite-tapable": "npm:1.0.1" caniuse-lite: "npm:^1.0.30001717" peerDependencies: @@ -16693,11 +16693,11 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10/9a4c5cdd51ba66354d27a27b23736c44a5eeac13c70729ae75589cb2bc4bbe600ceb0cf4b11cb0686f8cc96f61b3bf36827b269537c134713278a22d54eb6957 + checksum: 10/5471ced4f461936c723199006182ce9fc54a5840aa7ba46f56f137d46b1839b994a9f6e4539e1376eaaf2956cbbbe5a7846d06ab61246e38711a805f7dd56df4 languageName: node linkType: hard -"@rspack/dev-server@npm:^1.0.9": +"@rspack/dev-server@npm:^1.1.1": version: 1.1.1 resolution: "@rspack/dev-server@npm:1.1.1" dependencies: @@ -16722,7 +16722,7 @@ __metadata: languageName: node linkType: hard -"@rspack/plugin-react-refresh@npm:^1.0.0": +"@rspack/plugin-react-refresh@npm:^1.4.2": version: 1.4.3 resolution: "@rspack/plugin-react-refresh@npm:1.4.3" dependencies: