@modern-js/runtime 1.21.5 → 2.0.0-beta.1
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 +117 -18
- package/dist/js/modern/cli/index.js +3 -5
- package/dist/js/modern/core/app-config.js +2 -1
- package/dist/js/modern/core/compatible.js +47 -48
- package/dist/js/modern/core/index.js +4 -3
- package/dist/js/modern/core/loader/loaderManager.js +12 -34
- package/dist/js/modern/core/loader/useLoader.js +8 -26
- package/dist/js/modern/core/plugin.js +6 -28
- package/dist/js/modern/document/Body.js +17 -0
- package/dist/js/modern/document/DocumentContext.js +6 -0
- package/dist/js/modern/document/DocumentStructrueContext.js +7 -0
- package/dist/js/modern/document/Head.js +24 -0
- package/dist/js/modern/document/Html.js +92 -0
- package/dist/js/modern/document/Root.js +31 -0
- package/dist/js/modern/document/Scripts.js +10 -0
- package/dist/js/modern/document/cli/index.js +130 -0
- package/dist/js/modern/document/constants.js +19 -0
- package/dist/js/modern/document/index.js +8 -0
- package/dist/js/modern/index.js +2 -1
- package/dist/js/modern/router/cli/index.js +20 -20
- package/dist/js/modern/router/runtime/index.js +1 -1
- package/dist/js/modern/router/runtime/plugin.js +25 -52
- package/dist/js/modern/router/runtime/plugin.node.js +137 -0
- package/dist/js/modern/router/runtime/root/index.js +19 -0
- package/dist/js/modern/router/runtime/root/load.js +61 -0
- package/dist/js/modern/router/runtime/types.js +1 -0
- package/dist/js/modern/router/runtime/utils.js +99 -58
- package/dist/js/modern/router/runtime/withRouter.js +20 -0
- package/dist/js/modern/runtime-context.js +2 -1
- package/dist/js/modern/ssr/cli/index.js +35 -17
- package/dist/js/modern/ssr/index.js +64 -51
- package/dist/js/modern/ssr/index.node.js +6 -15
- package/dist/js/modern/ssr/prefetch.js +0 -7
- package/dist/js/modern/ssr/react/prerender/index.js +2 -23
- package/dist/js/modern/ssr/react/prerender/util.js +2 -17
- package/dist/js/modern/ssr/react/withCallback/index.js +0 -1
- package/dist/js/modern/ssr/serverRender/helmet.js +12 -20
- package/dist/js/modern/ssr/serverRender/index.js +12 -27
- package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +38 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +58 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/index.js +40 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +72 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +11 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/template.js +18 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
- package/dist/js/modern/ssr/serverRender/{entry.js → renderToString/entry.js} +6 -40
- package/dist/js/modern/ssr/serverRender/renderToString/index.js +29 -0
- package/dist/js/modern/ssr/serverRender/{loadable.js → renderToString/loadable.js} +2 -24
- package/dist/js/modern/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -2
- package/dist/js/modern/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -0
- package/dist/js/modern/ssr/serverRender/{template.js → renderToString/template.js} +0 -15
- package/dist/js/modern/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
- package/dist/js/modern/ssr/serverRender/types.js +2 -0
- package/dist/js/modern/ssr/serverRender/utils.js +20 -0
- package/dist/js/modern/ssr/utils.js +8 -13
- package/dist/js/modern/state/cli/index.js +0 -10
- package/dist/js/modern/state/runtime/plugin.js +1 -14
- package/dist/js/node/cli/index.js +3 -13
- package/dist/js/node/common.js +0 -2
- package/dist/js/node/core/app-config.js +2 -5
- package/dist/js/node/core/compatible.js +47 -66
- package/dist/js/node/core/index.js +8 -17
- package/dist/js/node/core/loader/index.js +0 -2
- package/dist/js/node/core/loader/loaderManager.js +12 -37
- package/dist/js/node/core/loader/useLoader.js +8 -31
- package/dist/js/node/core/plugin.js +5 -34
- package/dist/js/node/document/Body.js +26 -0
- package/dist/js/node/document/DocumentContext.js +14 -0
- package/dist/js/node/document/DocumentStructrueContext.js +15 -0
- package/dist/js/node/document/Head.js +33 -0
- package/dist/js/node/document/Html.js +98 -0
- package/dist/js/node/document/Root.js +41 -0
- package/dist/js/node/document/Scripts.js +17 -0
- package/dist/js/node/document/cli/index.js +140 -0
- package/dist/js/node/document/constants.js +36 -0
- package/dist/js/node/document/index.js +93 -0
- package/dist/js/node/exports/head.js +0 -5
- package/dist/js/node/exports/loadable.js +0 -5
- package/dist/js/node/exports/server.js +0 -2
- package/dist/js/node/exports/styled.js +0 -5
- package/dist/js/node/index.js +5 -5
- package/dist/js/node/router/cli/index.js +20 -24
- package/dist/js/node/router/index.js +0 -4
- package/dist/js/node/router/runtime/DefaultNotFound.js +1 -5
- package/dist/js/node/router/runtime/index.js +4 -9
- package/dist/js/node/router/runtime/plugin.js +23 -65
- package/dist/js/node/router/runtime/plugin.node.js +147 -0
- package/dist/js/node/router/runtime/root/index.js +26 -0
- package/dist/js/node/router/runtime/root/load.js +69 -0
- package/dist/js/node/router/runtime/types.js +5 -0
- package/dist/js/node/router/runtime/utils.js +101 -67
- package/dist/js/node/router/runtime/withRouter.js +26 -0
- package/dist/js/node/runtime-context.js +4 -4
- package/dist/js/node/ssr/cli/index.js +35 -21
- package/dist/js/node/ssr/index.js +63 -62
- package/dist/js/node/ssr/index.node.js +6 -25
- package/dist/js/node/ssr/prefetch.js +0 -11
- package/dist/js/node/ssr/react/index.js +0 -2
- package/dist/js/node/ssr/react/nossr/index.js +0 -6
- package/dist/js/node/ssr/react/prerender/index.js +2 -30
- package/dist/js/node/ssr/react/prerender/util.js +2 -25
- package/dist/js/node/ssr/react/withCallback/index.js +1 -4
- package/dist/js/node/ssr/serverRender/helmet.js +13 -20
- package/dist/js/node/ssr/serverRender/index.js +14 -39
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +45 -0
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +13 -0
- package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +65 -0
- package/dist/js/node/ssr/serverRender/renderToStream/index.js +48 -0
- package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +30 -0
- package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +79 -0
- package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +17 -0
- package/dist/js/node/ssr/serverRender/renderToStream/template.js +25 -0
- package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -0
- package/dist/js/node/ssr/serverRender/{entry.js → renderToString/entry.js} +13 -64
- package/dist/js/node/ssr/serverRender/renderToString/index.js +37 -0
- package/dist/js/node/ssr/serverRender/{loadable.js → renderToString/loadable.js} +3 -28
- package/dist/js/node/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -3
- package/dist/js/node/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -3
- package/dist/js/node/ssr/serverRender/{template.js → renderToString/template.js} +0 -18
- package/dist/js/node/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
- package/dist/js/node/ssr/serverRender/types.js +12 -0
- package/dist/js/node/ssr/serverRender/utils.js +28 -0
- package/dist/js/node/ssr/utils.js +10 -21
- package/dist/js/node/state/cli/index.js +0 -15
- package/dist/js/node/state/index.js +0 -4
- package/dist/js/node/state/plugins.js +0 -11
- package/dist/js/node/state/runtime/index.js +0 -7
- package/dist/js/node/state/runtime/plugin.js +1 -25
- package/dist/js/treeshaking/cli/index.js +3 -3
- package/dist/js/treeshaking/core/app-config.js +2 -1
- package/dist/js/treeshaking/core/compatible.js +50 -65
- package/dist/js/treeshaking/core/index.js +4 -3
- package/dist/js/treeshaking/core/loader/loaderManager.js +19 -51
- package/dist/js/treeshaking/core/loader/useLoader.js +11 -28
- package/dist/js/treeshaking/core/plugin.js +6 -51
- package/dist/js/treeshaking/document/Body.js +14 -0
- package/dist/js/treeshaking/document/DocumentContext.js +6 -0
- package/dist/js/treeshaking/document/DocumentStructrueContext.js +7 -0
- package/dist/js/treeshaking/document/Head.js +21 -0
- package/dist/js/treeshaking/document/Html.js +104 -0
- package/dist/js/treeshaking/document/Root.js +24 -0
- package/dist/js/treeshaking/document/Scripts.js +10 -0
- package/dist/js/treeshaking/document/cli/index.js +170 -0
- package/dist/js/treeshaking/document/constants.js +16 -0
- package/dist/js/treeshaking/document/index.js +8 -0
- package/dist/js/treeshaking/index.js +2 -1
- package/dist/js/treeshaking/router/cli/index.js +26 -22
- package/dist/js/treeshaking/router/runtime/index.js +1 -1
- package/dist/js/treeshaking/router/runtime/plugin.js +28 -54
- package/dist/js/treeshaking/router/runtime/plugin.node.js +161 -0
- package/dist/js/treeshaking/router/runtime/root/index.js +17 -0
- package/dist/js/treeshaking/router/runtime/root/load.js +102 -0
- package/dist/js/treeshaking/router/runtime/types.js +1 -0
- package/dist/js/treeshaking/router/runtime/utils.js +104 -58
- package/dist/js/treeshaking/router/runtime/withRouter.js +18 -0
- package/dist/js/treeshaking/runtime-context.js +2 -1
- package/dist/js/treeshaking/ssr/cli/index.js +43 -23
- package/dist/js/treeshaking/ssr/index.js +74 -59
- package/dist/js/treeshaking/ssr/index.node.js +18 -31
- package/dist/js/treeshaking/ssr/prefetch.js +0 -13
- package/dist/js/treeshaking/ssr/react/nossr/index.js +3 -4
- package/dist/js/treeshaking/ssr/react/prerender/index.js +2 -21
- package/dist/js/treeshaking/ssr/react/prerender/util.js +3 -20
- package/dist/js/treeshaking/ssr/react/withCallback/index.js +1 -2
- package/dist/js/treeshaking/ssr/serverRender/helmet.js +12 -11
- package/dist/js/treeshaking/ssr/serverRender/index.js +33 -55
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +32 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +60 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +50 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +68 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +10 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +22 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -0
- package/dist/js/treeshaking/ssr/serverRender/{entry.js → renderToString/entry.js} +23 -76
- package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +44 -0
- package/dist/js/treeshaking/ssr/serverRender/{loadable.js → renderToString/loadable.js} +7 -34
- package/dist/js/treeshaking/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -2
- package/dist/js/treeshaking/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -0
- package/dist/js/treeshaking/ssr/serverRender/{template.js → renderToString/template.js} +2 -18
- package/dist/js/treeshaking/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
- package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
- package/dist/js/treeshaking/ssr/serverRender/utils.js +28 -0
- package/dist/js/treeshaking/ssr/utils.js +20 -17
- package/dist/js/treeshaking/state/cli/index.js +3 -10
- package/dist/js/treeshaking/state/runtime/plugin.js +2 -10
- package/dist/types/cli/index.d.ts +0 -2
- package/dist/types/common.d.ts +0 -2
- package/dist/types/core/compatible.d.ts +2 -2
- package/dist/types/core/index.d.ts +2 -2
- package/dist/types/core/loader/loaderManager.d.ts +0 -1
- package/dist/types/core/loader/useLoader.d.ts +0 -5
- package/dist/types/core/plugin.d.ts +2 -14
- package/dist/types/document/Body.d.ts +4 -0
- package/dist/types/document/DocumentContext.d.ts +13 -0
- package/dist/types/document/DocumentStructrueContext.d.ts +10 -0
- package/dist/types/document/Head.d.ts +5 -0
- package/dist/types/document/Html.d.ts +4 -0
- package/dist/types/document/Root.d.ts +8 -0
- package/dist/types/document/Scripts.d.ts +2 -0
- package/dist/types/document/cli/index.d.ts +3 -0
- package/dist/types/document/constants.d.ts +14 -0
- package/dist/types/document/index.d.ts +8 -0
- package/dist/types/exports/server.d.ts +21 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/router/cli/index.d.ts +0 -2
- package/dist/types/router/runtime/DefaultNotFound.d.ts +1 -0
- package/dist/types/router/runtime/index.d.ts +3 -3
- package/dist/types/router/runtime/plugin.d.ts +2 -45
- package/dist/types/router/runtime/plugin.node.d.ts +8 -0
- package/dist/types/router/runtime/root/index.d.ts +8 -0
- package/dist/types/router/runtime/root/load.d.ts +22 -0
- package/dist/types/router/runtime/types.d.ts +36 -0
- package/dist/types/router/runtime/utils.d.ts +5 -2
- package/dist/types/router/runtime/withRouter.d.ts +8 -0
- package/dist/types/runtime-context.d.ts +3 -1
- package/dist/types/ssr/cli/index.d.ts +0 -2
- package/dist/types/ssr/index.d.ts +2 -2
- package/dist/types/ssr/index.node.d.ts +1 -1
- package/dist/types/ssr/prefetch.d.ts +2 -2
- package/dist/types/ssr/react/nossr/index.d.ts +3 -1
- package/dist/types/ssr/serverRender/index.d.ts +2 -3
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +7 -0
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +3 -0
- package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +2 -0
- package/dist/types/ssr/serverRender/renderToStream/index.d.ts +6 -0
- package/dist/types/ssr/serverRender/renderToStream/loadable.d.ts +16 -0
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +8 -0
- package/dist/types/ssr/serverRender/renderToStream/styledComponent.d.ts +12 -0
- package/dist/types/ssr/serverRender/renderToStream/template.d.ts +3 -0
- package/dist/types/ssr/serverRender/renderToStream/type.d.ts +4 -0
- package/dist/types/ssr/serverRender/{entry.d.ts → renderToString/entry.d.ts} +2 -2
- package/dist/types/ssr/serverRender/renderToString/index.d.ts +6 -0
- package/dist/types/ssr/serverRender/{loadable.d.ts → renderToString/loadable.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{reduce.d.ts → renderToString/reduce.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{styledComponent.d.ts → renderToString/styledComponent.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{template.d.ts → renderToString/template.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{type.d.ts → renderToString/type.d.ts} +1 -8
- package/dist/types/ssr/serverRender/types.d.ts +15 -0
- package/dist/types/ssr/serverRender/utils.d.ts +3 -0
- package/dist/types/ssr/utils.d.ts +4 -2
- package/dist/types/state/cli/index.d.ts +0 -2
- package/dist/types/state/runtime/plugin.d.ts +1 -1
- package/dist/types/state/types.d.ts +0 -1
- package/package.json +63 -71
- package/types/index.d.ts +13 -0
- package/types/router.d.ts +14 -0
- package/dist/js/modern/ssr/serverRender/measure.js +0 -11
- package/dist/js/node/ssr/serverRender/measure.js +0 -20
- package/dist/js/treeshaking/ssr/serverRender/measure.js +0 -17
- package/dist/types/ssr/serverRender/measure.d.ts +0 -1
- package/lib/types.d.ts +0 -10
- package/type.d.ts +0 -5
|
@@ -4,11 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _utils = require("@modern-js/utils");
|
|
9
|
-
|
|
10
8
|
const PLUGIN_IDENTIFIER = 'ssr';
|
|
11
|
-
|
|
9
|
+
const hasStringSSREntry = userConfig => {
|
|
10
|
+
const isStreaming = ssr => ssr && typeof ssr === 'object' && ssr.mode === 'stream';
|
|
11
|
+
const {
|
|
12
|
+
server
|
|
13
|
+
} = userConfig;
|
|
14
|
+
if (server !== null && server !== void 0 && server.ssr && !isStreaming(server.ssr)) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (server !== null && server !== void 0 && server.ssrByEntries && typeof server.ssrByEntries === 'object') {
|
|
18
|
+
for (const name of Object.keys(server.ssrByEntries)) {
|
|
19
|
+
if (!isStreaming(server.ssrByEntries[name])) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
};
|
|
12
26
|
var _default = () => ({
|
|
13
27
|
name: '@modern-js/plugin-ssr',
|
|
14
28
|
required: ['@modern-js/runtime'],
|
|
@@ -31,11 +45,9 @@ var _default = () => ({
|
|
|
31
45
|
CHAIN_ID
|
|
32
46
|
}) => {
|
|
33
47
|
const userConfig = api.useResolvedConfigContext();
|
|
34
|
-
|
|
35
|
-
if ((0, _utils.isUseSSRBundle)(userConfig) && name !== 'server') {
|
|
48
|
+
if ((0, _utils.isUseSSRBundle)(userConfig) && name !== 'server' && hasStringSSREntry(userConfig)) {
|
|
36
49
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
37
|
-
const LoadableWebpackPlugin = require('@
|
|
38
|
-
|
|
50
|
+
const LoadableWebpackPlugin = require('@loadable/webpack-plugin');
|
|
39
51
|
chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [{
|
|
40
52
|
filename: _utils.LOADABLE_STATS_FILE
|
|
41
53
|
}]);
|
|
@@ -43,34 +55,43 @@ var _default = () => ({
|
|
|
43
55
|
},
|
|
44
56
|
babel: config => {
|
|
45
57
|
const userConfig = api.useResolvedConfigContext();
|
|
46
|
-
|
|
47
|
-
if ((0, _utils.isUseSSRBundle)(userConfig)) {
|
|
58
|
+
if ((0, _utils.isUseSSRBundle)(userConfig) && hasStringSSREntry(userConfig)) {
|
|
48
59
|
config.plugins.push(require.resolve('@loadable/babel-plugin'));
|
|
49
60
|
}
|
|
50
61
|
}
|
|
51
62
|
}
|
|
52
63
|
};
|
|
53
64
|
},
|
|
54
|
-
|
|
55
65
|
modifyEntryImports({
|
|
56
66
|
entrypoint,
|
|
57
67
|
imports
|
|
58
68
|
}) {
|
|
59
69
|
const {
|
|
60
|
-
entryName
|
|
70
|
+
entryName,
|
|
71
|
+
fileSystemRoutes
|
|
61
72
|
} = entrypoint;
|
|
62
73
|
const userConfig = api.useResolvedConfigContext();
|
|
63
74
|
const {
|
|
64
75
|
packageName,
|
|
65
76
|
entrypoints
|
|
66
77
|
} = api.useAppContext();
|
|
67
|
-
pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
|
|
78
|
+
pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
|
|
68
79
|
|
|
80
|
+
// if use ssg then set ssr config to true
|
|
69
81
|
const ssrConfig = (0, _utils.getEntryOptions)(entryName, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
|
|
82
|
+
if (typeof ssrConfig === 'object' && ssrConfig.mode === 'stream') {
|
|
83
|
+
var _runtimeConfig$router;
|
|
84
|
+
const runtimeConfig = (0, _utils.getEntryOptions)(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
85
|
+
if (runtimeConfig !== null && runtimeConfig !== void 0 && (_runtimeConfig$router = runtimeConfig.router) !== null && _runtimeConfig$router !== void 0 && _runtimeConfig$router.legacy) {
|
|
86
|
+
throw new Error(`Legacy router plugin doesn't support streaming SSR, check your config 'runtime.router'`);
|
|
87
|
+
}
|
|
88
|
+
if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
|
|
89
|
+
throw new Error(`You should switch to file-system based router to support streaming SSR.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
70
92
|
const ssgConfig = userConfig.output.ssg;
|
|
71
93
|
const useSSG = (0, _utils.isSingleEntry)(entrypoints) ? Boolean(ssgConfig) : ssgConfig === true || typeof (ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[0]) === 'function' || Boolean(ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[entryName]);
|
|
72
94
|
ssrConfigMap.set(entryName, ssrConfig || useSSG);
|
|
73
|
-
|
|
74
95
|
if (ssrConfig || useSSG) {
|
|
75
96
|
imports.push({
|
|
76
97
|
value: '@modern-js/runtime/plugins',
|
|
@@ -79,13 +100,11 @@ var _default = () => ({
|
|
|
79
100
|
}]
|
|
80
101
|
});
|
|
81
102
|
}
|
|
82
|
-
|
|
83
103
|
return {
|
|
84
104
|
entrypoint,
|
|
85
105
|
imports
|
|
86
106
|
};
|
|
87
107
|
},
|
|
88
|
-
|
|
89
108
|
modifyEntryRuntimePlugins({
|
|
90
109
|
entrypoint,
|
|
91
110
|
plugins
|
|
@@ -93,16 +112,14 @@ var _default = () => ({
|
|
|
93
112
|
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
94
113
|
plugins.push({
|
|
95
114
|
name: PLUGIN_IDENTIFIER,
|
|
96
|
-
options: ssrConfigMap.get(entrypoint.entryName)
|
|
115
|
+
options: JSON.stringify(ssrConfigMap.get(entrypoint.entryName))
|
|
97
116
|
});
|
|
98
117
|
}
|
|
99
|
-
|
|
100
118
|
return {
|
|
101
119
|
entrypoint,
|
|
102
120
|
plugins
|
|
103
121
|
};
|
|
104
122
|
},
|
|
105
|
-
|
|
106
123
|
modifyEntryExport({
|
|
107
124
|
entrypoint,
|
|
108
125
|
exportStatement
|
|
@@ -115,15 +132,12 @@ var _default = () => ({
|
|
|
115
132
|
}`, exportStatement].join('\n')
|
|
116
133
|
};
|
|
117
134
|
}
|
|
118
|
-
|
|
119
135
|
return {
|
|
120
136
|
entrypoint,
|
|
121
137
|
exportStatement
|
|
122
138
|
};
|
|
123
139
|
}
|
|
124
|
-
|
|
125
140
|
};
|
|
126
141
|
}
|
|
127
142
|
});
|
|
128
|
-
|
|
129
143
|
exports.default = _default;
|
|
@@ -7,21 +7,13 @@ var _exportNames = {
|
|
|
7
7
|
ssr: true
|
|
8
8
|
};
|
|
9
9
|
exports.ssr = exports.default = void 0;
|
|
10
|
-
|
|
11
10
|
var _component = require("@loadable/component");
|
|
12
|
-
|
|
13
11
|
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
14
|
-
|
|
15
|
-
var _type = require("./serverRender/type");
|
|
16
|
-
|
|
12
|
+
var _types = require("./serverRender/types");
|
|
17
13
|
var _withCallback = require("./react/withCallback");
|
|
18
|
-
|
|
19
14
|
var _utils = require("./utils");
|
|
20
|
-
|
|
21
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
|
|
23
16
|
var _react = require("./react");
|
|
24
|
-
|
|
25
17
|
Object.keys(_react).forEach(function (key) {
|
|
26
18
|
if (key === "default" || key === "__esModule") return;
|
|
27
19
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -33,18 +25,11 @@ Object.keys(_react).forEach(function (key) {
|
|
|
33
25
|
}
|
|
34
26
|
});
|
|
35
27
|
});
|
|
36
|
-
|
|
37
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
38
|
-
|
|
39
29
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
40
|
-
|
|
41
30
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
42
|
-
|
|
43
31
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
44
|
-
|
|
45
|
-
const IS_REACT18 = process.env.IS_REACT18 === 'true';
|
|
46
|
-
|
|
47
|
-
const ssr = _ => ({
|
|
32
|
+
const ssr = config => ({
|
|
48
33
|
name: '@modern-js/plugin-ssr',
|
|
49
34
|
setup: () => {
|
|
50
35
|
const mockResp = (0, _utils.mockResponse)();
|
|
@@ -56,58 +41,80 @@ const ssr = _ => ({
|
|
|
56
41
|
ModernHydrate
|
|
57
42
|
}) => {
|
|
58
43
|
var _window, _window$_SSR_DATA;
|
|
44
|
+
const hydrateContext = _objectSpread(_objectSpread({}, context), {}, {
|
|
45
|
+
_hydration: true
|
|
46
|
+
});
|
|
47
|
+
const callback = () => {
|
|
48
|
+
// won't cause component re-render because context's reference identity doesn't change
|
|
49
|
+
delete hydrateContext._hydration;
|
|
50
|
+
};
|
|
59
51
|
|
|
60
52
|
// if render level not exist, use client render
|
|
61
|
-
const 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) ||
|
|
62
|
-
|
|
63
|
-
if (renderLevel === _type.RenderLevel.CLIENT_RENDER || renderLevel === _type.RenderLevel.SERVER_PREFETCH) {
|
|
64
|
-
ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
65
|
-
context: context
|
|
66
|
-
}));
|
|
67
|
-
} else if (renderLevel === _type.RenderLevel.SERVER_RENDER) {
|
|
68
|
-
(0, _component.loadableReady)(() => {
|
|
69
|
-
const hydrateContext = _objectSpread(_objectSpread({}, context), {}, {
|
|
70
|
-
_hydration: true
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
const callback = () => {
|
|
74
|
-
// won't cause component re-render because context's reference identity doesn't change
|
|
75
|
-
delete hydrateContext._hydration;
|
|
76
|
-
}; // callback: https://github.com/reactwg/react-18/discussions/5
|
|
77
|
-
|
|
53
|
+
const 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) || _types.RenderLevel.CLIENT_RENDER;
|
|
78
54
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
55
|
+
// react streamSSR hydrate
|
|
56
|
+
if ((0, _utils.isReact18)() && config.mode === 'stream') {
|
|
57
|
+
return streamSSRHydrate();
|
|
58
|
+
}
|
|
59
|
+
// react stringSSR hydrate
|
|
60
|
+
return stringSSRHydrate();
|
|
61
|
+
function stringSSRHydrate() {
|
|
62
|
+
// client render and server prefetch use same logic
|
|
63
|
+
if (renderLevel === _types.RenderLevel.CLIENT_RENDER || renderLevel === _types.RenderLevel.SERVER_PREFETCH) {
|
|
64
|
+
ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
65
|
+
context: context
|
|
66
|
+
}));
|
|
67
|
+
} else if (renderLevel === _types.RenderLevel.SERVER_RENDER) {
|
|
68
|
+
if ((0, _utils.isReact18)()) {
|
|
69
|
+
(0, _component.loadableReady)(() => {
|
|
70
|
+
// callback: https://github.com/reactwg/react-18/discussions/5
|
|
71
|
+
let SSRApp = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_withCallback.WithCallback, {
|
|
72
|
+
callback: callback,
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
74
|
+
context: hydrateContext
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
SSRApp = (0, _hoistNonReactStatics.default)(SSRApp, App);
|
|
78
|
+
ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(SSRApp, {}));
|
|
85
79
|
});
|
|
86
|
-
|
|
87
|
-
SSRApp = (0, _hoistNonReactStatics.default)(SSRApp, App);
|
|
88
|
-
ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(SSRApp, {}));
|
|
89
80
|
} else {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
81
|
+
(0, _component.loadableReady)(() => {
|
|
82
|
+
ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
83
|
+
context: hydrateContext
|
|
84
|
+
}), callback);
|
|
85
|
+
});
|
|
93
86
|
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
87
|
+
} else {
|
|
88
|
+
// unknown renderlevel or renderlevel is server prefetch.
|
|
89
|
+
console.warn(`unknow render level: ${renderLevel}, execute render()`);
|
|
90
|
+
ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
91
|
+
context: context
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function streamSSRHydrate() {
|
|
96
|
+
if (renderLevel === _types.RenderLevel.SERVER_RENDER) {
|
|
97
|
+
// callback: https://github.com/reactwg/react-18/discussions/5
|
|
98
|
+
let SSRApp = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_withCallback.WithCallback, {
|
|
99
|
+
callback: callback,
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
101
|
+
context: hydrateContext
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
SSRApp = (0, _hoistNonReactStatics.default)(SSRApp, App);
|
|
105
|
+
ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(SSRApp, {}));
|
|
106
|
+
} else {
|
|
107
|
+
ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
108
|
+
context: context
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
101
111
|
}
|
|
102
112
|
},
|
|
103
|
-
|
|
104
113
|
init({
|
|
105
114
|
context
|
|
106
115
|
}, next) {
|
|
107
116
|
var _window2, _window2$_SSR_DATA, _window2$_SSR_DATA$co;
|
|
108
|
-
|
|
109
117
|
const request = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$_SSR_DATA = _window2._SSR_DATA) === null || _window2$_SSR_DATA === void 0 ? void 0 : (_window2$_SSR_DATA$co = _window2$_SSR_DATA.context) === null || _window2$_SSR_DATA$co === void 0 ? void 0 : _window2$_SSR_DATA$co.request;
|
|
110
|
-
|
|
111
118
|
if (!request) {
|
|
112
119
|
context.ssrContext = _objectSpread(_objectSpread({}, context.ssrContext), {}, {
|
|
113
120
|
response: mockResp,
|
|
@@ -117,25 +124,21 @@ const ssr = _ => ({
|
|
|
117
124
|
context
|
|
118
125
|
});
|
|
119
126
|
}
|
|
120
|
-
|
|
121
127
|
context.ssrContext.response = mockResp;
|
|
122
128
|
context.ssrContext.request = (0, _utils.formatClient)(request);
|
|
123
129
|
return next({
|
|
124
130
|
context
|
|
125
131
|
});
|
|
126
132
|
},
|
|
127
|
-
|
|
128
133
|
pickContext: ({
|
|
129
134
|
context,
|
|
130
135
|
pickedContext
|
|
131
136
|
}, next) => {
|
|
132
137
|
var _window3, _window3$_SSR_DATA, _window3$_SSR_DATA$co;
|
|
133
|
-
|
|
134
138
|
const request = (_window3 = window) === null || _window3 === void 0 ? void 0 : (_window3$_SSR_DATA = _window3._SSR_DATA) === null || _window3$_SSR_DATA === void 0 ? void 0 : (_window3$_SSR_DATA$co = _window3$_SSR_DATA.context) === null || _window3$_SSR_DATA$co === void 0 ? void 0 : _window3$_SSR_DATA$co.request;
|
|
135
139
|
const {
|
|
136
140
|
initialData
|
|
137
141
|
} = context;
|
|
138
|
-
|
|
139
142
|
if (!request) {
|
|
140
143
|
return next({
|
|
141
144
|
context,
|
|
@@ -144,7 +147,6 @@ const ssr = _ => ({
|
|
|
144
147
|
})
|
|
145
148
|
});
|
|
146
149
|
}
|
|
147
|
-
|
|
148
150
|
return next({
|
|
149
151
|
context,
|
|
150
152
|
pickedContext: _objectSpread(_objectSpread({}, pickedContext), {}, {
|
|
@@ -157,7 +159,6 @@ const ssr = _ => ({
|
|
|
157
159
|
};
|
|
158
160
|
}
|
|
159
161
|
});
|
|
160
|
-
|
|
161
162
|
exports.ssr = ssr;
|
|
162
163
|
var _default = ssr;
|
|
163
164
|
exports.default = _default;
|
|
@@ -7,17 +7,9 @@ var _exportNames = {
|
|
|
7
7
|
ssr: true
|
|
8
8
|
};
|
|
9
9
|
exports.ssr = exports.default = void 0;
|
|
10
|
-
|
|
11
|
-
var _core = require("../core");
|
|
12
|
-
|
|
13
|
-
var _serverRender = require("./serverRender");
|
|
14
|
-
|
|
15
|
-
var _prefetch = _interopRequireDefault(require("./prefetch"));
|
|
16
|
-
|
|
17
10
|
var _utils = require("./utils");
|
|
18
|
-
|
|
11
|
+
var _serverRender = _interopRequireDefault(require("./serverRender"));
|
|
19
12
|
var _react = require("./react");
|
|
20
|
-
|
|
21
13
|
Object.keys(_react).forEach(function (key) {
|
|
22
14
|
if (key === "default" || key === "__esModule") return;
|
|
23
15
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -29,17 +21,10 @@ Object.keys(_react).forEach(function (key) {
|
|
|
29
21
|
}
|
|
30
22
|
});
|
|
31
23
|
});
|
|
32
|
-
|
|
33
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
34
|
-
|
|
35
25
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
36
|
-
|
|
37
26
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
38
|
-
|
|
39
27
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
40
|
-
|
|
41
|
-
const registeredApps = new WeakSet();
|
|
42
|
-
|
|
43
28
|
const ssr = (config = {}) => ({
|
|
44
29
|
name: '@modern-js/plugin-ssr',
|
|
45
30
|
setup: () => {
|
|
@@ -48,15 +33,13 @@ const ssr = (config = {}) => ({
|
|
|
48
33
|
App,
|
|
49
34
|
context
|
|
50
35
|
}) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const html = await (0, _serverRender.render)(context, config, App);
|
|
36
|
+
const html = await (0, _serverRender.default)({
|
|
37
|
+
context: context,
|
|
38
|
+
App: App,
|
|
39
|
+
config
|
|
40
|
+
});
|
|
57
41
|
return html;
|
|
58
42
|
},
|
|
59
|
-
|
|
60
43
|
init({
|
|
61
44
|
context
|
|
62
45
|
}, next) {
|
|
@@ -68,7 +51,6 @@ const ssr = (config = {}) => ({
|
|
|
68
51
|
context
|
|
69
52
|
});
|
|
70
53
|
},
|
|
71
|
-
|
|
72
54
|
pickContext: ({
|
|
73
55
|
context,
|
|
74
56
|
pickedContext
|
|
@@ -93,7 +75,6 @@ const ssr = (config = {}) => ({
|
|
|
93
75
|
};
|
|
94
76
|
}
|
|
95
77
|
});
|
|
96
|
-
|
|
97
78
|
exports.ssr = ssr;
|
|
98
79
|
var _default = ssr;
|
|
99
80
|
exports.default = _default;
|
|
@@ -4,26 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _server = require("react-dom/server");
|
|
9
|
-
|
|
10
8
|
var _ssr = require("@modern-js/utils/ssr");
|
|
11
|
-
|
|
12
9
|
var _server2 = require("@loadable/server");
|
|
13
|
-
|
|
14
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
16
11
|
// todo: SSRContext
|
|
17
12
|
const prefetch = async (App, context) => (0, _ssr.run)(context.ssrContext.request.headers, async () => {
|
|
18
13
|
var _context$store;
|
|
19
|
-
|
|
20
14
|
const {
|
|
21
15
|
ssrContext
|
|
22
16
|
} = context;
|
|
23
17
|
const {
|
|
24
18
|
loadableStats
|
|
25
19
|
} = ssrContext;
|
|
26
|
-
|
|
27
20
|
if (loadableStats) {
|
|
28
21
|
const extractor = new _server2.ChunkExtractor({
|
|
29
22
|
stats: loadableStats,
|
|
@@ -37,18 +30,15 @@ const prefetch = async (App, context) => (0, _ssr.run)(context.ssrContext.reques
|
|
|
37
30
|
context: context
|
|
38
31
|
}));
|
|
39
32
|
}
|
|
40
|
-
|
|
41
33
|
if (!context.loaderManager.hasPendingLoaders()) {
|
|
42
34
|
return {
|
|
43
35
|
initialData: context.initialData,
|
|
44
36
|
i18nData: context.__i18nData__
|
|
45
37
|
};
|
|
46
38
|
}
|
|
47
|
-
|
|
48
39
|
const loadersData = await context.loaderManager.awaitPendingLoaders();
|
|
49
40
|
Object.keys(loadersData).forEach(id => {
|
|
50
41
|
const data = loadersData[id];
|
|
51
|
-
|
|
52
42
|
if (data._error) {
|
|
53
43
|
ssrContext.logger.error('App Prefetch Loader', data._error);
|
|
54
44
|
ssrContext.metrics.emitCounter('app.prefetch.loader.error', 1);
|
|
@@ -63,6 +53,5 @@ const prefetch = async (App, context) => (0, _ssr.run)(context.ssrContext.reques
|
|
|
63
53
|
storeState: context === null || context === void 0 ? void 0 : (_context$store = context.store) === null || _context$store === void 0 ? void 0 : _context$store.getState()
|
|
64
54
|
};
|
|
65
55
|
});
|
|
66
|
-
|
|
67
56
|
var _default = prefetch;
|
|
68
57
|
exports.default = _default;
|
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.NoSSR = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
|
|
12
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
|
|
14
10
|
let csr = false;
|
|
15
|
-
|
|
16
11
|
const NoSSR = props => {
|
|
17
12
|
const [isMounted, setMounted] = (0, _react.useState)(csr);
|
|
18
13
|
(0, _react.useEffect)(() => {
|
|
@@ -24,5 +19,4 @@ const NoSSR = props => {
|
|
|
24
19
|
} = props;
|
|
25
20
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isMounted ? children : null);
|
|
26
21
|
};
|
|
27
|
-
|
|
28
22
|
exports.NoSSR = NoSSR;
|
|
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PreRender = void 0;
|
|
7
|
-
|
|
8
7
|
var _reactSideEffect = _interopRequireDefault(require("react-side-effect"));
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _util = require("./util");
|
|
13
|
-
|
|
14
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
|
|
18
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
|
|
22
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
-
|
|
24
15
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
-
|
|
26
16
|
const PROP_NAMES = {
|
|
27
17
|
INTERVAL: 'interval',
|
|
28
18
|
STALE_LIMIT: 'staleLimit',
|
|
@@ -32,10 +22,9 @@ const PROP_NAMES = {
|
|
|
32
22
|
FALLBACK: 'fallback',
|
|
33
23
|
MATCHES: 'matches'
|
|
34
24
|
};
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
const handleClientStateChange = () => {
|
|
26
|
+
// not used
|
|
37
27
|
};
|
|
38
|
-
|
|
39
28
|
const mapStateOnServer = reduceProps => {
|
|
40
29
|
const defaultProps = {
|
|
41
30
|
interval: 10,
|
|
@@ -50,17 +39,14 @@ const mapStateOnServer = reduceProps => {
|
|
|
50
39
|
const propKey = key;
|
|
51
40
|
const reduceProp = reduceProps[propKey];
|
|
52
41
|
let nextProps = props;
|
|
53
|
-
|
|
54
42
|
if ((0, _util.exist)(reduceProp)) {
|
|
55
43
|
nextProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
56
44
|
[propKey]: reduceProp
|
|
57
45
|
});
|
|
58
46
|
}
|
|
59
|
-
|
|
60
47
|
return nextProps;
|
|
61
48
|
}, defaultProps);
|
|
62
49
|
};
|
|
63
|
-
|
|
64
50
|
const reducePropsToState = propsList => {
|
|
65
51
|
const reduceProps = {
|
|
66
52
|
interval: (0, _util.getOutermostProperty)(propsList, PROP_NAMES.INTERVAL),
|
|
@@ -73,49 +59,35 @@ const reducePropsToState = propsList => {
|
|
|
73
59
|
};
|
|
74
60
|
return reduceProps;
|
|
75
61
|
};
|
|
76
|
-
|
|
77
62
|
function factory(Component) {
|
|
78
63
|
class Spr extends _react.default.Component {
|
|
79
64
|
static set canUseDOM(canUseDOM) {
|
|
80
65
|
Component.canUseDOM = canUseDOM;
|
|
81
66
|
}
|
|
82
|
-
|
|
83
67
|
static get canUseDOM() {
|
|
84
68
|
return Component.canUseDOM;
|
|
85
69
|
}
|
|
86
|
-
|
|
87
70
|
verify() {
|
|
88
71
|
return true;
|
|
89
72
|
}
|
|
90
|
-
|
|
91
73
|
render() {
|
|
92
74
|
const newProps = _objectSpread({}, this.props);
|
|
93
|
-
|
|
94
75
|
const validate = this.verify();
|
|
95
|
-
|
|
96
76
|
if (!validate) {
|
|
97
77
|
throw new Error('invalid props, check usage');
|
|
98
78
|
}
|
|
99
|
-
|
|
100
79
|
return /*#__PURE__*/(0, _react.createElement)(Component, _objectSpread({}, newProps));
|
|
101
80
|
}
|
|
102
|
-
|
|
103
81
|
}
|
|
104
|
-
|
|
105
82
|
_defineProperty(Spr, "peek", Component.peek);
|
|
106
|
-
|
|
107
83
|
_defineProperty(Spr, "rewind", Component.rewind);
|
|
108
|
-
|
|
109
84
|
_defineProperty(Spr, "config", () => {
|
|
110
85
|
const mappedState = Component.rewind();
|
|
111
86
|
return mappedState;
|
|
112
87
|
});
|
|
113
|
-
|
|
114
88
|
return Spr;
|
|
115
89
|
}
|
|
116
|
-
|
|
117
90
|
const NullComponent = () => null;
|
|
118
|
-
|
|
119
91
|
const SprSideEffects = (0, _reactSideEffect.default)(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);
|
|
120
92
|
const PreRender = factory(SprSideEffects);
|
|
121
93
|
exports.PreRender = PreRender;
|