From e80453a9fcde00bc91f37b5dfb4dada2a9d349e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Fri, 14 Nov 2025 10:57:19 +0100 Subject: [PATCH] refactored the compileWithRspack `pkgDir` logic to handle module resolution more reliably --- .../meteor-rspack/lib/meteorRspackHelpers.js | 18 +++++------------- 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-angular/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 +- .../static-assets/skel-chakra-ui/package.json | 2 +- .../skel-coffeescript/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 +- .../static-assets/skel-typescript/package.json | 2 +- tools/static-assets/skel-vue/package.json | 2 +- 18 files changed, 23 insertions(+), 31 deletions(-) diff --git a/npm-packages/meteor-rspack/lib/meteorRspackHelpers.js b/npm-packages/meteor-rspack/lib/meteorRspackHelpers.js index 536dfa2a36..5938783b59 100644 --- a/npm-packages/meteor-rspack/lib/meteorRspackHelpers.js +++ b/npm-packages/meteor-rspack/lib/meteorRspackHelpers.js @@ -2,18 +2,6 @@ const path = require("path"); const { prepareMeteorRspackConfig } = require("./meteorRspackConfigFactory"); const { builtinModules } = require("module"); -/** - * Resolve a package directory from node resolution. - * @param {string} pkg - * @returns {string} absolute directory of the package - */ -function pkgDir(pkg) { - const resolved = require.resolve(`${pkg}/package.json`, { - paths: [process.cwd()], - }); - return path.dirname(resolved); -} - /** * Wrap externals for Meteor runtime (marks deps as externals). * Usage: compileWithMeteor(["sharp", "vimeo", "fs"]) @@ -38,7 +26,11 @@ function compileWithMeteor(deps) { * @returns {Record} `{ meteorRspackConfigX: { module: { rules: [...] } } }` */ function compileWithRspack(deps, { options = {} } = {}) { - const includeDirs = deps.flat().filter(Boolean).map(pkgDir); + const includeDirs = deps.flat().filter(Boolean) + .map(pkg => typeof pkg === 'string' && !pkg.includes('node_modules') + ? path.join(process.cwd(), 'node_modules', pkg) + : pkg + ); return prepareMeteorRspackConfig({ module: { diff --git a/npm-packages/meteor-rspack/package-lock.json b/npm-packages/meteor-rspack/package-lock.json index a648947ce6..649b9a9661 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.1.5", + "version": "0.1.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@meteorjs/rspack", - "version": "0.1.5", + "version": "0.1.6", "license": "ISC", "dependencies": { "fast-deep-equal": "^3.1.3", diff --git a/npm-packages/meteor-rspack/package.json b/npm-packages/meteor-rspack/package.json index 057755bd0a..ad9098062f 100644 --- a/npm-packages/meteor-rspack/package.json +++ b/npm-packages/meteor-rspack/package.json @@ -1,6 +1,6 @@ { "name": "@meteorjs/rspack", - "version": "0.1.5", + "version": "0.1.6", "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 36ffb02761..db11889b1c 100644 --- a/packages/rspack/lib/constants.js +++ b/packages/rspack/lib/constants.js @@ -5,7 +5,7 @@ export const DEFAULT_RSPACK_VERSION = '1.6.0'; -export const DEFAULT_METEOR_RSPACK_VERSION = '0.1.5'; +export const DEFAULT_METEOR_RSPACK_VERSION = '0.1.6'; 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 6e166ea67d..ad90ccd2c5 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rspack/cli": "^1.4.8", "@rspack/core": "^1.4.8", "@tailwindcss/postcss": "^4.1.12", diff --git a/tools/static-assets/skel-angular/package.json b/tools/static-assets/skel-angular/package.json index 921dd214ce..5ce6c89bed 100644 --- a/tools/static-assets/skel-angular/package.json +++ b/tools/static-assets/skel-angular/package.json @@ -22,7 +22,7 @@ }, "devDependencies": { "@angular/compiler-cli": "^20.0.0", - "@meteorjs/rspack": "^0.1.5", + "@meteorjs/rspack": "^0.1.6", "@nx/angular-rspack": "^21.1.0", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", diff --git a/tools/static-assets/skel-apollo/package.json b/tools/static-assets/skel-apollo/package.json index 2fd4293ab9..a4547a5c2a 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", "@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 5f57157e03..e031636df5 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-blaze/package.json b/tools/static-assets/skel-blaze/package.json index 7e284f0f50..5f93946e41 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-chakra-ui/package.json b/tools/static-assets/skel-chakra-ui/package.json index f1bd6c9a73..db4d590cd5 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-coffeescript/package.json b/tools/static-assets/skel-coffeescript/package.json index 5dde4dc447..e40a435004 100644 --- a/tools/static-assets/skel-coffeescript/package.json +++ b/tools/static-assets/skel-coffeescript/package.json @@ -15,7 +15,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@meteorjs/rspack": "^0.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index eb9d907882..78abe64694 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-react/package.json b/tools/static-assets/skel-react/package.json index 6c17b4389c..7a65169946 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-solid/package.json b/tools/static-assets/skel-solid/package.json index fd34fb60f1..cbd670c847 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-svelte/package.json b/tools/static-assets/skel-svelte/package.json index d4698525aa..8ccbab2634 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-tailwind/package.json b/tools/static-assets/skel-tailwind/package.json index 6cee0e65d0..2c07da8aea 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-typescript/package.json b/tools/static-assets/skel-typescript/package.json index 06a2a4f3d6..f37c302147 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0", diff --git a/tools/static-assets/skel-vue/package.json b/tools/static-assets/skel-vue/package.json index 46a6dbbef9..4cea78363e 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.1.5", + "@meteorjs/rspack": "^0.1.6", "@rsdoctor/rspack-plugin": "^1.2.3", "@rspack/cli": "^1.6.0", "@rspack/core": "^1.6.0",