@modern-js/runtime 2.54.6 → 2.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ssr/serverRender/renderToString/index.js → cli/alias.js} +29 -18
- package/dist/cjs/cli/code.js +124 -0
- package/dist/cjs/cli/constants.js +23 -2
- package/dist/cjs/cli/index.js +92 -17
- package/dist/cjs/{ssr/cli → cli/ssr}/index.js +7 -86
- package/dist/cjs/cli/template.js +101 -0
- package/dist/cjs/cli/template.server.js +71 -0
- package/dist/cjs/core/browser/hydrate.js +116 -0
- package/dist/cjs/core/browser/index.js +122 -0
- package/dist/cjs/core/compatible.js +39 -74
- package/dist/cjs/{ssr/serverRender/types.js → core/constants.js} +3 -3
- package/dist/cjs/core/context/index.js +39 -2
- package/dist/cjs/core/context/runtime.js +3 -3
- package/dist/cjs/core/loader/useLoader.js +2 -2
- package/dist/cjs/core/plugin/base.js +0 -4
- package/dist/cjs/core/plugin/index.js +6 -0
- package/dist/cjs/core/react/index.js +51 -0
- package/dist/cjs/{ssr/serverRender → core/server}/helmet.js +11 -2
- package/dist/cjs/core/server/index.js +38 -0
- package/dist/cjs/core/server/requestHandler.js +156 -0
- package/dist/cjs/core/server/server.js +34 -0
- package/dist/cjs/{ssr/serverRender/renderToStream/buildTemplate.share.js → core/server/shared.js} +7 -10
- package/dist/cjs/core/server/stream/afterTemplate.js +80 -0
- package/dist/cjs/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +11 -12
- package/dist/cjs/core/server/stream/createReadableStream.js +124 -0
- package/dist/cjs/core/server/stream/createReadableStream.worker.js +105 -0
- package/dist/cjs/core/server/stream/index.js +30 -0
- package/dist/cjs/core/server/stream/shared.js +112 -0
- package/dist/cjs/{ssr/serverRender/renderToStream → core/server/stream}/template.js +6 -10
- package/dist/cjs/core/server/string/index.js +152 -0
- package/dist/cjs/{ssr/serverRender/renderToString → core/server/string}/loadable.js +9 -12
- package/dist/cjs/core/server/string/prefetch.js +112 -0
- package/dist/cjs/core/server/string/ssrData.js +100 -0
- package/dist/cjs/{ssr/serverRender/renderToString → core/server/string}/styledComponent.js +20 -11
- package/dist/cjs/core/server/string/types.js +16 -0
- package/dist/cjs/core/server/tracer.js +60 -0
- package/dist/cjs/{ssr/serverRender → core/server}/utils.js +48 -2
- package/dist/cjs/router/cli/code/index.js +10 -6
- package/dist/cjs/router/cli/code/templates.js +58 -3
- package/dist/cjs/router/cli/constants.js +6 -0
- package/dist/cjs/router/cli/entry.js +2 -4
- package/dist/cjs/router/cli/handler.js +22 -5
- package/dist/cjs/router/cli/index.js +29 -56
- package/dist/cjs/router/runtime/index.js +2 -0
- package/dist/cjs/router/runtime/plugin.js +13 -40
- package/dist/cjs/router/runtime/plugin.node.js +17 -32
- package/dist/cjs/state/cli/index.js +7 -35
- package/dist/cjs/state/runtime/plugin.js +6 -15
- package/dist/esm/cli/alias.js +30 -0
- package/dist/esm/cli/code.js +131 -0
- package/dist/esm/cli/constants.js +15 -1
- package/dist/esm/cli/index.js +111 -18
- package/dist/esm/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
- package/dist/esm/cli/ssr/index.js +110 -0
- package/dist/esm/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
- package/dist/esm/cli/template.js +53 -0
- package/dist/esm/cli/template.server.js +26 -0
- package/dist/esm/core/browser/hydrate.js +88 -0
- package/dist/esm/core/browser/index.js +224 -0
- package/dist/esm/core/compatible.js +48 -90
- package/dist/esm/core/context/index.js +32 -1
- package/dist/esm/core/context/runtime.js +3 -2
- package/dist/esm/core/loader/useLoader.js +2 -2
- package/dist/esm/core/plugin/base.js +0 -4
- package/dist/esm/core/plugin/index.js +10 -0
- package/dist/esm/core/react/index.js +31 -0
- package/dist/esm/{ssr/serverRender → core/server}/helmet.js +10 -2
- package/dist/esm/core/server/index.js +16 -0
- package/dist/esm/core/server/react/prerender/type.js +0 -0
- package/dist/esm/core/server/requestHandler.js +181 -0
- package/dist/esm/core/server/server.js +8 -0
- package/dist/esm/core/server/shared.js +10 -0
- package/dist/esm/core/server/stream/afterTemplate.js +60 -0
- package/dist/esm/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +10 -11
- package/dist/esm/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +43 -38
- package/dist/esm/core/server/stream/createReadableStream.worker.js +142 -0
- package/dist/esm/core/server/stream/index.js +6 -0
- package/dist/esm/core/server/stream/shared.js +102 -0
- package/dist/esm/core/server/stream/template.js +42 -0
- package/dist/esm/core/server/string/index.js +219 -0
- package/dist/esm/{ssr/serverRender/renderToString → core/server/string}/loadable.js +10 -13
- package/dist/esm/{ssr → core/server/string}/prefetch.js +27 -21
- package/dist/esm/core/server/string/ssrData.js +83 -0
- package/dist/esm/core/server/string/styledComponent.js +34 -0
- package/dist/esm/core/server/string/types.js +0 -0
- package/dist/esm/core/server/tracer.js +34 -0
- package/dist/esm/core/server/utils.js +83 -0
- package/dist/esm/router/cli/code/index.js +11 -8
- package/dist/esm/router/cli/code/templates.js +100 -7
- package/dist/esm/router/cli/constants.js +4 -0
- package/dist/esm/router/cli/entry.js +2 -4
- package/dist/esm/router/cli/handler.js +70 -8
- package/dist/esm/router/cli/index.js +52 -65
- package/dist/esm/router/runtime/index.js +1 -0
- package/dist/esm/router/runtime/plugin.js +12 -20
- package/dist/esm/router/runtime/plugin.node.js +19 -34
- package/dist/esm/state/cli/index.js +9 -38
- package/dist/esm/state/runtime/plugin.js +5 -5
- package/dist/esm-node/cli/alias.js +28 -0
- package/dist/esm-node/cli/code.js +90 -0
- package/dist/esm-node/cli/constants.js +15 -1
- package/dist/esm-node/cli/index.js +84 -13
- package/dist/esm-node/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
- package/dist/esm-node/cli/ssr/index.js +87 -0
- package/dist/esm-node/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
- package/dist/esm-node/cli/template.js +64 -0
- package/dist/esm-node/cli/template.server.js +47 -0
- package/dist/esm-node/core/browser/hydrate.js +81 -0
- package/dist/esm-node/core/browser/index.js +88 -0
- package/dist/esm-node/core/compatible.js +39 -74
- package/dist/esm-node/core/context/index.js +32 -1
- package/dist/esm-node/core/context/runtime.js +3 -3
- package/dist/esm-node/core/loader/useLoader.js +2 -2
- package/dist/esm-node/core/plugin/base.js +0 -4
- package/dist/esm-node/core/plugin/index.js +5 -0
- package/dist/esm-node/core/react/index.js +27 -0
- package/dist/esm-node/{ssr/serverRender → core/server}/helmet.js +6 -2
- package/dist/esm-node/core/server/index.js +12 -0
- package/dist/esm-node/core/server/requestHandler.js +132 -0
- package/dist/esm-node/core/server/server.js +8 -0
- package/dist/esm-node/core/server/shared.js +6 -0
- package/dist/esm-node/core/server/stream/afterTemplate.js +56 -0
- package/dist/esm-node/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +8 -9
- package/dist/esm-node/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +41 -35
- package/dist/esm-node/core/server/stream/createReadableStream.worker.js +71 -0
- package/dist/esm-node/core/server/stream/index.js +6 -0
- package/dist/esm-node/core/server/stream/shared.js +75 -0
- package/dist/esm-node/core/server/stream/template.js +15 -0
- package/dist/esm-node/core/server/string/index.js +118 -0
- package/dist/esm-node/{ssr/serverRender/renderToString → core/server/string}/loadable.js +8 -11
- package/dist/esm-node/core/server/string/prefetch.js +78 -0
- package/dist/esm-node/core/server/string/ssrData.js +76 -0
- package/dist/esm-node/core/server/string/styledComponent.js +29 -0
- package/dist/esm-node/core/server/tracer.js +33 -0
- package/dist/esm-node/core/server/utils.js +60 -0
- package/dist/esm-node/router/cli/code/index.js +8 -5
- package/dist/esm-node/router/cli/code/templates.js +60 -6
- package/dist/esm-node/router/cli/constants.js +4 -0
- package/dist/esm-node/router/cli/entry.js +2 -4
- package/dist/esm-node/router/cli/handler.js +21 -5
- package/dist/esm-node/router/cli/index.js +31 -58
- package/dist/esm-node/router/runtime/index.js +1 -0
- package/dist/esm-node/router/runtime/plugin.js +13 -30
- package/dist/esm-node/router/runtime/plugin.node.js +18 -33
- package/dist/esm-node/state/cli/index.js +8 -36
- package/dist/esm-node/state/runtime/plugin.js +5 -5
- package/dist/types/cli/alias.d.ts +7 -0
- package/dist/types/cli/code.d.ts +10 -0
- package/dist/types/cli/constants.d.ts +7 -0
- package/dist/types/cli/index.d.ts +8 -1
- package/dist/types/cli/template.d.ts +27 -0
- package/dist/types/cli/template.server.d.ts +15 -0
- package/dist/types/common.d.ts +9 -0
- package/dist/types/core/browser/hydrate.d.ts +5 -0
- package/dist/types/core/browser/index.d.ts +2 -0
- package/dist/types/core/config.d.ts +5 -6
- package/dist/types/core/constants.d.ts +5 -0
- package/dist/types/core/context/index.d.ts +34 -1
- package/dist/types/core/context/runtime.d.ts +2 -2
- package/dist/types/core/plugin/base.d.ts +3 -33
- package/dist/types/core/plugin/index.d.ts +2 -11
- package/dist/types/core/plugin/runner.d.ts +1 -11
- package/dist/types/core/react/index.d.ts +6 -0
- package/dist/types/core/server/helmet.d.ts +3 -0
- package/dist/types/core/server/index.d.ts +4 -0
- package/dist/types/core/server/requestHandler.d.ts +11 -0
- package/dist/types/core/server/server.d.ts +4 -0
- package/dist/types/core/server/shared.d.ts +9 -0
- package/dist/types/core/server/stream/afterTemplate.d.ts +12 -0
- package/dist/types/core/server/stream/beforeTemplate.d.ts +8 -0
- package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
- package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
- package/dist/types/core/server/stream/index.d.ts +1 -0
- package/dist/types/core/server/stream/shared.d.ts +22 -0
- package/dist/types/core/server/stream/template.d.ts +9 -0
- package/dist/types/core/server/string/index.d.ts +2 -0
- package/dist/types/core/server/string/loadable.d.ts +35 -0
- package/dist/types/core/server/string/prefetch.d.ts +15 -0
- package/dist/types/core/server/string/ssrData.d.ts +18 -0
- package/dist/types/core/server/string/styledComponent.d.ts +11 -0
- package/dist/types/core/server/string/types.d.ts +12 -0
- package/dist/types/core/server/tracer.d.ts +21 -0
- package/dist/types/core/server/utils.d.ts +19 -0
- package/dist/types/core/types.d.ts +35 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/router/cli/code/index.d.ts +3 -4
- package/dist/types/router/cli/code/templates.d.ts +9 -1
- package/dist/types/router/cli/constants.d.ts +2 -0
- package/dist/types/router/cli/handler.d.ts +1 -0
- package/dist/types/router/runtime/index.d.ts +1 -0
- package/dist/types/router/runtime/plugin.d.ts +1 -1
- package/dist/types/router/runtime/plugin.node.d.ts +2 -2
- package/dist/types/router/runtime/types.d.ts +1 -2
- package/dist/types/state/runtime/plugin.d.ts +2 -2
- package/package.json +49 -42
- package/types/router.d.ts +7 -2
- package/dist/cjs/ssr/index.js +0 -183
- package/dist/cjs/ssr/index.node.js +0 -86
- package/dist/cjs/ssr/prefetch.js +0 -92
- package/dist/cjs/ssr/serverRender/index.js +0 -39
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -74
- package/dist/cjs/ssr/serverRender/renderToStream/index.js +0 -74
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +0 -104
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -108
- package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +0 -52
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -179
- package/dist/cjs/ssr/serverRender/renderToString/render.js +0 -61
- package/dist/cjs/ssr/serverRender/tracker.js +0 -113
- package/dist/cjs/ssr/utils.js +0 -94
- package/dist/esm/ssr/cli/index.js +0 -194
- package/dist/esm/ssr/index.js +0 -169
- package/dist/esm/ssr/index.node.js +0 -78
- package/dist/esm/ssr/serverRender/index.js +0 -55
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -48
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -12
- package/dist/esm/ssr/serverRender/renderToStream/index.js +0 -49
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -164
- package/dist/esm/ssr/serverRender/renderToStream/template.js +0 -46
- package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +0 -34
- package/dist/esm/ssr/serverRender/renderToString/entry.js +0 -257
- package/dist/esm/ssr/serverRender/renderToString/index.js +0 -34
- package/dist/esm/ssr/serverRender/renderToString/render.js +0 -55
- package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +0 -25
- package/dist/esm/ssr/serverRender/tracker.js +0 -82
- package/dist/esm/ssr/serverRender/utils.js +0 -21
- package/dist/esm/ssr/utils.js +0 -59
- package/dist/esm-node/ssr/cli/index.js +0 -166
- package/dist/esm-node/ssr/index.js +0 -147
- package/dist/esm-node/ssr/index.node.js +0 -50
- package/dist/esm-node/ssr/prefetch.js +0 -72
- package/dist/esm-node/ssr/serverRender/index.js +0 -19
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -50
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -8
- package/dist/esm-node/ssr/serverRender/renderToStream/index.js +0 -40
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -88
- package/dist/esm-node/ssr/serverRender/renderToStream/template.js +0 -19
- package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +0 -24
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +0 -149
- package/dist/esm-node/ssr/serverRender/renderToString/index.js +0 -17
- package/dist/esm-node/ssr/serverRender/renderToString/render.js +0 -27
- package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +0 -20
- package/dist/esm-node/ssr/serverRender/tracker.js +0 -87
- package/dist/esm-node/ssr/serverRender/utils.js +0 -17
- package/dist/esm-node/ssr/utils.js +0 -57
- package/dist/types/ssr/index.d.ts +0 -11
- package/dist/types/ssr/index.node.d.ts +0 -5
- package/dist/types/ssr/prefetch.d.ts +0 -16
- package/dist/types/ssr/serverRender/helmet.d.ts +0 -2
- package/dist/types/ssr/serverRender/index.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -7
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +0 -3
- package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToStream/index.d.ts +0 -3
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +0 -7
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +0 -12
- package/dist/types/ssr/serverRender/renderToStream/template.d.ts +0 -6
- package/dist/types/ssr/serverRender/renderToString/buildHtml.d.ts +0 -6
- package/dist/types/ssr/serverRender/renderToString/entry.d.ts +0 -24
- package/dist/types/ssr/serverRender/renderToString/index.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +0 -26
- package/dist/types/ssr/serverRender/renderToString/render.d.ts +0 -16
- package/dist/types/ssr/serverRender/renderToString/styledComponent.d.ts +0 -15
- package/dist/types/ssr/serverRender/tracker.d.ts +0 -20
- package/dist/types/ssr/serverRender/types.d.ts +0 -49
- package/dist/types/ssr/serverRender/utils.d.ts +0 -9
- package/dist/types/ssr/utils.d.ts +0 -10
- /package/dist/cjs/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +0 -0
- /package/dist/cjs/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +0 -0
- /package/dist/cjs/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
- /package/dist/cjs/{ssr/serverRender → core/server}/constants.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/index.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/nossr/index.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/prerender/index.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/prerender/type.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/prerender/util.js +0 -0
- /package/dist/esm/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
- /package/dist/esm/{ssr/serverRender/types.js → core/constants.js} +0 -0
- /package/dist/esm/{ssr/serverRender → core/server}/constants.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/index.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/nossr/index.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/prerender/index.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/prerender/util.js +0 -0
- /package/dist/esm-node/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
- /package/dist/esm-node/{ssr/serverRender/types.js → core/constants.js} +0 -0
- /package/dist/esm-node/{ssr/serverRender → core/server}/constants.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/index.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/nossr/index.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/prerender/index.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/prerender/type.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/prerender/util.js +0 -0
- /package/dist/{esm/ssr/react/prerender/type.js → esm-node/core/server/string/types.js} +0 -0
- /package/dist/types/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.d.ts +0 -0
- /package/dist/types/{ssr/cli → cli/ssr}/index.d.ts +0 -0
- /package/dist/types/{ssr/cli → cli/ssr}/loadable-bundler-plugin.d.ts +0 -0
- /package/dist/types/{ssr/react/withCallback/index.d.ts → core/browser/withCallback.d.ts} +0 -0
- /package/dist/types/{ssr/serverRender → core/server}/constants.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/index.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/nossr/index.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/prerender/index.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/prerender/type.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/prerender/util.d.ts +0 -0
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var buildTemplate_after_exports = {};
|
|
20
|
-
__export(buildTemplate_after_exports, {
|
|
21
|
-
buildShellAfterTemplate: () => buildShellAfterTemplate
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(buildTemplate_after_exports);
|
|
24
|
-
var import_node = require("@modern-js/runtime-utils/node");
|
|
25
|
-
var import_utils = require("../utils");
|
|
26
|
-
var import_constants = require("../constants");
|
|
27
|
-
var import_buildTemplate = require("./buildTemplate.share");
|
|
28
|
-
function buildShellAfterTemplate(afterAppTemplate, options) {
|
|
29
|
-
const callbacks = [
|
|
30
|
-
injectSSRDataScript
|
|
31
|
-
];
|
|
32
|
-
return (0, import_buildTemplate.buildTemplate)(afterAppTemplate, callbacks);
|
|
33
|
-
function injectSSRDataScript(template) {
|
|
34
|
-
const ssrDataScript = buildSSRDataScript();
|
|
35
|
-
return (0, import_utils.safeReplace)(template, import_constants.SSR_DATA_PLACEHOLDER, ssrDataScript);
|
|
36
|
-
function buildSSRDataScript() {
|
|
37
|
-
const { context: { ssrContext, initialData, __i18nData__ }, renderLevel } = options;
|
|
38
|
-
const { request, enableUnsafeCtx, nonce, tracker } = ssrContext;
|
|
39
|
-
const unsafeContext = {
|
|
40
|
-
headers: request.headers
|
|
41
|
-
};
|
|
42
|
-
const SSRData = {
|
|
43
|
-
data: {
|
|
44
|
-
initialData,
|
|
45
|
-
i18nData: __i18nData__
|
|
46
|
-
},
|
|
47
|
-
context: {
|
|
48
|
-
reporter: {
|
|
49
|
-
sessionId: tracker.sessionId
|
|
50
|
-
},
|
|
51
|
-
request: {
|
|
52
|
-
params: request.params,
|
|
53
|
-
query: request.query,
|
|
54
|
-
pathname: request.pathname,
|
|
55
|
-
host: request.host,
|
|
56
|
-
url: request.url,
|
|
57
|
-
...enableUnsafeCtx ? unsafeContext : {}
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
renderLevel
|
|
61
|
-
};
|
|
62
|
-
const attrsStr = (0, import_utils.attributesToString)({
|
|
63
|
-
nonce
|
|
64
|
-
});
|
|
65
|
-
return `
|
|
66
|
-
<script${attrsStr}>window._SSR_DATA = ${(0, import_node.serializeJson)(SSRData)}</script>
|
|
67
|
-
`;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
-
0 && (module.exports = {
|
|
73
|
-
buildShellAfterTemplate
|
|
74
|
-
});
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var renderToStream_exports = {};
|
|
30
|
-
__export(renderToStream_exports, {
|
|
31
|
-
render: () => render
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(renderToStream_exports);
|
|
34
|
-
var import_react = require("react");
|
|
35
|
-
var import_node = require("@modern-js/runtime-utils/node");
|
|
36
|
-
var import_time = require("@modern-js/runtime-utils/time");
|
|
37
|
-
var import_tracker = require("../tracker");
|
|
38
|
-
var import_renderToPipe = __toESM(require("./renderToPipe"));
|
|
39
|
-
const render = ({ App, context, config }) => {
|
|
40
|
-
const { ssrContext } = context;
|
|
41
|
-
if (!ssrContext) {
|
|
42
|
-
throw new Error('The "ssrContext" must not be undefined, but received undefined');
|
|
43
|
-
}
|
|
44
|
-
return (0, import_node.run)(ssrContext.request.headers, async () => {
|
|
45
|
-
const end = (0, import_time.time)();
|
|
46
|
-
const rootElement = (0, import_react.createElement)(App, {
|
|
47
|
-
context: Object.assign(context || {}, {
|
|
48
|
-
ssr: true
|
|
49
|
-
})
|
|
50
|
-
});
|
|
51
|
-
const { tracker } = ssrContext;
|
|
52
|
-
const stream = (0, import_renderToPipe.default)(rootElement, context, config, {
|
|
53
|
-
onShellReady() {
|
|
54
|
-
const cost = end();
|
|
55
|
-
tracker.trackTiming(import_tracker.SSRTimings.RENDER_SHELL, cost);
|
|
56
|
-
},
|
|
57
|
-
onAllReady() {
|
|
58
|
-
const cost = end();
|
|
59
|
-
tracker.trackTiming(import_tracker.SSRTimings.RENDER_HTML, cost);
|
|
60
|
-
},
|
|
61
|
-
onShellError(e) {
|
|
62
|
-
tracker.trackError(import_tracker.SSRErrors.RENDER_SHELL, e);
|
|
63
|
-
},
|
|
64
|
-
onError(error) {
|
|
65
|
-
tracker.trackError(import_tracker.SSRErrors.RENDER_STREAM, error);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
return stream;
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
-
0 && (module.exports = {
|
|
73
|
-
render
|
|
74
|
-
});
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var renderToPipe_exports = {};
|
|
20
|
-
__export(renderToPipe_exports, {
|
|
21
|
-
default: () => renderToPipe_default
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(renderToPipe_exports);
|
|
24
|
-
var import_stream = require("stream");
|
|
25
|
-
var import_styled_components = require("styled-components");
|
|
26
|
-
var import_types = require("../types");
|
|
27
|
-
var import_common = require("../../../common");
|
|
28
|
-
var import_template = require("./template");
|
|
29
|
-
var ShellChunkStatus;
|
|
30
|
-
(function(ShellChunkStatus2) {
|
|
31
|
-
ShellChunkStatus2[ShellChunkStatus2["START"] = 0] = "START";
|
|
32
|
-
ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 1] = "FINIESH";
|
|
33
|
-
})(ShellChunkStatus || (ShellChunkStatus = {}));
|
|
34
|
-
function renderToPipe(rootElement, context, pluginConfig, options) {
|
|
35
|
-
var _context_ssrContext;
|
|
36
|
-
let shellChunkStatus = 0;
|
|
37
|
-
const forceStream2String = Boolean(process.env.MODERN_JS_STREAM_TO_STRING);
|
|
38
|
-
const onReady = ((_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.isSpider) || forceStream2String ? "onAllReady" : "onShellReady";
|
|
39
|
-
const sheet = new import_styled_components.ServerStyleSheet();
|
|
40
|
-
const { ssrContext } = context;
|
|
41
|
-
const chunkVec = [];
|
|
42
|
-
const forUserPipe = new Promise((resolve) => {
|
|
43
|
-
let renderToPipeableStream;
|
|
44
|
-
try {
|
|
45
|
-
({ renderToPipeableStream } = require("react-dom/server"));
|
|
46
|
-
} catch (e) {
|
|
47
|
-
}
|
|
48
|
-
const root = forceStream2String ? sheet.collectStyles(rootElement) : rootElement;
|
|
49
|
-
let renderLevel = import_types.RenderLevel.SERVER_RENDER;
|
|
50
|
-
const { pipe } = renderToPipeableStream(root, {
|
|
51
|
-
...options,
|
|
52
|
-
nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
|
|
53
|
-
[onReady]() {
|
|
54
|
-
const styledComponentsStyleTags = forceStream2String ? sheet.getStyleTags() : "";
|
|
55
|
-
(0, import_template.getTemplates)(context, renderLevel, pluginConfig, styledComponentsStyleTags).then(({ shellAfter, shellBefore }) => {
|
|
56
|
-
var _options_onReady;
|
|
57
|
-
options === null || options === void 0 ? void 0 : (_options_onReady = options[onReady]) === null || _options_onReady === void 0 ? void 0 : _options_onReady.call(options);
|
|
58
|
-
const injectableTransform = new import_stream.Transform({
|
|
59
|
-
transform(chunk, _encoding, callback) {
|
|
60
|
-
try {
|
|
61
|
-
if (shellChunkStatus !== 1) {
|
|
62
|
-
chunkVec.push(chunk.toString());
|
|
63
|
-
let concatedChunk = chunkVec.join("");
|
|
64
|
-
if (concatedChunk.includes(import_common.ESCAPED_SHELL_STREAM_END_MARK)) {
|
|
65
|
-
concatedChunk = concatedChunk.replace(import_common.ESCAPED_SHELL_STREAM_END_MARK, "");
|
|
66
|
-
shellChunkStatus = 1;
|
|
67
|
-
this.push(`${shellBefore}${concatedChunk}${shellAfter}`);
|
|
68
|
-
}
|
|
69
|
-
} else {
|
|
70
|
-
this.push(chunk);
|
|
71
|
-
}
|
|
72
|
-
callback();
|
|
73
|
-
} catch (e) {
|
|
74
|
-
if (e instanceof Error) {
|
|
75
|
-
callback(e);
|
|
76
|
-
} else {
|
|
77
|
-
callback(new Error("Received unkown error when streaming"));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
pipe(injectableTransform);
|
|
83
|
-
resolve(injectableTransform);
|
|
84
|
-
});
|
|
85
|
-
},
|
|
86
|
-
onShellError(error) {
|
|
87
|
-
renderLevel = import_types.RenderLevel.CLIENT_RENDER;
|
|
88
|
-
(0, import_template.getTemplates)(context, renderLevel, pluginConfig).then(({ shellAfter, shellBefore }) => {
|
|
89
|
-
var _options_onShellError;
|
|
90
|
-
const fallbackHtml = `${shellBefore}${shellAfter}`;
|
|
91
|
-
resolve(fallbackHtml);
|
|
92
|
-
options === null || options === void 0 ? void 0 : (_options_onShellError = options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(options, error);
|
|
93
|
-
});
|
|
94
|
-
},
|
|
95
|
-
onError(error) {
|
|
96
|
-
var _options_onError;
|
|
97
|
-
renderLevel = import_types.RenderLevel.CLIENT_RENDER;
|
|
98
|
-
options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
return forUserPipe;
|
|
103
|
-
}
|
|
104
|
-
var renderToPipe_default = renderToPipe;
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var renderToPipe_worker_exports = {};
|
|
20
|
-
__export(renderToPipe_worker_exports, {
|
|
21
|
-
default: () => renderToPipe_worker_default
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(renderToPipe_worker_exports);
|
|
24
|
-
var import_types = require("../types");
|
|
25
|
-
var import_common = require("../../../common");
|
|
26
|
-
var import_tracker = require("../tracker");
|
|
27
|
-
var import_template = require("./template");
|
|
28
|
-
var ShellChunkStatus;
|
|
29
|
-
(function(ShellChunkStatus2) {
|
|
30
|
-
ShellChunkStatus2[ShellChunkStatus2["START"] = 0] = "START";
|
|
31
|
-
ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 1] = "FINIESH";
|
|
32
|
-
})(ShellChunkStatus || (ShellChunkStatus = {}));
|
|
33
|
-
function renderToPipe(rootElement, context, pluginConfig, options) {
|
|
34
|
-
let shellChunkStatus = 0;
|
|
35
|
-
const chunkVec = [];
|
|
36
|
-
const { ssrContext } = context;
|
|
37
|
-
const forUserPipe = async () => {
|
|
38
|
-
let renderToReadableStream;
|
|
39
|
-
try {
|
|
40
|
-
({ renderToReadableStream } = require("react-dom/server"));
|
|
41
|
-
} catch (e) {
|
|
42
|
-
}
|
|
43
|
-
const { shellAfter, shellBefore } = await (0, import_template.getTemplates)(context, import_types.RenderLevel.SERVER_RENDER, pluginConfig);
|
|
44
|
-
try {
|
|
45
|
-
var _options_onShellReady, _context_ssrContext;
|
|
46
|
-
const readableOriginal = await renderToReadableStream(rootElement, {
|
|
47
|
-
...options,
|
|
48
|
-
nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
|
|
49
|
-
onError(error) {
|
|
50
|
-
var _options_onError;
|
|
51
|
-
options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
options === null || options === void 0 ? void 0 : (_options_onShellReady = options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(options);
|
|
55
|
-
readableOriginal.allReady.then(() => {
|
|
56
|
-
var _options_onAllReady;
|
|
57
|
-
options === null || options === void 0 ? void 0 : (_options_onAllReady = options.onAllReady) === null || _options_onAllReady === void 0 ? void 0 : _options_onAllReady.call(options);
|
|
58
|
-
});
|
|
59
|
-
if ((_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.isSpider) {
|
|
60
|
-
await readableOriginal.allReady;
|
|
61
|
-
}
|
|
62
|
-
const reader = readableOriginal.getReader();
|
|
63
|
-
const injectableStream = new ReadableStream({
|
|
64
|
-
start(controller) {
|
|
65
|
-
async function push() {
|
|
66
|
-
const { done, value } = await reader.read();
|
|
67
|
-
if (done) {
|
|
68
|
-
controller.close();
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (shellChunkStatus !== 1) {
|
|
72
|
-
const chunk = new TextDecoder().decode(value);
|
|
73
|
-
chunkVec.push(chunk);
|
|
74
|
-
let concatedChunk = chunkVec.join("");
|
|
75
|
-
if (concatedChunk.endsWith(import_common.ESCAPED_SHELL_STREAM_END_MARK)) {
|
|
76
|
-
concatedChunk = concatedChunk.replace(import_common.ESCAPED_SHELL_STREAM_END_MARK, "");
|
|
77
|
-
shellChunkStatus = 1;
|
|
78
|
-
controller.enqueue(encodeForWebStream(`${shellBefore}${concatedChunk}${shellAfter}`));
|
|
79
|
-
}
|
|
80
|
-
} else {
|
|
81
|
-
controller.enqueue(value);
|
|
82
|
-
}
|
|
83
|
-
push();
|
|
84
|
-
}
|
|
85
|
-
push();
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
return injectableStream;
|
|
89
|
-
} catch (err) {
|
|
90
|
-
ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.tracker.trackError(import_tracker.SSRErrors.RENDER_SHELL, err);
|
|
91
|
-
const { shellAfter: shellAfter2, shellBefore: shellBefore2 } = await (0, import_template.getTemplates)(context, import_types.RenderLevel.CLIENT_RENDER, pluginConfig);
|
|
92
|
-
const fallbackHtml = `${shellBefore2}${shellAfter2}`;
|
|
93
|
-
return fallbackHtml;
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
return forUserPipe();
|
|
97
|
-
}
|
|
98
|
-
let encoder;
|
|
99
|
-
function encodeForWebStream(thing) {
|
|
100
|
-
if (!encoder) {
|
|
101
|
-
encoder = new TextEncoder();
|
|
102
|
-
}
|
|
103
|
-
if (typeof thing === "string") {
|
|
104
|
-
return encoder.encode(thing);
|
|
105
|
-
}
|
|
106
|
-
return thing;
|
|
107
|
-
}
|
|
108
|
-
var renderToPipe_worker_default = renderToPipe;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var buildHtml_exports = {};
|
|
20
|
-
__export(buildHtml_exports, {
|
|
21
|
-
buildHtml: () => buildHtml,
|
|
22
|
-
createReplaceChunkCss: () => createReplaceChunkCss,
|
|
23
|
-
createReplaceChunkJs: () => createReplaceChunkJs,
|
|
24
|
-
createReplaceHtml: () => createReplaceHtml,
|
|
25
|
-
createReplaceSSRDataScript: () => createReplaceSSRDataScript
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(buildHtml_exports);
|
|
28
|
-
var import_utils = require("../utils");
|
|
29
|
-
var import_constants = require("../constants");
|
|
30
|
-
function buildHtml(template, callbacks) {
|
|
31
|
-
return callbacks.reduce((tmp, cb) => cb(tmp), template);
|
|
32
|
-
}
|
|
33
|
-
function createReplaceHtml(html) {
|
|
34
|
-
return (template) => (0, import_utils.safeReplace)(template, import_constants.HTML_PLACEHOLDER, html);
|
|
35
|
-
}
|
|
36
|
-
function createReplaceSSRDataScript(data) {
|
|
37
|
-
return (template) => (0, import_utils.safeReplace)(template, import_constants.SSR_DATA_PLACEHOLDER, data);
|
|
38
|
-
}
|
|
39
|
-
function createReplaceChunkJs(js) {
|
|
40
|
-
return (template) => (0, import_utils.safeReplace)(template, import_constants.CHUNK_JS_PLACEHOLDER, js);
|
|
41
|
-
}
|
|
42
|
-
function createReplaceChunkCss(css) {
|
|
43
|
-
return (template) => (0, import_utils.safeReplace)(template, import_constants.CHUNK_CSS_PLACEHOLDER, css);
|
|
44
|
-
}
|
|
45
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
-
0 && (module.exports = {
|
|
47
|
-
buildHtml,
|
|
48
|
-
createReplaceChunkCss,
|
|
49
|
-
createReplaceChunkJs,
|
|
50
|
-
createReplaceHtml,
|
|
51
|
-
createReplaceSSRDataScript
|
|
52
|
-
});
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var entry_exports = {};
|
|
30
|
-
__export(entry_exports, {
|
|
31
|
-
default: () => Entry
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(entry_exports);
|
|
34
|
-
var import_react = __toESM(require("react"));
|
|
35
|
-
var import_node = require("@modern-js/runtime-utils/node");
|
|
36
|
-
var import_time = require("@modern-js/runtime-utils/time");
|
|
37
|
-
var import_utils = require("../../../router/runtime/utils");
|
|
38
|
-
var import_helmet = __toESM(require("../helmet"));
|
|
39
|
-
var import_types = require("../types");
|
|
40
|
-
var import_prefetch = __toESM(require("../../prefetch"));
|
|
41
|
-
var import_constants = require("../constants");
|
|
42
|
-
var import_utils2 = require("../utils");
|
|
43
|
-
var import_tracker = require("../tracker");
|
|
44
|
-
var import_loadable = require("./loadable");
|
|
45
|
-
var import_render = require("./render");
|
|
46
|
-
var import_styledComponent = require("./styledComponent");
|
|
47
|
-
var import_buildHtml = require("./buildHtml");
|
|
48
|
-
const buildTemplateData = (context, data, renderLevel, tracker, config) => {
|
|
49
|
-
const { request } = context;
|
|
50
|
-
const { unsafeHeaders } = config;
|
|
51
|
-
const headers = unsafeHeaders ? Object.fromEntries(Object.entries(request.headers).filter(([key, _]) => {
|
|
52
|
-
var _unsafeHeaders_map;
|
|
53
|
-
return unsafeHeaders === null || unsafeHeaders === void 0 ? void 0 : (_unsafeHeaders_map = unsafeHeaders.map((header) => header.toLowerCase())) === null || _unsafeHeaders_map === void 0 ? void 0 : _unsafeHeaders_map.includes(key.toLowerCase());
|
|
54
|
-
})) : void 0;
|
|
55
|
-
return {
|
|
56
|
-
data,
|
|
57
|
-
context: {
|
|
58
|
-
request: {
|
|
59
|
-
params: request.params,
|
|
60
|
-
query: request.query,
|
|
61
|
-
pathname: request.pathname,
|
|
62
|
-
host: request.host,
|
|
63
|
-
url: request.url,
|
|
64
|
-
headers
|
|
65
|
-
},
|
|
66
|
-
reporter: {
|
|
67
|
-
sessionId: tracker.sessionId
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
renderLevel
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
class Entry {
|
|
74
|
-
async renderToHtml(context) {
|
|
75
|
-
var _ssrContext_redirection, _ssrContext_redirection1, _ssrContext_redirection2;
|
|
76
|
-
const ssrContext = context.ssrContext;
|
|
77
|
-
if ((_ssrContext_redirection = ssrContext.redirection) === null || _ssrContext_redirection === void 0 ? void 0 : _ssrContext_redirection.url) {
|
|
78
|
-
return "";
|
|
79
|
-
}
|
|
80
|
-
const prefetchData = await this.prefetch(context);
|
|
81
|
-
if ((_ssrContext_redirection1 = ssrContext.redirection) === null || _ssrContext_redirection1 === void 0 ? void 0 : _ssrContext_redirection1.url) {
|
|
82
|
-
return "";
|
|
83
|
-
}
|
|
84
|
-
if (this.result.renderLevel >= import_types.RenderLevel.SERVER_PREFETCH) {
|
|
85
|
-
this.result.html = await this.renderToString(context);
|
|
86
|
-
}
|
|
87
|
-
if ((_ssrContext_redirection2 = ssrContext.redirection) === null || _ssrContext_redirection2 === void 0 ? void 0 : _ssrContext_redirection2.url) {
|
|
88
|
-
return "";
|
|
89
|
-
}
|
|
90
|
-
const { routerContext } = context;
|
|
91
|
-
const routerData = routerContext ? {
|
|
92
|
-
loaderData: routerContext.loaderData,
|
|
93
|
-
errors: (0, import_utils.serializeErrors)(routerContext.errors)
|
|
94
|
-
} : void 0;
|
|
95
|
-
const templateData = buildTemplateData(ssrContext, prefetchData, this.result.renderLevel, this.tracker, this.pluginConfig);
|
|
96
|
-
const ssrDataScripts = this.getSSRDataScript(templateData, routerData);
|
|
97
|
-
const html = (0, import_buildHtml.buildHtml)(this.template, [
|
|
98
|
-
(0, import_buildHtml.createReplaceChunkCss)(this.result.chunksMap.css),
|
|
99
|
-
(0, import_buildHtml.createReplaceChunkJs)(this.result.chunksMap.js),
|
|
100
|
-
(0, import_buildHtml.createReplaceSSRDataScript)(ssrDataScripts),
|
|
101
|
-
(0, import_buildHtml.createReplaceHtml)(this.result.html || ""),
|
|
102
|
-
...this.htmlModifiers
|
|
103
|
-
]);
|
|
104
|
-
const helmetData = this.result.helmet;
|
|
105
|
-
return helmetData ? (0, import_helmet.default)(html, helmetData) : html;
|
|
106
|
-
}
|
|
107
|
-
async prefetch(context) {
|
|
108
|
-
let prefetchData;
|
|
109
|
-
try {
|
|
110
|
-
prefetchData = await (0, import_prefetch.default)(this.App, context, this.pluginConfig, this.tracker);
|
|
111
|
-
this.result.renderLevel = import_types.RenderLevel.SERVER_PREFETCH;
|
|
112
|
-
} catch (e) {
|
|
113
|
-
this.result.renderLevel = import_types.RenderLevel.CLIENT_RENDER;
|
|
114
|
-
}
|
|
115
|
-
return prefetchData || {};
|
|
116
|
-
}
|
|
117
|
-
async renderToString(context) {
|
|
118
|
-
let html = "";
|
|
119
|
-
const end = (0, import_time.time)();
|
|
120
|
-
const { ssrContext } = context;
|
|
121
|
-
try {
|
|
122
|
-
const App = import_react.default.createElement(this.App, {
|
|
123
|
-
context: Object.assign(context, {
|
|
124
|
-
ssr: true
|
|
125
|
-
})
|
|
126
|
-
});
|
|
127
|
-
html = await (0, import_render.createRender)(App, this.result).addCollector((0, import_styledComponent.createStyledCollector)(this.result)).addCollector((0, import_loadable.createLoadableCollector)({
|
|
128
|
-
stats: ssrContext.loadableStats,
|
|
129
|
-
result: this.result,
|
|
130
|
-
entryName: this.entryName,
|
|
131
|
-
config: this.pluginConfig,
|
|
132
|
-
nonce: this.nonce,
|
|
133
|
-
template: this.template,
|
|
134
|
-
routeManifest: this.routeManifest
|
|
135
|
-
})).finish();
|
|
136
|
-
const cost = end();
|
|
137
|
-
this.tracker.trackTiming(import_tracker.SSRTimings.RENDER_HTML, cost);
|
|
138
|
-
this.result.renderLevel = import_types.RenderLevel.SERVER_RENDER;
|
|
139
|
-
} catch (e) {
|
|
140
|
-
this.tracker.trackError(import_tracker.SSRErrors.RENDER_HTML, e);
|
|
141
|
-
}
|
|
142
|
-
return html;
|
|
143
|
-
}
|
|
144
|
-
getSSRDataScript(templateData, routerData) {
|
|
145
|
-
const useInlineScript = this.pluginConfig.inlineScript !== false;
|
|
146
|
-
const ssrData = (0, import_node.serializeJson)(templateData);
|
|
147
|
-
const attrsStr = (0, import_utils2.attributesToString)({
|
|
148
|
-
nonce: this.nonce
|
|
149
|
-
});
|
|
150
|
-
let ssrDataScripts = useInlineScript ? `<script${attrsStr}>window._SSR_DATA = ${ssrData}</script>` : `<script type="application/json" id="${import_constants.SSR_DATA_JSON_ID}">${ssrData}</script>`;
|
|
151
|
-
if (routerData) {
|
|
152
|
-
const serializedRouterData = (0, import_node.serializeJson)(routerData);
|
|
153
|
-
ssrDataScripts += useInlineScript ? `
|
|
154
|
-
<script${attrsStr}>window._ROUTER_DATA = ${serializedRouterData}</script>` : `
|
|
155
|
-
<script type="application/json" id="${import_constants.ROUTER_DATA_JSON_ID}">${serializedRouterData}</script>`;
|
|
156
|
-
}
|
|
157
|
-
return ssrDataScripts;
|
|
158
|
-
}
|
|
159
|
-
constructor(options) {
|
|
160
|
-
const { ctx, config } = options;
|
|
161
|
-
const { entryName, template, nonce } = ctx;
|
|
162
|
-
this.template = template;
|
|
163
|
-
this.entryName = entryName;
|
|
164
|
-
this.App = options.App;
|
|
165
|
-
this.pluginConfig = config;
|
|
166
|
-
this.routeManifest = ctx.routeManifest;
|
|
167
|
-
this.tracker = ctx.tracker;
|
|
168
|
-
this.htmlModifiers = ctx.htmlModifiers;
|
|
169
|
-
this.nonce = nonce;
|
|
170
|
-
this.result = {
|
|
171
|
-
renderLevel: import_types.RenderLevel.CLIENT_RENDER,
|
|
172
|
-
html: "",
|
|
173
|
-
chunksMap: {
|
|
174
|
-
js: "",
|
|
175
|
-
css: ""
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var render_exports = {};
|
|
30
|
-
__export(render_exports, {
|
|
31
|
-
createRender: () => createRender
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(render_exports);
|
|
34
|
-
var import_server = __toESM(require("react-dom/server"));
|
|
35
|
-
var import_react_helmet = __toESM(require("react-helmet"));
|
|
36
|
-
class Render {
|
|
37
|
-
addCollector(collector) {
|
|
38
|
-
this.collectors.push(collector);
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
async finish() {
|
|
42
|
-
const App = this.collectors.reduce((pre, collector) => collector.collect(pre), this.App);
|
|
43
|
-
const html = import_server.default.renderToString(App);
|
|
44
|
-
const helmetData = import_react_helmet.default.renderStatic();
|
|
45
|
-
this.renderResult.helmet = helmetData;
|
|
46
|
-
await Promise.all(this.collectors.map((component) => component.effect()));
|
|
47
|
-
return html;
|
|
48
|
-
}
|
|
49
|
-
constructor(App, result) {
|
|
50
|
-
this.collectors = [];
|
|
51
|
-
this.App = App;
|
|
52
|
-
this.renderResult = result;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
function createRender(App, result) {
|
|
56
|
-
return new Render(App, result);
|
|
57
|
-
}
|
|
58
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
-
0 && (module.exports = {
|
|
60
|
-
createRender
|
|
61
|
-
});
|