From 92eb68679e53e27d37ab0646c316b5b876257498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Fri, 19 Sep 2025 13:18:45 +0200 Subject: [PATCH 1/3] add side parameter to cache strategy function --- npm-packages/meteor-rspack/rspack.config.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/npm-packages/meteor-rspack/rspack.config.js b/npm-packages/meteor-rspack/rspack.config.js index 0fc1b6a7b3..dd85d1a744 100644 --- a/npm-packages/meteor-rspack/rspack.config.js +++ b/npm-packages/meteor-rspack/rspack.config.js @@ -27,16 +27,16 @@ function safeRequire(moduleName) { } // Persistent filesystem cache strategy -function createCacheStrategy(mode) { +function createCacheStrategy(mode, side) { return { cache: true, experiments: { cache: { - version: `swc-${mode}`, - type: 'persistent', + version: `swc-${mode}${(side && `-${side}`) || ""}`, + type: "persistent", storage: { - type: 'filesystem', - directory: 'node_modules/.cache/rspack', + type: "filesystem", + directory: `node_modules/.cache/rspack${(side && `/${side}`) || ""}`, }, }, }, @@ -369,7 +369,7 @@ module.exports = async function (inMeteor = {}, argv = {}) { }, }, }), - experiments: { css: true }, + ...merge(createCacheStrategy(mode, "client"), { experiments: { css: true } }) }; @@ -449,7 +449,7 @@ module.exports = async function (inMeteor = {}, argv = {}) { watchOptions, devtool: isDevEnvironment || isNative || isTest ? 'source-map' : 'hidden-source-map', ...((isDevEnvironment || (isTest && !isTestEager) || isNative) && - createCacheStrategy(mode)), + createCacheStrategy(mode, "server")), }; // Load and apply project-level overrides for the selected build From 4c6e88dae532335362866c1741d2d58f39cc93bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Fri, 19 Sep 2025 13:21:21 +0200 Subject: [PATCH 2/3] bump @meteorjs/rspack to version 0.0.53 --- npm-packages/meteor-rspack/package-lock.json | 4 ++-- npm-packages/meteor-rspack/package.json | 2 +- packages/rspack/lib/constants.js | 2 +- tools/modern-tests/apps/vue/package.json | 2 +- tools/static-assets/skel-apollo/package.json | 2 +- tools/static-assets/skel-babel/package.json | 2 +- tools/static-assets/skel-blaze/package.json | 2 +- tools/static-assets/skel-chakra-ui/package.json | 2 +- tools/static-assets/skel-coffee/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel-react/package.json | 2 +- tools/static-assets/skel-solid/package.json | 2 +- tools/static-assets/skel-svelte/package.json | 2 +- tools/static-assets/skel-tailwind/package.json | 2 +- tools/static-assets/skel-typescript/package.json | 2 +- tools/static-assets/skel-vue/package.json | 2 +- 16 files changed, 17 insertions(+), 17 deletions(-) diff --git a/npm-packages/meteor-rspack/package-lock.json b/npm-packages/meteor-rspack/package-lock.json index 04c477a7e6..dfa6e14388 100644 --- a/npm-packages/meteor-rspack/package-lock.json +++ b/npm-packages/meteor-rspack/package-lock.json @@ -1,12 +1,12 @@ { "name": "@meteorjs/rspack", - "version": "0.0.52", + "version": "0.0.53", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@meteorjs/rspack", - "version": "0.0.52", + "version": "0.0.53", "license": "ISC", "dependencies": { "ignore-loader": "^0.1.2", diff --git a/npm-packages/meteor-rspack/package.json b/npm-packages/meteor-rspack/package.json index 38b4cddb86..a2502e779f 100644 --- a/npm-packages/meteor-rspack/package.json +++ b/npm-packages/meteor-rspack/package.json @@ -1,6 +1,6 @@ { "name": "@meteorjs/rspack", - "version": "0.0.52", + "version": "0.0.53", "description": "Configuration logic for using Rspack in Meteor projects", "main": "index.js", "type": "commonjs", diff --git a/packages/rspack/lib/constants.js b/packages/rspack/lib/constants.js index aebc11210f..c94bcce28f 100644 --- a/packages/rspack/lib/constants.js +++ b/packages/rspack/lib/constants.js @@ -5,7 +5,7 @@ export const DEFAULT_RSPACK_VERSION = '1.5.3'; -export const DEFAULT_METEOR_RSPACK_VERSION = '0.0.52'; +export const DEFAULT_METEOR_RSPACK_VERSION = '0.0.53'; export const DEFAULT_METEOR_RSPACK_REACT_HMR_VERSION = '1.4.3'; diff --git a/tools/modern-tests/apps/vue/package.json b/tools/modern-tests/apps/vue/package.json index 73f777895a..b826964dd0 100644 --- a/tools/modern-tests/apps/vue/package.json +++ b/tools/modern-tests/apps/vue/package.json @@ -17,7 +17,7 @@ "vue-router": "^4.2.5" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rspack/cli": "^1.4.8", "@rspack/core": "^1.4.8", "@tailwindcss/postcss": "^4.1.12", diff --git a/tools/static-assets/skel-apollo/package.json b/tools/static-assets/skel-apollo/package.json index 7b543865c9..7c61d053ce 100644 --- a/tools/static-assets/skel-apollo/package.json +++ b/tools/static-assets/skel-apollo/package.json @@ -20,7 +20,7 @@ "devDependencies": { "@graphql-tools/webpack-loader": "^7.0.0", "@rsdoctor/rspack-plugin": "^1.2.3", - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", "@rspack/plugin-react-refresh": "^1.4.3", diff --git a/tools/static-assets/skel-babel/package.json b/tools/static-assets/skel-babel/package.json index a2bcb9a8c7..2152d9f321 100644 --- a/tools/static-assets/skel-babel/package.json +++ b/tools/static-assets/skel-babel/package.json @@ -17,7 +17,7 @@ "devDependencies": { "@babel/preset-env": "^7.28.3", "@babel/preset-react": "^7.23.3", - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-blaze/package.json b/tools/static-assets/skel-blaze/package.json index 7a694677fd..f1b3f08225 100644 --- a/tools/static-assets/skel-blaze/package.json +++ b/tools/static-assets/skel-blaze/package.json @@ -14,7 +14,7 @@ "meteor-node-stubs": "^1.2.12" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-chakra-ui/package.json b/tools/static-assets/skel-chakra-ui/package.json index d66c31727f..7ffd7966b2 100644 --- a/tools/static-assets/skel-chakra-ui/package.json +++ b/tools/static-assets/skel-chakra-ui/package.json @@ -21,7 +21,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-coffee/package.json b/tools/static-assets/skel-coffee/package.json index 1ae4667526..a264d8020a 100644 --- a/tools/static-assets/skel-coffee/package.json +++ b/tools/static-assets/skel-coffee/package.json @@ -15,7 +15,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index d3510cd8af..bcd750452d 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -12,7 +12,7 @@ "meteor-node-stubs": "^1.2.12" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-react/package.json b/tools/static-assets/skel-react/package.json index 4a24df537d..202dda9cc4 100644 --- a/tools/static-assets/skel-react/package.json +++ b/tools/static-assets/skel-react/package.json @@ -15,7 +15,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-solid/package.json b/tools/static-assets/skel-solid/package.json index 37c6ea3ce0..3e47c0ef54 100644 --- a/tools/static-assets/skel-solid/package.json +++ b/tools/static-assets/skel-solid/package.json @@ -14,7 +14,7 @@ "picocolors": "^1.1.1" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-svelte/package.json b/tools/static-assets/skel-svelte/package.json index c233662a20..950f1da277 100644 --- a/tools/static-assets/skel-svelte/package.json +++ b/tools/static-assets/skel-svelte/package.json @@ -13,7 +13,7 @@ "meteor-node-stubs": "^1.2.12" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-tailwind/package.json b/tools/static-assets/skel-tailwind/package.json index e64e1e57da..d6fa7323a7 100644 --- a/tools/static-assets/skel-tailwind/package.json +++ b/tools/static-assets/skel-tailwind/package.json @@ -16,7 +16,7 @@ "react-dom": "^17.0.2" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-typescript/package.json b/tools/static-assets/skel-typescript/package.json index 59c542899d..e877c05d0b 100644 --- a/tools/static-assets/skel-typescript/package.json +++ b/tools/static-assets/skel-typescript/package.json @@ -15,7 +15,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", diff --git a/tools/static-assets/skel-vue/package.json b/tools/static-assets/skel-vue/package.json index 46f28f9a2a..7dee7a0225 100644 --- a/tools/static-assets/skel-vue/package.json +++ b/tools/static-assets/skel-vue/package.json @@ -17,7 +17,7 @@ "vue-router": "^4.2.5" }, "devDependencies": { - "@meteorjs/rspack": "^0.0.52", + "@meteorjs/rspack": "^0.0.53", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.5.3", "@rspack/core": "^1.5.3", From b2c7ae3c251996650938e1245e53fbc035de89d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Fri, 19 Sep 2025 14:00:27 +0200 Subject: [PATCH 3/3] move babel-plugin-react-compiler check to afterInit hook --- tools/modern-tests/react-router.test.js | 6 +++++- tools/modern-tests/test-helpers.js | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/modern-tests/react-router.test.js b/tools/modern-tests/react-router.test.js index 0cc7c98dc8..9e7d7c0349 100644 --- a/tools/modern-tests/react-router.test.js +++ b/tools/modern-tests/react-router.test.js @@ -19,9 +19,13 @@ describe('ReactRouter App Bundling /', () => { process.env.METEOR_PACKAGE_DIRS = ''; }, customAssertions: { + afterInit: async ({ result }) => { + await waitForMeteorOutput(result.outputLines, /.*babel-plugin-react-compiler.*/); + }, afterRun: async ({ result, port }) => { await waitForReactEnvs(result.outputLines, { isTsxEnabled: true }); - await waitForMeteorOutput(result.outputLines, /.*babel-plugin-react-compiler.*/); + // negated as cached output (babel.config.js) + await waitForMeteorOutput(result.outputLines, /.*babel-plugin-react-compiler.*/, { negate: true }); await assert404Page(port); // Less styles support await assertBodyStyles({ diff --git a/tools/modern-tests/test-helpers.js b/tools/modern-tests/test-helpers.js index 17b001f5e0..430077681a 100644 --- a/tools/modern-tests/test-helpers.js +++ b/tools/modern-tests/test-helpers.js @@ -200,6 +200,11 @@ export function testMeteorRspackBundler(options) { await assertFileExist(appDir, '.gitignore', { content: buildDir }); await assertFileExist(appDir, configFile, { content: '@meteorjs/rspack' }); + // Run custom assertions if provided + if (customAssertions && customAssertions.afterInit) { + await customAssertions.afterInit({ tempDir, port, meteorProcess, result }); + } + // Kill the meteor process await killMeteorProcess(meteorProcess);