@modern-js/runtime 2.26.0 → 2.28.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/CHANGELOG.md +30 -0
- package/dist/cjs/core/compatible.js +16 -17
- package/dist/cjs/core/loader/useLoader.js +10 -12
- package/dist/cjs/core/plugin.js +3 -2
- package/dist/cjs/document/Html.js +4 -3
- package/dist/cjs/document/cli/index.js +138 -138
- package/dist/cjs/router/cli/index.js +91 -92
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +4 -2
- package/dist/cjs/router/runtime/PrefetchLink.js +8 -4
- package/dist/cjs/router/runtime/plugin.js +4 -3
- package/dist/cjs/router/runtime/plugin.node.js +11 -4
- package/dist/cjs/router/runtime/utils.js +3 -3
- package/dist/cjs/ssr/cli/index.js +122 -123
- package/dist/cjs/ssr/index.js +105 -107
- package/dist/cjs/ssr/index.node.js +37 -38
- package/dist/cjs/ssr/prefetch.js +37 -39
- package/dist/cjs/ssr/react/prerender/util.js +4 -2
- package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +4 -2
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +8 -7
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +8 -6
- package/dist/cjs/ssr/serverRender/renderToString/loadable.js +2 -1
- package/dist/cjs/state/cli/index.js +70 -72
- package/dist/cjs/state/runtime/plugin.js +40 -42
- package/dist/esm/core/compatible.js +10 -9
- package/dist/esm/core/loader/useLoader.js +9 -9
- package/dist/esm/core/plugin.js +3 -2
- package/dist/esm/document/Html.js +4 -3
- package/dist/esm/document/cli/index.js +4 -3
- package/dist/esm/router/cli/index.js +2 -1
- package/dist/esm/router/runtime/DeferredDataScripts.node.js +4 -2
- package/dist/esm/router/runtime/PrefetchLink.js +8 -4
- package/dist/esm/router/runtime/plugin.js +4 -3
- package/dist/esm/router/runtime/plugin.node.js +11 -4
- package/dist/esm/router/runtime/utils.js +3 -3
- package/dist/esm/ssr/cli/index.js +7 -6
- package/dist/esm/ssr/index.js +6 -6
- package/dist/esm/ssr/index.node.js +2 -1
- package/dist/esm/ssr/prefetch.js +2 -2
- package/dist/esm/ssr/react/prerender/util.js +4 -2
- package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +4 -2
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +8 -7
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +7 -7
- package/dist/esm/ssr/serverRender/renderToString/loadable.js +2 -1
- package/dist/esm/state/runtime/plugin.js +2 -2
- package/dist/esm-node/core/compatible.js +16 -17
- package/dist/esm-node/core/loader/useLoader.js +10 -12
- package/dist/esm-node/core/plugin.js +3 -2
- package/dist/esm-node/document/Html.js +4 -3
- package/dist/esm-node/document/cli/index.js +138 -138
- package/dist/esm-node/router/cli/index.js +91 -92
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +4 -2
- package/dist/esm-node/router/runtime/PrefetchLink.js +8 -4
- package/dist/esm-node/router/runtime/plugin.js +4 -3
- package/dist/esm-node/router/runtime/plugin.node.js +11 -4
- package/dist/esm-node/router/runtime/utils.js +3 -3
- package/dist/esm-node/ssr/cli/index.js +122 -123
- package/dist/esm-node/ssr/cli/loadable-bundler-plugin.js +2 -2
- package/dist/esm-node/ssr/index.js +105 -107
- package/dist/esm-node/ssr/index.node.js +37 -38
- package/dist/esm-node/ssr/prefetch.js +37 -39
- package/dist/esm-node/ssr/react/prerender/util.js +4 -2
- package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +4 -2
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +8 -7
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +8 -6
- package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +2 -1
- package/dist/esm-node/state/cli/index.js +70 -72
- package/dist/esm-node/state/runtime/plugin.js +40 -42
- package/package.json +13 -10
|
@@ -4,14 +4,15 @@ import path from "path";
|
|
|
4
4
|
import { getEntryOptions, SERVER_RENDER_FUNCTION_NAME, LOADABLE_STATS_FILE, isUseSSRBundle, createRuntimeExportsUtils, isSSGEntry } from "@modern-js/utils";
|
|
5
5
|
var PLUGIN_IDENTIFIER = "ssr";
|
|
6
6
|
var hasStringSSREntry = function(userConfig) {
|
|
7
|
+
var _server, _server1;
|
|
7
8
|
var isStreaming = function(ssr) {
|
|
8
9
|
return ssr && typeof ssr === "object" && ssr.mode === "stream";
|
|
9
10
|
};
|
|
10
11
|
var server = userConfig.server;
|
|
11
|
-
if ((server === null ||
|
|
12
|
+
if (((_server = server) === null || _server === void 0 ? void 0 : _server.ssr) && !isStreaming(server.ssr)) {
|
|
12
13
|
return true;
|
|
13
14
|
}
|
|
14
|
-
if ((server === null ||
|
|
15
|
+
if (((_server1 = server) === null || _server1 === void 0 ? void 0 : _server1.ssrByEntries) && typeof server.ssrByEntries === "object") {
|
|
15
16
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
16
17
|
try {
|
|
17
18
|
for (var _iterator = Object.keys(server.ssrByEntries)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
@@ -112,9 +113,9 @@ export var ssrPlugin = function() {
|
|
|
112
113
|
pluginsExportsUtils.addExport("export { default as ssr } from '@modern-js/runtime/ssr'");
|
|
113
114
|
var ssrConfig = getEntryOptions(entryName, isMainEntry, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
|
|
114
115
|
if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
|
|
115
|
-
var
|
|
116
|
+
var _this, _runtimeConfig;
|
|
116
117
|
var runtimeConfig = getEntryOptions(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
117
|
-
if (((
|
|
118
|
+
if (((_this = (_runtimeConfig = runtimeConfig) === null || _runtimeConfig === void 0 ? void 0 : _runtimeConfig.router) === null || _this === void 0 ? void 0 : _this.mode) === "react-router-5") {
|
|
118
119
|
throw new Error("router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'");
|
|
119
120
|
}
|
|
120
121
|
if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
|
|
@@ -141,8 +142,8 @@ export var ssrPlugin = function() {
|
|
|
141
142
|
modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
|
|
142
143
|
var entrypoint = param.entrypoint, plugins = param.plugins, bundlerConfigs = param.bundlerConfigs;
|
|
143
144
|
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
144
|
-
var _bundlerConfigs_find,
|
|
145
|
-
var chunkLoadingGlobal = (
|
|
145
|
+
var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs;
|
|
146
|
+
var chunkLoadingGlobal = (_bundlerConfigs = bundlerConfigs) === null || _bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = _bundlerConfigs.find(function(config2) {
|
|
146
147
|
return config2.name === "client";
|
|
147
148
|
})) === 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;
|
|
148
149
|
var config = api.useResolvedConfigContext();
|
package/dist/esm/ssr/index.js
CHANGED
|
@@ -22,7 +22,7 @@ export var ssr = function(config) {
|
|
|
22
22
|
return {
|
|
23
23
|
client: function() {
|
|
24
24
|
var _ref = _async_to_generator(function(param) {
|
|
25
|
-
var App, context, ModernRender, ModernHydrate, _window__SSR_DATA, hydrateContext, callback, renderLevel;
|
|
25
|
+
var App, context, ModernRender, ModernHydrate, _window__SSR_DATA, _window, hydrateContext, callback, renderLevel;
|
|
26
26
|
function stringSSRHydrate() {
|
|
27
27
|
if (renderLevel === RenderLevel.CLIENT_RENDER || renderLevel === RenderLevel.SERVER_PREFETCH) {
|
|
28
28
|
ModernRender(/* @__PURE__ */ _jsx(App, {
|
|
@@ -88,7 +88,7 @@ export var ssr = function(config) {
|
|
|
88
88
|
callback = function() {
|
|
89
89
|
delete hydrateContext._hydration;
|
|
90
90
|
};
|
|
91
|
-
renderLevel = (window === null ||
|
|
91
|
+
renderLevel = ((_window = 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;
|
|
92
92
|
if (isReact18() && config.mode === "stream") {
|
|
93
93
|
return [
|
|
94
94
|
2,
|
|
@@ -107,8 +107,8 @@ export var ssr = function(config) {
|
|
|
107
107
|
}(),
|
|
108
108
|
init: function init(param, next) {
|
|
109
109
|
var context = param.context;
|
|
110
|
-
var _window__SSR_DATA,
|
|
111
|
-
var request = window === null ||
|
|
110
|
+
var _window__SSR_DATA_context, _window__SSR_DATA, _window;
|
|
111
|
+
var request = (_window = 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;
|
|
112
112
|
if (!request) {
|
|
113
113
|
context.ssrContext = _object_spread_props(_object_spread({}, context.ssrContext), {
|
|
114
114
|
response: mockResp,
|
|
@@ -126,8 +126,8 @@ export var ssr = function(config) {
|
|
|
126
126
|
},
|
|
127
127
|
pickContext: function(param, next) {
|
|
128
128
|
var context = param.context, pickedContext = param.pickedContext;
|
|
129
|
-
var _window__SSR_DATA,
|
|
130
|
-
var request = window === null ||
|
|
129
|
+
var _window__SSR_DATA_context, _window__SSR_DATA, _window;
|
|
130
|
+
var request = (_window = 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;
|
|
131
131
|
var initialData = context.initialData;
|
|
132
132
|
if (!request) {
|
|
133
133
|
return next({
|
|
@@ -49,7 +49,8 @@ export var ssr = function() {
|
|
|
49
49
|
},
|
|
50
50
|
pickContext: function(param, next) {
|
|
51
51
|
var context = param.context, pickedContext = param.pickedContext;
|
|
52
|
-
var
|
|
52
|
+
var _context;
|
|
53
|
+
var _ref = (_context = context) === null || _context === void 0 ? void 0 : _context.ssrContext, request = _ref.request, response = _ref.response;
|
|
53
54
|
var initialData = context.initialData;
|
|
54
55
|
return next({
|
|
55
56
|
context: context,
|
package/dist/esm/ssr/prefetch.js
CHANGED
|
@@ -10,7 +10,7 @@ var prefetch = function() {
|
|
|
10
10
|
return [
|
|
11
11
|
2,
|
|
12
12
|
run(context.ssrContext.request.headers, /* @__PURE__ */ _async_to_generator(function() {
|
|
13
|
-
var _context_store, ssrContext, loadableStats, extractor, loadersData;
|
|
13
|
+
var _context_store, _context, ssrContext, loadableStats, extractor, loadersData;
|
|
14
14
|
return _ts_generator(this, function(_state2) {
|
|
15
15
|
switch (_state2.label) {
|
|
16
16
|
case 0:
|
|
@@ -61,7 +61,7 @@ var prefetch = function() {
|
|
|
61
61
|
initialData: context.initialData,
|
|
62
62
|
i18nData: context.__i18nData__,
|
|
63
63
|
// todo: move to plugin state
|
|
64
|
-
storeState: context === null ||
|
|
64
|
+
storeState: (_context = context) === null || _context === void 0 ? void 0 : (_context_store = _context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
|
|
65
65
|
}
|
|
66
66
|
];
|
|
67
67
|
}
|
|
@@ -46,8 +46,9 @@ export var aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, prop
|
|
|
46
46
|
return usefulObject(props[propName]);
|
|
47
47
|
}).reduce(function(result, next) {
|
|
48
48
|
REQUEST_META.forEach(function(key) {
|
|
49
|
+
var _prop;
|
|
49
50
|
var prop = next[propName];
|
|
50
|
-
if ((prop === null ||
|
|
51
|
+
if (((_prop = prop) === null || _prop === void 0 ? void 0 : _prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
|
|
51
52
|
result[key] = unique(result[key].concat(prop[key]));
|
|
52
53
|
}
|
|
53
54
|
});
|
|
@@ -72,8 +73,9 @@ export var aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList
|
|
|
72
73
|
return usefulObject(props[propName]);
|
|
73
74
|
}).reduce(function(result, next) {
|
|
74
75
|
REQUEST_META.forEach(function(key) {
|
|
76
|
+
var _prop;
|
|
75
77
|
var prop = next[propName];
|
|
76
|
-
if ((prop === null ||
|
|
78
|
+
if (((_prop = prop) === null || _prop === void 0 ? void 0 : _prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
|
|
77
79
|
result[key] = Object.assign(result[key], prop[key]);
|
|
78
80
|
}
|
|
79
81
|
});
|
|
@@ -9,6 +9,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
|
|
|
9
9
|
var injectCss = function injectCss2(headTemplate2) {
|
|
10
10
|
return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
|
|
11
11
|
function getCssChunks() {
|
|
12
|
+
var _matches;
|
|
12
13
|
var routeManifest = context.routeManifest, routerContext = context.routerContext, routes = context.routes;
|
|
13
14
|
if (!routeManifest || !routerContext || !routes) {
|
|
14
15
|
return "";
|
|
@@ -16,7 +17,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
|
|
|
16
17
|
var routeAssets = routeManifest.routeAssets;
|
|
17
18
|
var cssChunks = [];
|
|
18
19
|
var matches = matchRoutes(routes, routerContext.location, routerContext.basename);
|
|
19
|
-
matches === null ||
|
|
20
|
+
(_matches = matches) === null || _matches === void 0 ? void 0 : _matches.forEach(function(match, index) {
|
|
20
21
|
if (!index) {
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
@@ -27,7 +28,8 @@ function getHeadTemplate(beforeEntryTemplate, context) {
|
|
|
27
28
|
var _cssChunks;
|
|
28
29
|
var _routeManifest_referenceCssAssets = routeManifest2.referenceCssAssets, referenceCssAssets = _routeManifest_referenceCssAssets === void 0 ? [] : _routeManifest_referenceCssAssets;
|
|
29
30
|
var _cssChunks1 = referenceCssAssets.filter(function(asset) {
|
|
30
|
-
|
|
31
|
+
var _asset;
|
|
32
|
+
return ((_asset = asset) === null || _asset === void 0 ? void 0 : _asset.endsWith(".css")) && !headTemplate2.includes(asset);
|
|
31
33
|
});
|
|
32
34
|
(_cssChunks = cssChunks).push.apply(_cssChunks, _to_consumable_array(_cssChunks1));
|
|
33
35
|
}
|
|
@@ -16,17 +16,18 @@ function renderToPipe(rootElement, context, options) {
|
|
|
16
16
|
var chunkVec = [];
|
|
17
17
|
var forUserPipe = function(stream) {
|
|
18
18
|
return new Promise(function(resolve) {
|
|
19
|
+
var _ssrContext;
|
|
19
20
|
var renderToPipeableStream;
|
|
20
21
|
try {
|
|
21
22
|
renderToPipeableStream = require("react-dom/server").renderToPipeableStream;
|
|
22
23
|
} catch (e) {
|
|
23
24
|
}
|
|
24
25
|
var pipe = renderToPipeableStream(rootElement, _object_spread_props(_object_spread({}, options), {
|
|
25
|
-
nonce: ssrContext === null ||
|
|
26
|
+
nonce: (_ssrContext = ssrContext) === null || _ssrContext === void 0 ? void 0 : _ssrContext.nonce,
|
|
26
27
|
onShellReady: function onShellReady() {
|
|
27
|
-
var _options_onShellReady;
|
|
28
|
+
var _options_onShellReady, _options;
|
|
28
29
|
var _getTemplates = getTemplates(context, RenderLevel.SERVER_RENDER), shellAfter = _getTemplates.shellAfter, shellBefore = _getTemplates.shellBefore;
|
|
29
|
-
options === null ||
|
|
30
|
+
(_options = options) === null || _options === void 0 ? void 0 : (_options_onShellReady = _options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(_options);
|
|
30
31
|
var injectableTransform = new Transform({
|
|
31
32
|
transform: function transform(chunk, _encoding, callback) {
|
|
32
33
|
try {
|
|
@@ -54,18 +55,18 @@ function renderToPipe(rootElement, context, options) {
|
|
|
54
55
|
resolve(pipe(injectableTransform).pipe(stream));
|
|
55
56
|
},
|
|
56
57
|
onShellError: function onShellError(error) {
|
|
57
|
-
var _options_onShellError;
|
|
58
|
+
var _options_onShellError, _options;
|
|
58
59
|
ssrContext.metrics.emitCounter("app.render.streaming.shell.error", 1);
|
|
59
60
|
var _getTemplates = getTemplates(context, RenderLevel.CLIENT_RENDER), shellAfter = _getTemplates.shellAfter, shellBefore = _getTemplates.shellBefore;
|
|
60
61
|
var fallbackHtml = "".concat(shellBefore).concat(shellAfter);
|
|
61
62
|
resolve(fallbackHtml);
|
|
62
|
-
options === null ||
|
|
63
|
+
(_options = options) === null || _options === void 0 ? void 0 : (_options_onShellError = _options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(_options, error);
|
|
63
64
|
},
|
|
64
65
|
onError: function onError(error) {
|
|
65
|
-
var _options_onError;
|
|
66
|
+
var _options_onError, _options;
|
|
66
67
|
ssrContext.logger.error("An error occurs during streaming SSR", error);
|
|
67
68
|
ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
|
|
68
|
-
options === null ||
|
|
69
|
+
(_options = options) === null || _options === void 0 ? void 0 : (_options_onError = _options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(_options, error);
|
|
69
70
|
}
|
|
70
71
|
})).pipe;
|
|
71
72
|
});
|
|
@@ -16,7 +16,7 @@ function renderToPipe(rootElement, context, options) {
|
|
|
16
16
|
var ssrContext = context.ssrContext;
|
|
17
17
|
var forUserPipe = function() {
|
|
18
18
|
var _ref = _async_to_generator(function() {
|
|
19
|
-
var renderToReadableStream, _getTemplates, shellAfter, shellBefore, readableOriginal, reader, injectableStream, err, _getTemplates1, shellAfter1, shellBefore1, fallbackHtml;
|
|
19
|
+
var renderToReadableStream, _getTemplates, shellAfter, shellBefore, _ssrContext, readableOriginal, reader, injectableStream, err, _ssrContext1, _getTemplates1, shellAfter1, shellBefore1, fallbackHtml;
|
|
20
20
|
return _ts_generator(this, function(_state) {
|
|
21
21
|
switch (_state.label) {
|
|
22
22
|
case 0:
|
|
@@ -36,12 +36,12 @@ function renderToPipe(rootElement, context, options) {
|
|
|
36
36
|
return [
|
|
37
37
|
4,
|
|
38
38
|
renderToReadableStream(rootElement, _object_spread_props(_object_spread({}, options), {
|
|
39
|
-
nonce: ssrContext === null ||
|
|
39
|
+
nonce: (_ssrContext = ssrContext) === null || _ssrContext === void 0 ? void 0 : _ssrContext.nonce,
|
|
40
40
|
onError: function onError(error) {
|
|
41
|
-
var _options_onError;
|
|
42
|
-
ssrContext === null ||
|
|
43
|
-
ssrContext === null ||
|
|
44
|
-
options === null ||
|
|
41
|
+
var _ssrContext2, _ssrContext12, _options_onError, _options;
|
|
42
|
+
(_ssrContext2 = ssrContext) === null || _ssrContext2 === void 0 ? void 0 : _ssrContext2.logger.error("An error occurs during streaming SSR", error);
|
|
43
|
+
(_ssrContext12 = ssrContext) === null || _ssrContext12 === void 0 ? void 0 : _ssrContext12.metrics.emitCounter("app.render.streaming.error", 1);
|
|
44
|
+
(_options = options) === null || _options === void 0 ? void 0 : (_options_onError = _options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(_options, error);
|
|
45
45
|
}
|
|
46
46
|
}))
|
|
47
47
|
];
|
|
@@ -101,7 +101,7 @@ function renderToPipe(rootElement, context, options) {
|
|
|
101
101
|
];
|
|
102
102
|
case 3:
|
|
103
103
|
err = _state.sent();
|
|
104
|
-
ssrContext === null ||
|
|
104
|
+
(_ssrContext1 = ssrContext) === null || _ssrContext1 === void 0 ? void 0 : _ssrContext1.metrics.emitCounter("app.render.streaming.shell.error", 1);
|
|
105
105
|
_getTemplates1 = getTemplates(context, RenderLevel.CLIENT_RENDER), shellAfter1 = _getTemplates1.shellAfter, shellBefore1 = _getTemplates1.shellBefore;
|
|
106
106
|
fallbackHtml = "".concat(shellBefore1).concat(shellAfter1);
|
|
107
107
|
return [
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ChunkExtractor } from "@loadable/server";
|
|
2
2
|
import { attributesToString, getLoadableScripts } from "../utils";
|
|
3
3
|
var extname = function(uri) {
|
|
4
|
+
var _uri;
|
|
4
5
|
if (typeof uri !== "string" || !uri.includes(".")) {
|
|
5
6
|
return "";
|
|
6
7
|
}
|
|
7
|
-
return ".".concat(uri === null ||
|
|
8
|
+
return ".".concat((_uri = uri) === null || _uri === void 0 ? void 0 : _uri.split(".").pop()) || "";
|
|
8
9
|
};
|
|
9
10
|
export var toHtml = function(jsx, renderer, next) {
|
|
10
11
|
var stats = renderer.stats, chunksMap = renderer.result.chunksMap, _renderer_config = renderer.config, config = _renderer_config === void 0 ? {} : _renderer_config, nonce = renderer.nonce;
|
|
@@ -77,8 +77,8 @@ var state = function(config) {
|
|
|
77
77
|
init: function init(param, next) {
|
|
78
78
|
var context = param.context;
|
|
79
79
|
if (isBrowser()) {
|
|
80
|
-
var _window__SSR_DATA,
|
|
81
|
-
storeConfig.initialState = storeConfig.initialState || (window === null ||
|
|
80
|
+
var _window__SSR_DATA_data, _window__SSR_DATA, _window;
|
|
81
|
+
storeConfig.initialState = storeConfig.initialState || ((_window = 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.storeState) || {};
|
|
82
82
|
}
|
|
83
83
|
context.store = createStore(storeConfig);
|
|
84
84
|
return next({
|
|
@@ -48,15 +48,16 @@ export const createApp = ({ plugins, props: globalProps }) => {
|
|
|
48
48
|
}, {
|
|
49
49
|
onLast: ({ App: App2 }) => {
|
|
50
50
|
const WrapComponent = ({ context, ...props }) => {
|
|
51
|
+
var _contextValue;
|
|
51
52
|
let contextValue = context;
|
|
52
|
-
if (!(contextValue === null ||
|
|
53
|
+
if (!((_contextValue = contextValue) === null || _contextValue === void 0 ? void 0 : _contextValue.runner)) {
|
|
53
54
|
contextValue = getInitialContext(runner);
|
|
54
55
|
runner.init({
|
|
55
56
|
context: contextValue
|
|
56
57
|
}, {
|
|
57
58
|
onLast: ({ context: context1 }) => {
|
|
58
|
-
var _App_init;
|
|
59
|
-
return App2 === null ||
|
|
59
|
+
var _App_init, _App;
|
|
60
|
+
return (_App = App2) === null || _App === void 0 ? void 0 : (_App_init = _App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(_App, context1);
|
|
60
61
|
}
|
|
61
62
|
});
|
|
62
63
|
}
|
|
@@ -88,16 +89,14 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
88
89
|
runner = runnerMap.get(App);
|
|
89
90
|
}
|
|
90
91
|
const context = getInitialContext(runner);
|
|
91
|
-
const runInit = (_context) => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
});
|
|
100
|
-
};
|
|
92
|
+
const runInit = (_context) => runner.init({
|
|
93
|
+
context: _context
|
|
94
|
+
}, {
|
|
95
|
+
onLast: ({ context: context1 }) => {
|
|
96
|
+
var _App_init, _App;
|
|
97
|
+
return (_App = App) === null || _App === void 0 ? void 0 : (_App_init = _App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(_App, context1);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
101
100
|
if (!id) {
|
|
102
101
|
return /* @__PURE__ */ React.createElement(App, {
|
|
103
102
|
context
|
|
@@ -106,9 +105,9 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
106
105
|
const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
|
|
107
106
|
if (isBrowser) {
|
|
108
107
|
if (isClientArgs(id)) {
|
|
109
|
-
var _ssrData_data, _ssrData_data1;
|
|
108
|
+
var _ssrData_data, _ssrData, _ssrData1, _ssrData_data1, _ssrData2;
|
|
110
109
|
const ssrData = window._SSR_DATA;
|
|
111
|
-
const loadersData = (ssrData === null ||
|
|
110
|
+
const loadersData = ((_ssrData = ssrData) === null || _ssrData === void 0 ? void 0 : (_ssrData_data = _ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
112
111
|
const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
|
|
113
112
|
const loaderData = loadersData[key];
|
|
114
113
|
if (loaderData.loading !== false) {
|
|
@@ -122,10 +121,10 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
122
121
|
skipStatic: true
|
|
123
122
|
}),
|
|
124
123
|
...ssrData ? {
|
|
125
|
-
ssrContext: ssrData === null ||
|
|
124
|
+
ssrContext: (_ssrData1 = ssrData) === null || _ssrData1 === void 0 ? void 0 : _ssrData1.context
|
|
126
125
|
} : {}
|
|
127
126
|
});
|
|
128
|
-
context.initialData = ssrData === null ||
|
|
127
|
+
context.initialData = (_ssrData2 = ssrData) === null || _ssrData2 === void 0 ? void 0 : (_ssrData_data1 = _ssrData2.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
|
|
129
128
|
const initialData = await runInit(context);
|
|
130
129
|
if (initialData) {
|
|
131
130
|
context.initialData = initialData;
|
|
@@ -14,7 +14,7 @@ const useLoader = (loaderFn, options = {
|
|
|
14
14
|
delete options._cache;
|
|
15
15
|
}
|
|
16
16
|
const load = useCallback((params) => {
|
|
17
|
-
var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA,
|
|
17
|
+
var _unlistenLoaderChangeRef_current, _unlistenLoaderChangeRef, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
|
|
18
18
|
if (typeof params === "undefined") {
|
|
19
19
|
var _loaderRef_current1;
|
|
20
20
|
return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
|
|
@@ -34,37 +34,35 @@ const useLoader = (loaderFn, options = {
|
|
|
34
34
|
params
|
|
35
35
|
});
|
|
36
36
|
loaderRef.current = loaderManager.get(id);
|
|
37
|
-
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(
|
|
37
|
+
(_unlistenLoaderChangeRef_current = (_unlistenLoaderChangeRef = unlistenLoaderChangeRef).current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(_unlistenLoaderChangeRef);
|
|
38
38
|
if (isSSRRender) {
|
|
39
39
|
return void 0;
|
|
40
40
|
}
|
|
41
41
|
if (options.skip) {
|
|
42
42
|
return void 0;
|
|
43
43
|
}
|
|
44
|
-
if (context._hydration && ((
|
|
44
|
+
if (context._hydration && ((_window = 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 = _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) {
|
|
45
45
|
return void 0;
|
|
46
46
|
}
|
|
47
47
|
const res = loaderRef.current.load();
|
|
48
48
|
unlistenLoaderChangeRef.current = (_loaderRef_current = loaderRef.current) === null || _loaderRef_current === void 0 ? void 0 : _loaderRef_current.onChange((_status, _result) => {
|
|
49
49
|
setResult(_result);
|
|
50
50
|
if (_status === LoaderStatus.fulfilled) {
|
|
51
|
-
var _options_onSuccess;
|
|
52
|
-
options === null ||
|
|
51
|
+
var _options_onSuccess, _options;
|
|
52
|
+
(_options = options) === null || _options === void 0 ? void 0 : (_options_onSuccess = _options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(_options, _result.data);
|
|
53
53
|
}
|
|
54
54
|
if (_status === LoaderStatus.rejected) {
|
|
55
|
-
var _options_onError;
|
|
56
|
-
options === null ||
|
|
55
|
+
var _options_onError, _options1;
|
|
56
|
+
(_options1 = options) === null || _options1 === void 0 ? void 0 : (_options_onError = _options1.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(_options1, _result.error);
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
return res;
|
|
60
60
|
}, [
|
|
61
61
|
options.skip
|
|
62
62
|
]);
|
|
63
|
-
useEffect(() => {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
|
|
67
|
-
};
|
|
63
|
+
useEffect(() => () => {
|
|
64
|
+
var _unlistenLoaderChangeRef_current, _unlistenLoaderChangeRef;
|
|
65
|
+
(_unlistenLoaderChangeRef_current = (_unlistenLoaderChangeRef = unlistenLoaderChangeRef).current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(_unlistenLoaderChangeRef);
|
|
68
66
|
}, []);
|
|
69
67
|
useMemo(() => {
|
|
70
68
|
var _options_params;
|
|
@@ -18,12 +18,13 @@ export const createRuntime = () => createManager(runtimeHooks);
|
|
|
18
18
|
const registerInit = (App, _init) => {
|
|
19
19
|
const originalInit = App.init;
|
|
20
20
|
App.init = async (context) => {
|
|
21
|
+
var _originalInit, _init1;
|
|
21
22
|
if (!context.loaderManager) {
|
|
22
23
|
context.loaderManager = createLoaderManager({});
|
|
23
24
|
}
|
|
24
25
|
await Promise.all([
|
|
25
|
-
originalInit === null ||
|
|
26
|
-
_init === null ||
|
|
26
|
+
(_originalInit = originalInit) === null || _originalInit === void 0 ? void 0 : _originalInit(context),
|
|
27
|
+
(_init1 = _init) === null || _init1 === void 0 ? void 0 : _init1(context)
|
|
27
28
|
]);
|
|
28
29
|
};
|
|
29
30
|
};
|
|
@@ -6,7 +6,8 @@ function findTargetChild(tag, children) {
|
|
|
6
6
|
return children.find((item) => getEleType(item) === tag);
|
|
7
7
|
}
|
|
8
8
|
function getEleType(ele) {
|
|
9
|
-
|
|
9
|
+
var _ele, _ele1;
|
|
10
|
+
return typeof ((_ele = ele) === null || _ele === void 0 ? void 0 : _ele.type) === "function" ? ele.type.name : (_ele1 = ele) === null || _ele1 === void 0 ? void 0 : _ele1.type;
|
|
10
11
|
}
|
|
11
12
|
function findTargetElement(tag, children) {
|
|
12
13
|
if (children.length === 0) {
|
|
@@ -14,11 +15,11 @@ function findTargetElement(tag, children) {
|
|
|
14
15
|
}
|
|
15
16
|
let nextChildren = [];
|
|
16
17
|
for (const item of children) {
|
|
17
|
-
var _item_props;
|
|
18
|
+
var _item_props, _item;
|
|
18
19
|
if (tag === getEleType(item)) {
|
|
19
20
|
return item;
|
|
20
21
|
}
|
|
21
|
-
if (item === null ||
|
|
22
|
+
if ((_item = item) === null || _item === void 0 ? void 0 : (_item_props = _item.props) === null || _item_props === void 0 ? void 0 : _item_props.children) {
|
|
22
23
|
nextChildren = nextChildren.concat(item.props.children);
|
|
23
24
|
}
|
|
24
25
|
}
|