Skip to content

Commit 5274edf

Browse files
committed
🐛 处理node v23无法构建的问题 #415
1 parent c93e39e commit 5274edf

3 files changed

Lines changed: 18 additions & 25 deletions

File tree

pnpm-lock.yaml

Lines changed: 0 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rspack.config.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
import * as path from "path";
22
import { defineConfig } from "@rspack/cli";
33
import { rspack } from "@rspack/core";
4-
import { version } from "./package.json";
5-
6-
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
4+
import { readFileSync } from "fs";
5+
import NodePolyfillPlugin from "node-polyfill-webpack-plugin";
6+
const pkg = JSON.parse(readFileSync("./package.json") as unknown as string);
77

8+
const version = pkg.version;
9+
const dirname = path.resolve();
810
const isDev = process.env.NODE_ENV === "development";
911
const isBeta = version.includes("-");
1012

1113
// Target browsers, see: https://github.com/browserslist/browserslist
1214
const targets = ["chrome >= 87", "edge >= 88", "firefox >= 78", "safari >= 14"];
1315

14-
const src = `${__dirname}/src`;
15-
const dist = `${__dirname}/dist`;
16+
const src = `${dirname}/src`;
17+
const dist = `${dirname}/dist`;
1618
const assets = `${src}/assets`;
1719

1820
export default defineConfig({
@@ -26,7 +28,7 @@ export default defineConfig({
2628
mode: "production",
2729
devtool: false,
2830
}),
29-
context: __dirname,
31+
context: dirname,
3032
entry: {
3133
service_worker: `${src}/service_worker.ts`,
3234
offscreen: `${src}/offscreen.ts`,
@@ -50,11 +52,11 @@ export default defineConfig({
5052
resolve: {
5153
extensions: ["...", ".ts", ".tsx", ".jsx"],
5254
alias: {
53-
"@App": path.resolve(__dirname, "src/"),
54-
"@Packages": path.resolve(__dirname, "packages/"),
55+
"@App": path.resolve(dirname, "src/"),
56+
"@Packages": path.resolve(dirname, "packages/"),
5557
// 改写eslint-plugin-userscripts以适配脚本猫,打包时重定义模块路径
56-
"../data/compat-grant": path.resolve(__dirname, "packages/eslint/compat-grant"),
57-
"../data/compat-headers": path.resolve(__dirname, "packages/eslint/compat-headers"),
58+
"../data/compat-grant": path.resolve(dirname, "packages/eslint/compat-grant"),
59+
"../data/compat-headers": path.resolve(dirname, "packages/eslint/compat-headers"),
5860
},
5961
fallback: {
6062
child_process: false,

tsconfig.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
"ES2020",
77
"WebWorker"
88
],
9-
"module": "ESNext",
9+
"module": "nodenext",
1010
"jsx": "react-jsx",
1111
"strict": true,
1212
"noEmit": true,
1313
"skipLibCheck": true,
1414
"isolatedModules": true,
1515
"resolveJsonModule": true,
16-
"moduleResolution": "bundler",
16+
"moduleResolution": "nodenext",
17+
"esModuleInterop": true,
1718
"experimentalDecorators": true,
1819
"useDefineForClassFields": true,
1920
"allowImportingTsExtensions": true,
@@ -29,6 +30,9 @@
2930
"tests/*"
3031
]
3132
},
33+
"types": [
34+
"node"
35+
]
3236
},
3337
"include": [
3438
"src",

0 commit comments

Comments
 (0)