mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
refactored the compileWithRspack pkgDir logic to handle module resolution more reliably
This commit is contained in:
@@ -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<string, object>} `{ 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: {
|
||||
|
||||
4
npm-packages/meteor-rspack/package-lock.json
generated
4
npm-packages/meteor-rspack/package-lock.json
generated
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user