@modern-js/uni-builder 2.65.1 → 2.65.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -31,6 +31,9 @@ __export(rsbuild_rsc_plugin_exports, {
|
|
|
31
31
|
rsbuildRscPlugin: () => rsbuildRscPlugin
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(rsbuild_rsc_plugin_exports);
|
|
34
|
+
var import_node_path = __toESM(require("node:path"));
|
|
35
|
+
var import_fs_extra = __toESM(require("@modern-js/utils/fs-extra"));
|
|
36
|
+
var import_core = require("@rsbuild/core");
|
|
34
37
|
var import_common = require("../common");
|
|
35
38
|
var import_rsc_client_plugin = require("./rsc-client-plugin");
|
|
36
39
|
var import_rsc_server_plugin = require("./rsc-server-plugin");
|
|
@@ -42,11 +45,37 @@ const CSS_RULE_NAMES = [
|
|
|
42
45
|
"scss",
|
|
43
46
|
"sass"
|
|
44
47
|
];
|
|
48
|
+
const checkReactVersionAtLeast19 = async (appDir) => {
|
|
49
|
+
const packageJsonPath = import_node_path.default.resolve(appDir, "package.json");
|
|
50
|
+
const packageJson = await import_fs_extra.default.readJSON(packageJsonPath);
|
|
51
|
+
if (!packageJson.dependencies) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
const { dependencies } = packageJson;
|
|
55
|
+
const reactVersion = dependencies.react;
|
|
56
|
+
const reactDomVersion = dependencies["react-dom"];
|
|
57
|
+
if (!reactVersion || !reactDomVersion) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
const cleanVersion = (version) => version.replace(/[\^~]/g, "");
|
|
61
|
+
const reactVersionParts = cleanVersion(reactVersion).split(".");
|
|
62
|
+
const reactDomVersionParts = cleanVersion(reactDomVersion).split(".");
|
|
63
|
+
const reactMajor = parseInt(reactVersionParts[0], 10);
|
|
64
|
+
const reactDomMajor = parseInt(reactDomVersionParts[0], 10);
|
|
65
|
+
if (Number.isNaN(reactMajor) || Number.isNaN(reactDomMajor)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return reactMajor >= 19 && reactDomMajor >= 19;
|
|
69
|
+
};
|
|
45
70
|
const rsbuildRscPlugin = ({ appDir, isRspack = true, rscClientRuntimePath, rscServerRuntimePath }) => ({
|
|
46
71
|
name: "uni-builder:rsc-rsbuild-plugin",
|
|
47
72
|
setup(api) {
|
|
48
73
|
api.modifyBundlerChain({
|
|
49
74
|
handler: async (chain, { isServer, CHAIN_ID }) => {
|
|
75
|
+
if (!await checkReactVersionAtLeast19(appDir)) {
|
|
76
|
+
import_core.logger.error("Enable react server component, please make sure the react and react-dom versions are greater than or equal to 19.0.0");
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
50
79
|
const entryPath2Name = /* @__PURE__ */ new Map();
|
|
51
80
|
for (const [name, entry] of Object.entries(chain.entryPoints.entries())) {
|
|
52
81
|
entry.values().forEach((value) => {
|
|
@@ -80,6 +109,9 @@ const rsbuildRscPlugin = ({ appDir, isRspack = true, rscClientRuntimePath, rscSe
|
|
|
80
109
|
/AppProxy/
|
|
81
110
|
]).layer(import_common.webpackRscLayerName).end();
|
|
82
111
|
chain.module.rule(import_common.webpackRscLayerName).issuerLayer(import_common.webpackRscLayerName).resolve.conditionNames.add(import_common.webpackRscLayerName).add("...");
|
|
112
|
+
chain.module.rule("rsc-common").resource([
|
|
113
|
+
/universal[/\\]async_storage/
|
|
114
|
+
]).layer("rsc-common");
|
|
83
115
|
};
|
|
84
116
|
const flightCssHandler = () => {
|
|
85
117
|
CSS_RULE_NAMES.forEach((ruleName) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modern-js/uni-builder",
|
|
3
|
-
"version": "2.65.
|
|
3
|
+
"version": "2.65.2",
|
|
4
4
|
"description": "Unified builder for Modern.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@rsbuild/plugin-typed-css-modules": "1.0.2",
|
|
49
49
|
"@rsbuild/plugin-yaml": "1.0.2",
|
|
50
50
|
"@rsbuild/webpack": "1.2.2",
|
|
51
|
-
"@swc/core": "1.10.
|
|
51
|
+
"@swc/core": "1.10.18",
|
|
52
52
|
"@swc/helpers": "0.5.13",
|
|
53
53
|
"autoprefixer": "10.4.20",
|
|
54
54
|
"babel-loader": "9.2.1",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"babel-plugin-styled-components": "1.13.3",
|
|
57
57
|
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
|
|
58
58
|
"browserslist": "4.24.4",
|
|
59
|
-
"cssnano": "6.
|
|
59
|
+
"cssnano": "6.1.2",
|
|
60
60
|
"es-module-lexer": "^1.1.0",
|
|
61
61
|
"glob": "^9.3.5",
|
|
62
62
|
"html-minifier-terser": "^7.2.0",
|
|
@@ -79,9 +79,9 @@
|
|
|
79
79
|
"ts-loader": "9.4.4",
|
|
80
80
|
"webpack": "^5.98.0",
|
|
81
81
|
"webpack-subresource-integrity": "5.1.0",
|
|
82
|
-
"@modern-js/babel-preset": "2.65.
|
|
83
|
-
"@modern-js/flight-server-transform-plugin": "2.65.
|
|
84
|
-
"@modern-js/utils": "2.65.
|
|
82
|
+
"@modern-js/babel-preset": "2.65.2",
|
|
83
|
+
"@modern-js/flight-server-transform-plugin": "2.65.2",
|
|
84
|
+
"@modern-js/utils": "2.65.2"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@rsbuild/plugin-webpack-swc": "1.0.9",
|
|
@@ -92,9 +92,9 @@
|
|
|
92
92
|
"react-dom": "^18.2.0",
|
|
93
93
|
"terser": "^5.31.1",
|
|
94
94
|
"typescript": "^5.3.0",
|
|
95
|
-
"@modern-js/types": "2.65.
|
|
96
|
-
"@scripts/build": "2.65.
|
|
97
|
-
"@scripts/vitest-config": "2.65.
|
|
95
|
+
"@modern-js/types": "2.65.2",
|
|
96
|
+
"@scripts/build": "2.65.2",
|
|
97
|
+
"@scripts/vitest-config": "2.65.2"
|
|
98
98
|
},
|
|
99
99
|
"publishConfig": {
|
|
100
100
|
"access": "public",
|