@modern-js/runtime 2.33.0 → 2.34.0
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.
- package/dist/cjs/ssr/cli/index.js +4 -2
- package/dist/cjs/ssr/prefetch.js +17 -15
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +1 -1
- package/dist/cjs/ssr/utils.js +4 -1
- package/dist/esm/ssr/cli/index.js +4 -2
- package/dist/esm/ssr/prefetch.js +18 -16
- package/dist/esm/ssr/serverRender/renderToString/entry.js +1 -1
- package/dist/esm/ssr/utils.js +1 -1
- package/dist/esm-node/ssr/cli/index.js +4 -2
- package/dist/esm-node/ssr/prefetch.js +17 -15
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +1 -1
- package/dist/esm-node/ssr/utils.js +4 -1
- package/dist/types/ssr/prefetch.d.ts +2 -1
- package/dist/types/ssr/serverRender/types.d.ts +1 -0
- package/package.json +11 -11
- package/CHANGELOG.md +0 -2492
|
@@ -142,17 +142,19 @@ const ssrPlugin = () => ({
|
|
|
142
142
|
},
|
|
143
143
|
modifyEntryRuntimePlugins({ entrypoint, plugins, bundlerConfigs }) {
|
|
144
144
|
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
145
|
-
var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs;
|
|
145
|
+
var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs, _config_server;
|
|
146
146
|
const chunkLoadingGlobal = (_bundlerConfigs = bundlerConfigs) === null || _bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = _bundlerConfigs.find((config2) => config2.name === "client")) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
|
|
147
147
|
const config = api.useResolvedConfigContext();
|
|
148
148
|
const { crossorigin, scriptLoading } = config.html;
|
|
149
|
+
const disablePrerender = typeof ((_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr) === "object" ? Boolean(config.server.ssr.disablePrerender) : false;
|
|
149
150
|
plugins.push({
|
|
150
151
|
name: PLUGIN_IDENTIFIER,
|
|
151
152
|
options: JSON.stringify({
|
|
152
153
|
...ssrConfigMap.get(entrypoint.entryName) || {},
|
|
153
154
|
crossorigin,
|
|
154
155
|
scriptLoading,
|
|
155
|
-
chunkLoadingGlobal
|
|
156
|
+
chunkLoadingGlobal,
|
|
157
|
+
disablePrerender
|
|
156
158
|
})
|
|
157
159
|
});
|
|
158
160
|
}
|
package/dist/cjs/ssr/prefetch.js
CHANGED
|
@@ -12,24 +12,26 @@ const _jsxruntime = require("react/jsx-runtime");
|
|
|
12
12
|
const _server = require("react-dom/server");
|
|
13
13
|
const _runtimenode = require("@modern-js/utils/runtime-node");
|
|
14
14
|
const _server1 = require("@loadable/server");
|
|
15
|
-
const prefetch = async (App, context) => (0, _runtimenode.run)(context.ssrContext.request.headers, async () => {
|
|
15
|
+
const prefetch = async (App, context, config) => (0, _runtimenode.run)(context.ssrContext.request.headers, async () => {
|
|
16
16
|
var _context_store, _context;
|
|
17
17
|
const { ssrContext } = context;
|
|
18
18
|
const { loadableStats } = ssrContext;
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
if (!config.disablePrerender) {
|
|
20
|
+
if (loadableStats) {
|
|
21
|
+
const extractor = new _server1.ChunkExtractor({
|
|
22
|
+
stats: loadableStats,
|
|
23
|
+
entrypoints: [
|
|
24
|
+
ssrContext.entryName
|
|
25
|
+
].filter(Boolean)
|
|
26
|
+
});
|
|
27
|
+
(0, _server.renderToStaticMarkup)(extractor.collectChunks(/* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
|
|
28
|
+
context
|
|
29
|
+
})));
|
|
30
|
+
} else {
|
|
31
|
+
(0, _server.renderToStaticMarkup)(/* @__PURE__ */ (0, _jsxruntime.jsx)(App, {
|
|
32
|
+
context
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
33
35
|
}
|
|
34
36
|
if (!context.loaderManager.hasPendingLoaders()) {
|
|
35
37
|
return {
|
|
@@ -85,7 +85,7 @@ class Entry {
|
|
|
85
85
|
let prefetchData;
|
|
86
86
|
const end = (0, _time.time)();
|
|
87
87
|
try {
|
|
88
|
-
prefetchData = await (0, _prefetch.default)(this.App, context);
|
|
88
|
+
prefetchData = await (0, _prefetch.default)(this.App, context, this.pluginConfig);
|
|
89
89
|
this.result.renderLevel = _types.RenderLevel.SERVER_PREFETCH;
|
|
90
90
|
const prefetchCost = end();
|
|
91
91
|
this.tracker.trackTiming(_tracker.SSRTimings.SSR_PREFETCH, prefetchCost);
|
package/dist/cjs/ssr/utils.js
CHANGED
|
@@ -54,7 +54,10 @@ const formatClient = (request) => {
|
|
|
54
54
|
cookie: document.cookie || "",
|
|
55
55
|
userAgent: ((_request_headers = request.headers) === null || _request_headers === void 0 ? void 0 : _request_headers["user-agent"]) || navigator.userAgent,
|
|
56
56
|
referer: request.referer || document.referrer,
|
|
57
|
-
query:
|
|
57
|
+
query: {
|
|
58
|
+
...getQuery(),
|
|
59
|
+
...request.query
|
|
60
|
+
},
|
|
58
61
|
url: location.href
|
|
59
62
|
};
|
|
60
63
|
};
|
|
@@ -148,18 +148,20 @@ export var ssrPlugin = function() {
|
|
|
148
148
|
modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
|
|
149
149
|
var entrypoint = param.entrypoint, plugins = param.plugins, bundlerConfigs = param.bundlerConfigs;
|
|
150
150
|
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
151
|
-
var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs;
|
|
151
|
+
var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs, _config_server;
|
|
152
152
|
var chunkLoadingGlobal = (_bundlerConfigs = bundlerConfigs) === null || _bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = _bundlerConfigs.find(function(config2) {
|
|
153
153
|
return config2.name === "client";
|
|
154
154
|
})) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
|
|
155
155
|
var config = api.useResolvedConfigContext();
|
|
156
156
|
var _config_html = config.html, crossorigin = _config_html.crossorigin, scriptLoading = _config_html.scriptLoading;
|
|
157
|
+
var disablePrerender = typeof ((_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr) === "object" ? Boolean(config.server.ssr.disablePrerender) : false;
|
|
157
158
|
plugins.push({
|
|
158
159
|
name: PLUGIN_IDENTIFIER,
|
|
159
160
|
options: JSON.stringify(_object_spread_props(_object_spread({}, ssrConfigMap.get(entrypoint.entryName) || {}), {
|
|
160
161
|
crossorigin: crossorigin,
|
|
161
162
|
scriptLoading: scriptLoading,
|
|
162
|
-
chunkLoadingGlobal: chunkLoadingGlobal
|
|
163
|
+
chunkLoadingGlobal: chunkLoadingGlobal,
|
|
164
|
+
disablePrerender: disablePrerender
|
|
163
165
|
}))
|
|
164
166
|
});
|
|
165
167
|
}
|
package/dist/esm/ssr/prefetch.js
CHANGED
|
@@ -5,7 +5,7 @@ import { renderToStaticMarkup } from "react-dom/server";
|
|
|
5
5
|
import { run } from "@modern-js/utils/runtime-node";
|
|
6
6
|
import { ChunkExtractor } from "@loadable/server";
|
|
7
7
|
var prefetch = function() {
|
|
8
|
-
var _ref = _async_to_generator(function(App, context) {
|
|
8
|
+
var _ref = _async_to_generator(function(App, context, config) {
|
|
9
9
|
return _ts_generator(this, function(_state) {
|
|
10
10
|
return [
|
|
11
11
|
2,
|
|
@@ -16,20 +16,22 @@ var prefetch = function() {
|
|
|
16
16
|
case 0:
|
|
17
17
|
ssrContext = context.ssrContext;
|
|
18
18
|
loadableStats = ssrContext.loadableStats;
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
if (!config.disablePrerender) {
|
|
20
|
+
if (loadableStats) {
|
|
21
|
+
extractor = new ChunkExtractor({
|
|
22
|
+
stats: loadableStats,
|
|
23
|
+
entrypoints: [
|
|
24
|
+
ssrContext.entryName
|
|
25
|
+
].filter(Boolean)
|
|
26
|
+
});
|
|
27
|
+
renderToStaticMarkup(extractor.collectChunks(/* @__PURE__ */ _jsx(App, {
|
|
28
|
+
context: context
|
|
29
|
+
})));
|
|
30
|
+
} else {
|
|
31
|
+
renderToStaticMarkup(/* @__PURE__ */ _jsx(App, {
|
|
32
|
+
context: context
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
33
35
|
}
|
|
34
36
|
if (!context.loaderManager.hasPendingLoaders()) {
|
|
35
37
|
return [
|
|
@@ -70,7 +72,7 @@ var prefetch = function() {
|
|
|
70
72
|
];
|
|
71
73
|
});
|
|
72
74
|
});
|
|
73
|
-
return function prefetch2(App, context) {
|
|
75
|
+
return function prefetch2(App, context, config) {
|
|
74
76
|
return _ref.apply(this, arguments);
|
|
75
77
|
};
|
|
76
78
|
}();
|
package/dist/esm/ssr/utils.js
CHANGED
|
@@ -33,7 +33,7 @@ export var formatClient = function(request) {
|
|
|
33
33
|
cookie: document.cookie || "",
|
|
34
34
|
userAgent: ((_request_headers = request.headers) === null || _request_headers === void 0 ? void 0 : _request_headers["user-agent"]) || navigator.userAgent,
|
|
35
35
|
referer: request.referer || document.referrer,
|
|
36
|
-
query:
|
|
36
|
+
query: _object_spread({}, getQuery(), request.query),
|
|
37
37
|
url: location.href
|
|
38
38
|
};
|
|
39
39
|
};
|
|
@@ -122,17 +122,19 @@ export const ssrPlugin = () => ({
|
|
|
122
122
|
},
|
|
123
123
|
modifyEntryRuntimePlugins({ entrypoint, plugins, bundlerConfigs }) {
|
|
124
124
|
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
125
|
-
var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs;
|
|
125
|
+
var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs, _config_server;
|
|
126
126
|
const chunkLoadingGlobal = (_bundlerConfigs = bundlerConfigs) === null || _bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = _bundlerConfigs.find((config2) => config2.name === "client")) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
|
|
127
127
|
const config = api.useResolvedConfigContext();
|
|
128
128
|
const { crossorigin, scriptLoading } = config.html;
|
|
129
|
+
const disablePrerender = typeof ((_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr) === "object" ? Boolean(config.server.ssr.disablePrerender) : false;
|
|
129
130
|
plugins.push({
|
|
130
131
|
name: PLUGIN_IDENTIFIER,
|
|
131
132
|
options: JSON.stringify({
|
|
132
133
|
...ssrConfigMap.get(entrypoint.entryName) || {},
|
|
133
134
|
crossorigin,
|
|
134
135
|
scriptLoading,
|
|
135
|
-
chunkLoadingGlobal
|
|
136
|
+
chunkLoadingGlobal,
|
|
137
|
+
disablePrerender
|
|
136
138
|
})
|
|
137
139
|
});
|
|
138
140
|
}
|
|
@@ -2,24 +2,26 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { renderToStaticMarkup } from "react-dom/server";
|
|
3
3
|
import { run } from "@modern-js/utils/runtime-node";
|
|
4
4
|
import { ChunkExtractor } from "@loadable/server";
|
|
5
|
-
const prefetch = async (App, context) => run(context.ssrContext.request.headers, async () => {
|
|
5
|
+
const prefetch = async (App, context, config) => run(context.ssrContext.request.headers, async () => {
|
|
6
6
|
var _context_store, _context;
|
|
7
7
|
const { ssrContext } = context;
|
|
8
8
|
const { loadableStats } = ssrContext;
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
if (!config.disablePrerender) {
|
|
10
|
+
if (loadableStats) {
|
|
11
|
+
const extractor = new ChunkExtractor({
|
|
12
|
+
stats: loadableStats,
|
|
13
|
+
entrypoints: [
|
|
14
|
+
ssrContext.entryName
|
|
15
|
+
].filter(Boolean)
|
|
16
|
+
});
|
|
17
|
+
renderToStaticMarkup(extractor.collectChunks(/* @__PURE__ */ _jsx(App, {
|
|
18
|
+
context
|
|
19
|
+
})));
|
|
20
|
+
} else {
|
|
21
|
+
renderToStaticMarkup(/* @__PURE__ */ _jsx(App, {
|
|
22
|
+
context
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
23
25
|
}
|
|
24
26
|
if (!context.loaderManager.hasPendingLoaders()) {
|
|
25
27
|
return {
|
|
@@ -74,7 +74,7 @@ class Entry {
|
|
|
74
74
|
let prefetchData;
|
|
75
75
|
const end = time();
|
|
76
76
|
try {
|
|
77
|
-
prefetchData = await prefetch(this.App, context);
|
|
77
|
+
prefetchData = await prefetch(this.App, context, this.pluginConfig);
|
|
78
78
|
this.result.renderLevel = RenderLevel.SERVER_PREFETCH;
|
|
79
79
|
const prefetchCost = end();
|
|
80
80
|
this.tracker.trackTiming(SSRTimings.SSR_PREFETCH, prefetchCost);
|
|
@@ -28,7 +28,10 @@ export const formatClient = (request) => {
|
|
|
28
28
|
cookie: document.cookie || "",
|
|
29
29
|
userAgent: ((_request_headers = request.headers) === null || _request_headers === void 0 ? void 0 : _request_headers["user-agent"]) || navigator.userAgent,
|
|
30
30
|
referer: request.referer || document.referrer,
|
|
31
|
-
query:
|
|
31
|
+
query: {
|
|
32
|
+
...getQuery(),
|
|
33
|
+
...request.query
|
|
34
|
+
},
|
|
32
35
|
url: location.href
|
|
33
36
|
};
|
|
34
37
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RuntimeContext } from '../core';
|
|
2
|
-
|
|
2
|
+
import { SSRPluginConfig } from './serverRender/types';
|
|
3
|
+
declare const prefetch: (App: React.ComponentType<any>, context: RuntimeContext, config: SSRPluginConfig) => Promise<{
|
|
3
4
|
initialData: Record<string, unknown> | undefined;
|
|
4
5
|
i18nData: any;
|
|
5
6
|
loadersData?: undefined;
|
|
@@ -8,6 +8,7 @@ export { RuntimeContext, RenderLevel };
|
|
|
8
8
|
export type SSRPluginConfig = {
|
|
9
9
|
crossorigin?: boolean | 'anonymous' | 'use-credentials';
|
|
10
10
|
scriptLoading?: 'defer' | 'blocking' | 'module';
|
|
11
|
+
disablePrerender?: boolean;
|
|
11
12
|
chunkLoadingGlobal?: string;
|
|
12
13
|
} & Exclude<ServerUserConfig['ssr'], boolean>;
|
|
13
14
|
export type ServerRenderOptions = {
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.34.0",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=14.17.6"
|
|
21
21
|
},
|
|
@@ -146,8 +146,8 @@
|
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
148
|
"dependencies": {
|
|
149
|
-
"@babel/core": "^7.
|
|
150
|
-
"@babel/types": "^7.
|
|
149
|
+
"@babel/core": "^7.22.15",
|
|
150
|
+
"@babel/types": "^7.22.15",
|
|
151
151
|
"cookie": "0.5.0",
|
|
152
152
|
"@loadable/babel-plugin": "5.15.3",
|
|
153
153
|
"@loadable/component": "5.15.3",
|
|
@@ -173,9 +173,9 @@
|
|
|
173
173
|
"redux-logger": "^3.0.6",
|
|
174
174
|
"styled-components": "^5.3.1",
|
|
175
175
|
"@swc/helpers": "0.5.1",
|
|
176
|
-
"@modern-js/plugin": "2.
|
|
177
|
-
"@modern-js/types": "2.
|
|
178
|
-
"@modern-js/utils": "2.
|
|
176
|
+
"@modern-js/plugin": "2.34.0",
|
|
177
|
+
"@modern-js/types": "2.34.0",
|
|
178
|
+
"@modern-js/utils": "2.34.0"
|
|
179
179
|
},
|
|
180
180
|
"peerDependencies": {
|
|
181
181
|
"react": ">=17",
|
|
@@ -196,11 +196,11 @@
|
|
|
196
196
|
"ts-jest": "^29.1.0",
|
|
197
197
|
"typescript": "^5",
|
|
198
198
|
"webpack": "^5.88.1",
|
|
199
|
-
"@modern-js/app-tools": "2.
|
|
200
|
-
"@modern-js/core": "2.
|
|
201
|
-
"@
|
|
202
|
-
"@scripts/
|
|
203
|
-
"@
|
|
199
|
+
"@modern-js/app-tools": "2.34.0",
|
|
200
|
+
"@modern-js/core": "2.34.0",
|
|
201
|
+
"@modern-js/server-core": "2.34.0",
|
|
202
|
+
"@scripts/build": "2.34.0",
|
|
203
|
+
"@scripts/jest-config": "2.34.0"
|
|
204
204
|
},
|
|
205
205
|
"sideEffects": false,
|
|
206
206
|
"publishConfig": {
|