@modern-js/runtime 2.4.0 → 2.4.1-alpha.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/js/modern/core/compatible.js +1 -0
- package/dist/js/modern/router/runtime/fetch.js +5 -0
- package/dist/js/modern/router/runtime/fetch.node.js +4 -0
- package/dist/js/modern/router/runtime/fetch.worker.js +5 -0
- package/dist/js/modern/router/runtime/plugin.node.js +50 -10
- package/dist/js/modern/ssr/cli/index.js +2 -2
- package/dist/js/modern/ssr/prefetch.worker.js +66 -0
- package/dist/js/modern/ssr/react/nossr/index.js +6 -2
- package/dist/js/modern/ssr/serverRender/renderToStream/index.js +1 -1
- package/dist/js/modern/ssr/serverRender/renderToStream/index.worker.js +35 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.worker.js +110 -0
- package/dist/js/modern/ssr/serverRender/renderToString/entry.js +5 -4
- package/dist/js/modern/ssr/serverRender/renderToString/index.js +1 -1
- package/dist/js/modern/ssr/serverRender/renderToString/index.worker.js +49 -0
- package/dist/js/modern/ssr/serverRender/time.js +13 -0
- package/dist/js/modern/ssr/serverRender/time.worker.js +28 -0
- package/dist/js/modern/ssr/serverRender/utils.js +1 -12
- package/dist/js/node/core/compatible.js +1 -0
- package/dist/js/node/router/runtime/fetch.js +28 -0
- package/dist/js/node/router/runtime/fetch.node.js +27 -0
- package/dist/js/node/router/runtime/fetch.worker.js +28 -0
- package/dist/js/node/router/runtime/plugin.node.js +46 -9
- package/dist/js/node/ssr/cli/index.js +2 -2
- package/dist/js/node/ssr/prefetch.worker.js +87 -0
- package/dist/js/node/ssr/react/nossr/index.js +6 -2
- package/dist/js/node/ssr/serverRender/renderToStream/index.js +2 -2
- package/dist/js/node/ssr/serverRender/renderToStream/index.worker.js +64 -0
- package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.worker.js +129 -0
- package/dist/js/node/ssr/serverRender/renderToString/entry.js +7 -6
- package/dist/js/node/ssr/serverRender/renderToString/index.js +2 -2
- package/dist/js/node/ssr/serverRender/renderToString/index.worker.js +78 -0
- package/dist/js/node/ssr/serverRender/time.js +36 -0
- package/dist/js/node/ssr/serverRender/time.worker.js +51 -0
- package/dist/js/node/ssr/serverRender/utils.js +2 -14
- package/dist/js/treeshaking/core/compatible.js +8 -7
- package/dist/js/treeshaking/core/loader/loaderManager.js +3 -3
- package/dist/js/treeshaking/core/loader/useLoader.js +15 -15
- package/dist/js/treeshaking/document/Head.js +1 -1
- package/dist/js/treeshaking/document/Html.js +2 -2
- package/dist/js/treeshaking/document/Root.js +2 -2
- package/dist/js/treeshaking/document/cli/index.js +4 -4
- package/dist/js/treeshaking/router/cli/index.js +2 -2
- package/dist/js/treeshaking/router/runtime/fetch.js +2 -0
- package/dist/js/treeshaking/router/runtime/fetch.node.js +2 -0
- package/dist/js/treeshaking/router/runtime/fetch.worker.js +2 -0
- package/dist/js/treeshaking/router/runtime/plugin.js +3 -3
- package/dist/js/treeshaking/router/runtime/plugin.node.js +70 -13
- package/dist/js/treeshaking/router/runtime/utils.js +3 -3
- package/dist/js/treeshaking/ssr/cli/index.js +5 -5
- package/dist/js/treeshaking/ssr/index.js +6 -6
- package/dist/js/treeshaking/ssr/index.node.js +1 -1
- package/dist/js/treeshaking/ssr/prefetch.js +2 -2
- package/dist/js/treeshaking/ssr/prefetch.worker.js +191 -0
- package/dist/js/treeshaking/ssr/react/nossr/index.js +3 -3
- package/dist/js/treeshaking/ssr/react/prerender/index.js +2 -2
- package/dist/js/treeshaking/ssr/react/prerender/util.js +2 -2
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +2 -2
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +1 -1
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.worker.js +32 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +1 -1
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +8 -8
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.worker.js +280 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +1 -1
- package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +5 -5
- package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +1 -1
- package/dist/js/treeshaking/ssr/serverRender/renderToString/index.worker.js +167 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +1 -1
- package/dist/js/treeshaking/ssr/serverRender/time.js +57 -0
- package/dist/js/treeshaking/ssr/serverRender/time.worker.js +75 -0
- package/dist/js/treeshaking/ssr/serverRender/utils.js +1 -57
- package/dist/js/treeshaking/ssr/utils.js +5 -5
- package/dist/js/treeshaking/state/cli/index.js +2 -2
- package/dist/js/treeshaking/state/runtime/plugin.js +3 -3
- package/dist/types/router/runtime/fetch.d.ts +2 -0
- package/dist/types/router/runtime/fetch.node.d.ts +2 -0
- package/dist/types/router/runtime/fetch.worker.d.ts +2 -0
- package/dist/types/ssr/prefetch.worker.d.ts +13 -0
- package/dist/types/ssr/react/nossr/index.d.ts +4 -2
- package/dist/types/ssr/serverRender/renderToStream/index.worker.d.ts +6 -0
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +8 -0
- package/dist/types/ssr/serverRender/renderToString/index.worker.d.ts +6 -0
- package/dist/types/ssr/serverRender/time.d.ts +1 -0
- package/dist/types/ssr/serverRender/time.worker.d.ts +1 -0
- package/dist/types/ssr/serverRender/utils.d.ts +2 -3
- package/package.json +36 -23
|
@@ -17,8 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
18
|
var utils_exports = {};
|
|
19
19
|
__export(utils_exports, {
|
|
20
|
-
getLoadableScripts: () => getLoadableScripts
|
|
21
|
-
time: () => time
|
|
20
|
+
getLoadableScripts: () => getLoadableScripts
|
|
22
21
|
});
|
|
23
22
|
module.exports = __toCommonJS(utils_exports);
|
|
24
23
|
function getLoadableScripts(extractor) {
|
|
@@ -29,18 +28,7 @@ function getLoadableScripts(extractor) {
|
|
|
29
28
|
}
|
|
30
29
|
return scripts.split("<\/script>").slice(0, 2).map((i) => `${i}<\/script>`).join("");
|
|
31
30
|
}
|
|
32
|
-
const getLatency = (hrtime) => {
|
|
33
|
-
const [s, ns] = process.hrtime(hrtime);
|
|
34
|
-
return s * 1e3 + ns / 1e6;
|
|
35
|
-
};
|
|
36
|
-
const time = () => {
|
|
37
|
-
const hrtime = process.hrtime();
|
|
38
|
-
return () => {
|
|
39
|
-
return getLatency(hrtime);
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
31
|
// Annotate the CommonJS export names for ESM import in node:
|
|
43
32
|
0 && (module.exports = {
|
|
44
|
-
getLoadableScripts
|
|
45
|
-
time
|
|
33
|
+
getLoadableScripts
|
|
46
34
|
});
|
|
@@ -270,8 +270,8 @@ var createApp = function(param) {
|
|
|
270
270
|
}, {
|
|
271
271
|
onLast: function(param) {
|
|
272
272
|
var context1 = param.context;
|
|
273
|
-
var
|
|
274
|
-
return App2 === null || App2 === void 0 ? void 0 : (
|
|
273
|
+
var _App2_init;
|
|
274
|
+
return App2 === null || App2 === void 0 ? void 0 : (_App2_init = App2.init) === null || _App2_init === void 0 ? void 0 : _App2_init.call(App2, context1);
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
277
|
}
|
|
@@ -289,7 +289,7 @@ var createApp = function(param) {
|
|
|
289
289
|
};
|
|
290
290
|
var bootstrap = function() {
|
|
291
291
|
var _ref = _asyncToGenerator(function(BootApp, id, root, ReactDOM) {
|
|
292
|
-
var App, runner, context, runInit, isBrowser,
|
|
292
|
+
var App, runner, context, runInit, isBrowser, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate, isRedirectResponse, initialData1;
|
|
293
293
|
return __generator(this, function(_state) {
|
|
294
294
|
switch(_state.label){
|
|
295
295
|
case 0:
|
|
@@ -308,8 +308,8 @@ var bootstrap = function() {
|
|
|
308
308
|
}, {
|
|
309
309
|
onLast: function(param) {
|
|
310
310
|
var context1 = param.context;
|
|
311
|
-
var
|
|
312
|
-
return App === null || App === void 0 ? void 0 : (
|
|
311
|
+
var _App_init;
|
|
312
|
+
return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
|
|
313
313
|
}
|
|
314
314
|
});
|
|
315
315
|
};
|
|
@@ -331,7 +331,7 @@ var bootstrap = function() {
|
|
|
331
331
|
2
|
|
332
332
|
];
|
|
333
333
|
ssrData = window._SSR_DATA;
|
|
334
|
-
loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (
|
|
334
|
+
loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
335
335
|
initialLoadersState = Object.keys(loadersData).reduce(function(res, key) {
|
|
336
336
|
var loaderData = loadersData[key];
|
|
337
337
|
if (loaderData.loading !== false) {
|
|
@@ -347,7 +347,7 @@ var bootstrap = function() {
|
|
|
347
347
|
}, ssrData ? {
|
|
348
348
|
ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
|
|
349
349
|
} : {}));
|
|
350
|
-
context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (
|
|
350
|
+
context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
|
|
351
351
|
return [
|
|
352
352
|
4,
|
|
353
353
|
runInit(context)
|
|
@@ -430,6 +430,7 @@ var bootstrap = function() {
|
|
|
430
430
|
if (ssrContext) {
|
|
431
431
|
ssrContext.res.statusCode = status;
|
|
432
432
|
ssrContext.res.setHeader("Location", redirectUrl);
|
|
433
|
+
ssrContext.redirection = ssrContext.redirection || {};
|
|
433
434
|
ssrContext.redirection.status = status;
|
|
434
435
|
ssrContext.redirection.url = redirectUrl;
|
|
435
436
|
}
|
|
@@ -293,7 +293,7 @@ var createLoader = function(id) {
|
|
|
293
293
|
};
|
|
294
294
|
var createLoaderManager = function(initialDataMap) {
|
|
295
295
|
var managerOptions = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
296
|
-
var
|
|
296
|
+
var _managerOptions_skipStatic = managerOptions.skipStatic, skipStatic = _managerOptions_skipStatic === void 0 ? false : _managerOptions_skipStatic, _managerOptions_skipNonStatic = managerOptions.skipNonStatic, skipNonStatic = _managerOptions_skipNonStatic === void 0 ? false : _managerOptions_skipNonStatic;
|
|
297
297
|
var loadersMap = /* @__PURE__ */ new Map();
|
|
298
298
|
var getId = createGetId();
|
|
299
299
|
var add = function(loaderFn, loaderOptions) {
|
|
@@ -342,7 +342,7 @@ var createLoaderManager = function(initialDataMap) {
|
|
|
342
342
|
};
|
|
343
343
|
var awaitPendingLoaders = function() {
|
|
344
344
|
var _ref = _asyncToGenerator(function() {
|
|
345
|
-
var pendingLoaders, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step,
|
|
345
|
+
var pendingLoaders, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, id, loader, promise;
|
|
346
346
|
return __generator(this, function(_state) {
|
|
347
347
|
switch(_state.label){
|
|
348
348
|
case 0:
|
|
@@ -350,7 +350,7 @@ var createLoaderManager = function(initialDataMap) {
|
|
|
350
350
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
351
351
|
try {
|
|
352
352
|
for(_iterator = loadersMap[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
353
|
-
|
|
353
|
+
_step_value = _slicedToArray(_step.value, 2), id = _step_value[0], loader = _step_value[1];
|
|
354
354
|
promise = loader.promise;
|
|
355
355
|
if (_instanceof(promise, Promise)) {
|
|
356
356
|
pendingLoaders.push([
|
|
@@ -120,10 +120,10 @@ var useLoader = function(loaderFn) {
|
|
|
120
120
|
delete options._cache;
|
|
121
121
|
}
|
|
122
122
|
var load = useCallback(function(params) {
|
|
123
|
-
var
|
|
123
|
+
var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA, _window__SSR_DATA_data, _loaderRef_current;
|
|
124
124
|
if (typeof params === "undefined") {
|
|
125
|
-
var
|
|
126
|
-
return (
|
|
125
|
+
var _loaderRef_current1;
|
|
126
|
+
return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
|
|
127
127
|
}
|
|
128
128
|
var id = loaderManager.add(function() {
|
|
129
129
|
try {
|
|
@@ -139,26 +139,26 @@ var useLoader = function(loaderFn) {
|
|
|
139
139
|
params: params
|
|
140
140
|
}));
|
|
141
141
|
loaderRef.current = loaderManager.get(id);
|
|
142
|
-
(
|
|
142
|
+
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
|
|
143
143
|
if (isSSRRender) {
|
|
144
144
|
return void 0;
|
|
145
145
|
}
|
|
146
146
|
if (options.skip) {
|
|
147
147
|
return void 0;
|
|
148
148
|
}
|
|
149
|
-
if (context._hydration && ((
|
|
149
|
+
if (context._hydration && ((_window__SSR_DATA_data_loadersData_id = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : _window__SSR_DATA_data.loadersData[id]) === null || _window__SSR_DATA_data_loadersData_id === void 0 ? void 0 : _window__SSR_DATA_data_loadersData_id.error) === null) {
|
|
150
150
|
return void 0;
|
|
151
151
|
}
|
|
152
152
|
var res = loaderRef.current.load();
|
|
153
|
-
unlistenLoaderChangeRef.current = (
|
|
153
|
+
unlistenLoaderChangeRef.current = (_loaderRef_current = loaderRef.current) === null || _loaderRef_current === void 0 ? void 0 : _loaderRef_current.onChange(function(_status, _result) {
|
|
154
154
|
setResult(_result);
|
|
155
155
|
if (_status === LoaderStatus.fulfilled) {
|
|
156
|
-
var
|
|
157
|
-
options === null || options === void 0 ? void 0 : (
|
|
156
|
+
var _options_onSuccess;
|
|
157
|
+
options === null || options === void 0 ? void 0 : (_options_onSuccess = options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(options, _result.data);
|
|
158
158
|
}
|
|
159
159
|
if (_status === LoaderStatus.rejected) {
|
|
160
|
-
var
|
|
161
|
-
options === null || options === void 0 ? void 0 : (
|
|
160
|
+
var _options_onError;
|
|
161
|
+
options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, _result.error);
|
|
162
162
|
}
|
|
163
163
|
});
|
|
164
164
|
return res;
|
|
@@ -167,19 +167,19 @@ var useLoader = function(loaderFn) {
|
|
|
167
167
|
]);
|
|
168
168
|
useEffect(function() {
|
|
169
169
|
return function() {
|
|
170
|
-
var
|
|
171
|
-
(
|
|
170
|
+
var _unlistenLoaderChangeRef_current;
|
|
171
|
+
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
|
|
172
172
|
};
|
|
173
173
|
}, []);
|
|
174
174
|
useMemo(function() {
|
|
175
|
-
var
|
|
176
|
-
var p = (
|
|
175
|
+
var _options_params;
|
|
176
|
+
var p = (_options_params = options.params) !== null && _options_params !== void 0 ? _options_params : loaderFn.id;
|
|
177
177
|
invariant(typeof p !== "undefined" && p !== null, "Params is required in useLoader");
|
|
178
178
|
load(p);
|
|
179
179
|
}, [
|
|
180
180
|
options.params
|
|
181
181
|
]);
|
|
182
|
-
var
|
|
182
|
+
var _useState = _slicedToArray(useState(loaderRef.current.result), 2), result = _useState[0], setResult = _useState[1];
|
|
183
183
|
return _objectSpreadProps(_objectSpread({}, result), {
|
|
184
184
|
reload: load
|
|
185
185
|
});
|
|
@@ -5,7 +5,7 @@ import { Scripts } from "./Scripts";
|
|
|
5
5
|
import { Links } from "./Links";
|
|
6
6
|
import { DOCUMENT_META_PLACEHOLDER } from "./constants";
|
|
7
7
|
function Head(props) {
|
|
8
|
-
var
|
|
8
|
+
var _useContext = useContext(DocumentStructureContext), hasSetScripts = _useContext.hasSetScripts, hasSetLinks = _useContext.hasSetLinks;
|
|
9
9
|
var children = props.children;
|
|
10
10
|
return /* @__PURE__ */ jsxs("head", {
|
|
11
11
|
children: [
|
|
@@ -19,11 +19,11 @@ function findTargetElement(tag, children) {
|
|
|
19
19
|
try {
|
|
20
20
|
for(var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
21
21
|
var item = _step.value;
|
|
22
|
-
var
|
|
22
|
+
var _item_props;
|
|
23
23
|
if (tag === getEleType(item)) {
|
|
24
24
|
return item;
|
|
25
25
|
}
|
|
26
|
-
if (item === null || item === void 0 ? void 0 : (
|
|
26
|
+
if (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.children) {
|
|
27
27
|
nextChildren = nextChildren.concat(item.props.children);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -4,7 +4,7 @@ import { DocumentContext } from "./DocumentContext";
|
|
|
4
4
|
import { DOCUMENT_SSR_PLACEHOLDER } from "./constants";
|
|
5
5
|
function Root(props) {
|
|
6
6
|
var rootId = props.rootId, children = props.children;
|
|
7
|
-
var
|
|
7
|
+
var _useContext = useContext(DocumentContext), _useContext_templateParams = _useContext.templateParams, _useContext_templateParams_mountId = _useContext_templateParams.mountId, mountId = _useContext_templateParams_mountId === void 0 ? "root" : _useContext_templateParams_mountId;
|
|
8
8
|
return /* @__PURE__ */ jsxs("div", {
|
|
9
9
|
id: "".concat(rootId || mountId),
|
|
10
10
|
children: [
|
|
@@ -14,7 +14,7 @@ function Root(props) {
|
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
function DefaultRoot(props) {
|
|
17
|
-
var
|
|
17
|
+
var _useContext = useContext(DocumentContext), _useContext_templateParams = _useContext.templateParams, _useContext_templateParams_mountId = _useContext_templateParams.mountId, mountId = _useContext_templateParams_mountId === void 0 ? "root" : _useContext_templateParams_mountId;
|
|
18
18
|
return /* @__PURE__ */ jsxs("div", {
|
|
19
19
|
id: "".concat(mountId),
|
|
20
20
|
children: [
|
|
@@ -184,10 +184,10 @@ import { DocumentContext } from "../DocumentContext";
|
|
|
184
184
|
import { DOCUMENT_SCRIPTS_PLACEHOLDER, DOCUMENT_LINKS_PLACEHOLDER, DOCUMENT_FILE_NAME, DOCUMENT_META_PLACEHOLDER, PLACEHOLDER_REPLACER_MAP, DOC_EXT, DOCUMENT_SSR_PLACEHOLDER, DOCUMENT_CHUNKSMAP_PLACEHOLDER, DOCUMENT_SSRDATASCRIPT_PLACEHOLDER, DOCUMENT_SCRIPT_PLACEHOLDER_START, DOCUMENT_SCRIPT_PLACEHOLDER_END, HTML_SEPARATOR } from "../constants";
|
|
185
185
|
var debug = createDebugger("html_genarate");
|
|
186
186
|
var getDocumenByEntryName = function getDocumenByEntryName(entrypoints, entryName, fallbackDir) {
|
|
187
|
-
var
|
|
188
|
-
var entryDir = (
|
|
187
|
+
var _entrypoints_find;
|
|
188
|
+
var entryDir = (_entrypoints_find = entrypoints.find(function(item) {
|
|
189
189
|
return item.entryName === entryName;
|
|
190
|
-
})) === null ||
|
|
190
|
+
})) === null || _entrypoints_find === void 0 ? void 0 : _entrypoints_find.absoluteEntryDir;
|
|
191
191
|
var entryDirs = DOC_EXT.map(function(item) {
|
|
192
192
|
return "".concat(entryDir).concat(path.sep).concat(DOCUMENT_FILE_NAME, ".").concat(item);
|
|
193
193
|
});
|
|
@@ -223,7 +223,7 @@ var cli_default = function() {
|
|
|
223
223
|
}
|
|
224
224
|
return __generator(this, function(_state) {
|
|
225
225
|
documentEntry = function(entryName, templateParameters) {
|
|
226
|
-
var
|
|
226
|
+
var _api_useAppContext = api.useAppContext(), entrypoints = _api_useAppContext.entrypoints, internalDirectory = _api_useAppContext.internalDirectory, appDirectory = _api_useAppContext.appDirectory;
|
|
227
227
|
var documentFilePath = getDocumenByEntryName(entrypoints, entryName, appDirectory);
|
|
228
228
|
if (!documentFilePath) {
|
|
229
229
|
return null;
|
|
@@ -54,8 +54,8 @@ import { getEntryOptions, createRuntimeExportsUtils, PLUGIN_SCHEMAS } from "@mod
|
|
|
54
54
|
var PLUGIN_IDENTIFIER = "router";
|
|
55
55
|
var ROUTES_IDENTIFIER = "routes";
|
|
56
56
|
var isV5 = function(config) {
|
|
57
|
-
var
|
|
58
|
-
return (config === null || config === void 0 ? void 0 : (
|
|
57
|
+
var _config_runtime, _config_runtime_router;
|
|
58
|
+
return (config === null || config === void 0 ? void 0 : (_config_runtime = config.runtime) === null || _config_runtime === void 0 ? void 0 : (_config_runtime_router = _config_runtime.router) === null || _config_runtime_router === void 0 ? void 0 : _config_runtime_router.mode) === "react-router-5";
|
|
59
59
|
};
|
|
60
60
|
var cli_default = function() {
|
|
61
61
|
return {
|
|
@@ -68,7 +68,7 @@ function modifyRoutes(modifyFunction) {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
var routerPlugin = function(param) {
|
|
71
|
-
var
|
|
71
|
+
var _param_serverBase = param.serverBase, serverBase = _param_serverBase === void 0 ? [] : _param_serverBase, _param_supportHtml5History = param.supportHtml5History, supportHtml5History = _param_supportHtml5History === void 0 ? true : _param_supportHtml5History, _param_basename = param.basename, basename = _param_basename === void 0 ? "" : _param_basename, routesConfig = param.routesConfig, createRoutes = param.createRoutes;
|
|
72
72
|
var select = function(pathname) {
|
|
73
73
|
return serverBase.find(function(baseUrl) {
|
|
74
74
|
return pathname.search(baseUrl) === 0;
|
|
@@ -98,10 +98,10 @@ var routerPlugin = function(param) {
|
|
|
98
98
|
}
|
|
99
99
|
var getRouteApp = function() {
|
|
100
100
|
return function(props) {
|
|
101
|
-
var
|
|
101
|
+
var _window__SERVER_DATA;
|
|
102
102
|
beforeCreateRouter = true;
|
|
103
103
|
var routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(finalRouteConfig));
|
|
104
|
-
var baseUrl = ((
|
|
104
|
+
var baseUrl = ((_window__SERVER_DATA = window._SERVER_DATA) === null || _window__SERVER_DATA === void 0 ? void 0 : _window__SERVER_DATA.router.baseUrl) || select(location.pathname);
|
|
105
105
|
var _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
|
|
106
106
|
var router = supportHtml5History ? createBrowserRouter(routes, {
|
|
107
107
|
basename: _basename
|
|
@@ -227,15 +227,16 @@ var __generator = this && this.__generator || function(thisArg, body) {
|
|
|
227
227
|
};
|
|
228
228
|
}
|
|
229
229
|
};
|
|
230
|
-
import { jsx } from "react/jsx-runtime";
|
|
230
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
231
231
|
import { useContext } from "react";
|
|
232
|
-
import
|
|
232
|
+
import serialize from "serialize-javascript";
|
|
233
|
+
import { createStaticHandler, isRouteErrorResponse } from "@remix-run/router";
|
|
233
234
|
import { createStaticRouter, StaticRouterProvider } from "react-router-dom/server";
|
|
234
235
|
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
235
|
-
import { installGlobals } from "@remix-run/node";
|
|
236
236
|
import { createRoutesFromElements } from "react-router-dom";
|
|
237
237
|
import { RuntimeReactContext } from "../../core";
|
|
238
238
|
import { renderRoutes, urlJoin } from "./utils";
|
|
239
|
+
import { installGlobals } from "./fetch";
|
|
239
240
|
installGlobals();
|
|
240
241
|
function createFetchRequest(req) {
|
|
241
242
|
var origin = "".concat(req.protocol, "://").concat(req.host);
|
|
@@ -252,8 +253,8 @@ function createFetchHeaders(requestHeaders) {
|
|
|
252
253
|
var headers = new Headers();
|
|
253
254
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
254
255
|
try {
|
|
255
|
-
for(var _iterator = Object.entries(requestHeaders)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
256
|
-
var
|
|
256
|
+
for(var _iterator = Object.entries(requestHeaders || {})[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
257
|
+
var _step_value = _slicedToArray(_step.value, 2), key = _step_value[0], values = _step_value[1];
|
|
257
258
|
if (values) {
|
|
258
259
|
if (Array.isArray(values)) {
|
|
259
260
|
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
|
|
@@ -297,8 +298,47 @@ function createFetchHeaders(requestHeaders) {
|
|
|
297
298
|
}
|
|
298
299
|
return headers;
|
|
299
300
|
}
|
|
301
|
+
function serializeErrors(errors) {
|
|
302
|
+
if (!errors) {
|
|
303
|
+
return null;
|
|
304
|
+
}
|
|
305
|
+
var entries = Object.entries(errors);
|
|
306
|
+
var serialized = {};
|
|
307
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
308
|
+
try {
|
|
309
|
+
for(var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
310
|
+
var _step_value = _slicedToArray(_step.value, 2), key = _step_value[0], val = _step_value[1];
|
|
311
|
+
if (isRouteErrorResponse(val)) {
|
|
312
|
+
serialized[key] = _objectSpreadProps(_objectSpread({}, val), {
|
|
313
|
+
__type: "RouteErrorResponse"
|
|
314
|
+
});
|
|
315
|
+
} else if (_instanceof(val, Error)) {
|
|
316
|
+
serialized[key] = {
|
|
317
|
+
message: val.message,
|
|
318
|
+
__type: "Error"
|
|
319
|
+
};
|
|
320
|
+
} else {
|
|
321
|
+
serialized[key] = val;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
} catch (err) {
|
|
325
|
+
_didIteratorError = true;
|
|
326
|
+
_iteratorError = err;
|
|
327
|
+
} finally{
|
|
328
|
+
try {
|
|
329
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
330
|
+
_iterator.return();
|
|
331
|
+
}
|
|
332
|
+
} finally{
|
|
333
|
+
if (_didIteratorError) {
|
|
334
|
+
throw _iteratorError;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
return serialized;
|
|
339
|
+
}
|
|
300
340
|
var routerPlugin = function(param) {
|
|
301
|
-
var
|
|
341
|
+
var _param_basename = param.basename, basename = _param_basename === void 0 ? "" : _param_basename, routesConfig = param.routesConfig, createRoutes = param.createRoutes;
|
|
302
342
|
return {
|
|
303
343
|
name: "@modern-js/plugin-router",
|
|
304
344
|
setup: function() {
|
|
@@ -362,13 +402,30 @@ var routerPlugin = function(param) {
|
|
|
362
402
|
}
|
|
363
403
|
var getRouteApp = function() {
|
|
364
404
|
return function(props) {
|
|
365
|
-
var
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
405
|
+
var _useContext = useContext(RuntimeReactContext), router = _useContext.router, routerContext = _useContext.routerContext;
|
|
406
|
+
var data = {
|
|
407
|
+
loaderData: routerContext.loaderData,
|
|
408
|
+
actionData: routerContext.actionData,
|
|
409
|
+
errors: serializeErrors(routerContext.errors)
|
|
410
|
+
};
|
|
411
|
+
var hydrateScript = "window.__staticRouterHydrationData = ".concat(serialize(data, {
|
|
412
|
+
isJSON: true
|
|
413
|
+
}), ";");
|
|
414
|
+
return /* @__PURE__ */ jsxs(App, _objectSpreadProps(_objectSpread({}, props), {
|
|
415
|
+
children: [
|
|
416
|
+
/* @__PURE__ */ jsx(StaticRouterProvider, {
|
|
417
|
+
router: router,
|
|
418
|
+
context: routerContext,
|
|
419
|
+
hydrate: false
|
|
420
|
+
}),
|
|
421
|
+
/* @__PURE__ */ jsx("script", {
|
|
422
|
+
suppressHydrationWarning: true,
|
|
423
|
+
id: "the-nonce",
|
|
424
|
+
dangerouslySetInnerHTML: {
|
|
425
|
+
__html: hydrateScript
|
|
426
|
+
}
|
|
427
|
+
})
|
|
428
|
+
]
|
|
372
429
|
}));
|
|
373
430
|
};
|
|
374
431
|
};
|
|
@@ -203,9 +203,9 @@ function renderRoutes(routesConfig) {
|
|
|
203
203
|
return routeElements;
|
|
204
204
|
}
|
|
205
205
|
function getLocation(serverContext) {
|
|
206
|
-
var
|
|
207
|
-
var
|
|
208
|
-
var cleanUrl = (
|
|
206
|
+
var _url_replace;
|
|
207
|
+
var _ref = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {}, pathname = _ref.pathname, url = _ref.url;
|
|
208
|
+
var cleanUrl = (_url_replace = url === null || url === void 0 ? void 0 : url.replace("http://", "")) === null || _url_replace === void 0 ? void 0 : _url_replace.replace("https://", "");
|
|
209
209
|
var index = (cleanUrl || "").indexOf(pathname);
|
|
210
210
|
if (index === -1) {
|
|
211
211
|
return pathname;
|
|
@@ -118,7 +118,7 @@ var cli_default = function() {
|
|
|
118
118
|
},
|
|
119
119
|
tools: {
|
|
120
120
|
webpackChain: function(chain, param) {
|
|
121
|
-
var name = param.name, isServer = param.isServer, CHAIN_ID = param.CHAIN_ID;
|
|
121
|
+
var name = param.name, isServer = param.isServer, isServiceWorker = param.isServiceWorker, CHAIN_ID = param.CHAIN_ID;
|
|
122
122
|
var userConfig = api.useResolvedConfigContext();
|
|
123
123
|
if (isUseSSRBundle(userConfig) && name !== "server" && hasStringSSREntry(userConfig)) {
|
|
124
124
|
var LoadableWebpackPlugin = require("@loadable/webpack-plugin");
|
|
@@ -128,7 +128,7 @@ var cli_default = function() {
|
|
|
128
128
|
}
|
|
129
129
|
]);
|
|
130
130
|
}
|
|
131
|
-
var modernVars = _defineProperty({}, "process.env.MODERN_TARGET", JSON.stringify(isServer ? "node" : "browser"));
|
|
131
|
+
var modernVars = _defineProperty({}, "process.env.MODERN_TARGET", JSON.stringify(isServer || isServiceWorker ? "node" : "browser"));
|
|
132
132
|
chain.plugin(CHAIN_ID.PLUGIN.DEFINE).tap(function(args) {
|
|
133
133
|
var _args = _toArray(args), vars = _args[0], rest = _args.slice(1);
|
|
134
134
|
return [
|
|
@@ -150,13 +150,13 @@ var cli_default = function() {
|
|
|
150
150
|
var entrypoint = param.entrypoint, imports = param.imports;
|
|
151
151
|
var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
|
|
152
152
|
var userConfig = api.useResolvedConfigContext();
|
|
153
|
-
var
|
|
153
|
+
var _api_useAppContext = api.useAppContext(), packageName = _api_useAppContext.packageName, entrypoints = _api_useAppContext.entrypoints;
|
|
154
154
|
pluginsExportsUtils.addExport("export { default as ssr } from '@modern-js/runtime/ssr'");
|
|
155
155
|
var ssrConfig = getEntryOptions(entryName, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
|
|
156
156
|
if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
|
|
157
|
-
var
|
|
157
|
+
var _runtimeConfig_router;
|
|
158
158
|
var runtimeConfig = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
159
|
-
if ((runtimeConfig === null || runtimeConfig === void 0 ? void 0 : (
|
|
159
|
+
if ((runtimeConfig === null || runtimeConfig === void 0 ? void 0 : (_runtimeConfig_router = runtimeConfig.router) === null || _runtimeConfig_router === void 0 ? void 0 : _runtimeConfig_router.mode) === "react-router-5") {
|
|
160
160
|
throw new Error("router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'");
|
|
161
161
|
}
|
|
162
162
|
if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
|
|
@@ -188,7 +188,7 @@ var ssr = function(config) {
|
|
|
188
188
|
return {
|
|
189
189
|
client: function() {
|
|
190
190
|
var _ref = _asyncToGenerator(function(param) {
|
|
191
|
-
var App, context, ModernRender, ModernHydrate,
|
|
191
|
+
var App, context, ModernRender, ModernHydrate, _window__SSR_DATA, hydrateContext, callback, renderLevel;
|
|
192
192
|
function stringSSRHydrate() {
|
|
193
193
|
if (renderLevel === RenderLevel.CLIENT_RENDER || renderLevel === RenderLevel.SERVER_PREFETCH) {
|
|
194
194
|
ModernRender(/* @__PURE__ */ jsx(App, {
|
|
@@ -248,7 +248,7 @@ var ssr = function(config) {
|
|
|
248
248
|
callback = function() {
|
|
249
249
|
delete hydrateContext._hydration;
|
|
250
250
|
};
|
|
251
|
-
renderLevel = (window === null || window === void 0 ? void 0 : (
|
|
251
|
+
renderLevel = (window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : _window__SSR_DATA.renderLevel) || RenderLevel.CLIENT_RENDER;
|
|
252
252
|
if (isReact18() && config.mode === "stream") {
|
|
253
253
|
return [
|
|
254
254
|
2,
|
|
@@ -267,8 +267,8 @@ var ssr = function(config) {
|
|
|
267
267
|
}(),
|
|
268
268
|
init: function init(param, next) {
|
|
269
269
|
var context = param.context;
|
|
270
|
-
var
|
|
271
|
-
var request = window === null || window === void 0 ? void 0 : (
|
|
270
|
+
var _window__SSR_DATA, _window__SSR_DATA_context;
|
|
271
|
+
var request = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_context = _window__SSR_DATA.context) === null || _window__SSR_DATA_context === void 0 ? void 0 : _window__SSR_DATA_context.request;
|
|
272
272
|
if (!request) {
|
|
273
273
|
context.ssrContext = _objectSpreadProps(_objectSpread({}, context.ssrContext), {
|
|
274
274
|
response: mockResp,
|
|
@@ -286,8 +286,8 @@ var ssr = function(config) {
|
|
|
286
286
|
},
|
|
287
287
|
pickContext: function(param, next) {
|
|
288
288
|
var context = param.context, pickedContext = param.pickedContext;
|
|
289
|
-
var
|
|
290
|
-
var request = window === null || window === void 0 ? void 0 : (
|
|
289
|
+
var _window__SSR_DATA, _window__SSR_DATA_context;
|
|
290
|
+
var request = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_context = _window__SSR_DATA.context) === null || _window__SSR_DATA_context === void 0 ? void 0 : _window__SSR_DATA_context.request;
|
|
291
291
|
var initialData = context.initialData;
|
|
292
292
|
if (!request) {
|
|
293
293
|
return next({
|
|
@@ -220,7 +220,7 @@ var ssr = function() {
|
|
|
220
220
|
},
|
|
221
221
|
pickContext: function(param, next) {
|
|
222
222
|
var context = param.context, pickedContext = param.pickedContext;
|
|
223
|
-
var
|
|
223
|
+
var _ref = context === null || context === void 0 ? void 0 : context.ssrContext, request = _ref.request, response = _ref.response;
|
|
224
224
|
var initialData = context.initialData;
|
|
225
225
|
return next({
|
|
226
226
|
context: context,
|
|
@@ -132,7 +132,7 @@ var prefetch = function() {
|
|
|
132
132
|
return [
|
|
133
133
|
2,
|
|
134
134
|
run(context.ssrContext.request.headers, /*#__PURE__*/ _asyncToGenerator(function() {
|
|
135
|
-
var
|
|
135
|
+
var _context_store, ssrContext, loadableStats, extractor, loadersData;
|
|
136
136
|
return __generator(this, function(_state) {
|
|
137
137
|
switch(_state.label){
|
|
138
138
|
case 0:
|
|
@@ -182,7 +182,7 @@ var prefetch = function() {
|
|
|
182
182
|
loadersData: loadersData,
|
|
183
183
|
initialData: context.initialData,
|
|
184
184
|
i18nData: context.__i18nData__,
|
|
185
|
-
storeState: context === null || context === void 0 ? void 0 : (
|
|
185
|
+
storeState: context === null || context === void 0 ? void 0 : (_context_store = context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
|
|
186
186
|
}
|
|
187
187
|
];
|
|
188
188
|
}
|