@modern-js/runtime 2.54.5 → 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
|
@@ -0,0 +1,51 @@
|
|
|
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 react_exports = {};
|
|
20
|
+
__export(react_exports, {
|
|
21
|
+
createRoot: () => createRoot
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(react_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_context = require("../context");
|
|
26
|
+
var import_runner = require("../plugin/runner");
|
|
27
|
+
function createRoot(UserApp, config) {
|
|
28
|
+
const App = UserApp || (0, import_context.getGlobalApp)();
|
|
29
|
+
const runner = (0, import_runner.getGlobalRunner)();
|
|
30
|
+
const HOCApp = runner.hoc({
|
|
31
|
+
App,
|
|
32
|
+
config: config || {}
|
|
33
|
+
}, {
|
|
34
|
+
onLast: ({ App: App2 }) => {
|
|
35
|
+
const WrapComponent = ({ _internal_context, ...props }) => {
|
|
36
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.RuntimeReactContext.Provider, {
|
|
37
|
+
value: _internal_context,
|
|
38
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App2, {
|
|
39
|
+
...props
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
return WrapComponent;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return HOCApp;
|
|
47
|
+
}
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
createRoot
|
|
51
|
+
});
|
|
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var helmet_exports = {};
|
|
20
20
|
__export(helmet_exports, {
|
|
21
|
-
|
|
21
|
+
createReplaceHelemt: () => createReplaceHelemt,
|
|
22
|
+
helmetReplace: () => helmetReplace
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(helmet_exports);
|
|
24
25
|
var import_os = require("os");
|
|
@@ -28,7 +29,10 @@ const RE_BODY_ATTR = /<body[^>]*>/;
|
|
|
28
29
|
const RE_LAST_IN_HEAD = /<\/head>/;
|
|
29
30
|
const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
|
|
30
31
|
const TEST_TITLE_CONTENT = RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
|
|
31
|
-
function
|
|
32
|
+
function createReplaceHelemt(helmetData) {
|
|
33
|
+
return helmetData ? (template) => helmetReplace(template, helmetData) : (tempalte) => tempalte;
|
|
34
|
+
}
|
|
35
|
+
function helmetReplace(content, helmetData) {
|
|
32
36
|
let result = content;
|
|
33
37
|
const bodyAttributes = helmetData.bodyAttributes.toString();
|
|
34
38
|
if (bodyAttributes) {
|
|
@@ -63,3 +67,8 @@ function helmet(content, helmetData) {
|
|
|
63
67
|
}, "");
|
|
64
68
|
return (0, import_utils.safeReplace)(result, RE_LAST_IN_HEAD, `${helmetStr}</head>`);
|
|
65
69
|
}
|
|
70
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
+
0 && (module.exports = {
|
|
72
|
+
createReplaceHelemt,
|
|
73
|
+
helmetReplace
|
|
74
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
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 server_exports = {};
|
|
20
|
+
__export(server_exports, {
|
|
21
|
+
NoSSR: () => import_react.NoSSR,
|
|
22
|
+
PreRender: () => import_react.PreRender,
|
|
23
|
+
default: () => server_default,
|
|
24
|
+
ssr: () => ssr
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(server_exports);
|
|
27
|
+
var import_react = require("./react");
|
|
28
|
+
const ssr = (_config) => ({
|
|
29
|
+
name: "@modern-js/plugin-ssr",
|
|
30
|
+
setup: () => ({})
|
|
31
|
+
});
|
|
32
|
+
var server_default = ssr;
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
NoSSR,
|
|
36
|
+
PreRender,
|
|
37
|
+
ssr
|
|
38
|
+
});
|
|
@@ -0,0 +1,156 @@
|
|
|
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 requestHandler_exports = {};
|
|
20
|
+
__export(requestHandler_exports, {
|
|
21
|
+
createRequestHandler: () => createRequestHandler
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(requestHandler_exports);
|
|
24
|
+
var import_request = require("@modern-js/runtime-utils/universal/request");
|
|
25
|
+
var import_react2 = require("../react");
|
|
26
|
+
var import_context = require("../context");
|
|
27
|
+
var import_runner = require("../plugin/runner");
|
|
28
|
+
var import_runtime = require("../context/runtime");
|
|
29
|
+
var import_loaderManager = require("../loader/loaderManager");
|
|
30
|
+
var import_utils = require("./utils");
|
|
31
|
+
var import_constants = require("./constants");
|
|
32
|
+
function createSSRContext(request, options) {
|
|
33
|
+
const { config, loaderContext, onError, onTiming, locals, resource, params, responseProxy, staticGenerate, logger, metrics, reporter } = options;
|
|
34
|
+
const { nonce } = config;
|
|
35
|
+
const { entryName, route } = resource;
|
|
36
|
+
const cookie = request.headers.get("cookie");
|
|
37
|
+
const cookieMap = (0, import_request.parseCookie)(request);
|
|
38
|
+
const pathname = (0, import_request.getPathname)(request);
|
|
39
|
+
const query = (0, import_request.parseQuery)(request);
|
|
40
|
+
const headersData = (0, import_request.parseHeaders)(request);
|
|
41
|
+
const url = new URL(request.url);
|
|
42
|
+
const ssrConfig = (0, import_utils.getSSRConfigByEntry)(entryName, config.ssr, config.ssrByEntries, staticGenerate);
|
|
43
|
+
const ssrMode = (0, import_utils.getSSRMode)(ssrConfig);
|
|
44
|
+
const loaderFailureMode = typeof ssrConfig === "object" ? ssrConfig.loaderFailureMode : void 0;
|
|
45
|
+
return {
|
|
46
|
+
nonce,
|
|
47
|
+
loaderContext,
|
|
48
|
+
redirection: {},
|
|
49
|
+
htmlModifiers: [],
|
|
50
|
+
logger,
|
|
51
|
+
metrics,
|
|
52
|
+
request: {
|
|
53
|
+
baseUrl: route.urlPath,
|
|
54
|
+
userAgent: request.headers.get("user-agent"),
|
|
55
|
+
cookie,
|
|
56
|
+
cookieMap,
|
|
57
|
+
pathname,
|
|
58
|
+
query,
|
|
59
|
+
params,
|
|
60
|
+
headers: headersData,
|
|
61
|
+
host: url.host,
|
|
62
|
+
raw: request
|
|
63
|
+
},
|
|
64
|
+
response: {
|
|
65
|
+
setHeader(key, value) {
|
|
66
|
+
responseProxy.headers[key] = value;
|
|
67
|
+
},
|
|
68
|
+
status(code) {
|
|
69
|
+
responseProxy.code = code;
|
|
70
|
+
},
|
|
71
|
+
locals: locals || {}
|
|
72
|
+
},
|
|
73
|
+
reporter,
|
|
74
|
+
mode: ssrMode,
|
|
75
|
+
onError,
|
|
76
|
+
onTiming,
|
|
77
|
+
loaderFailureMode
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const createRequestHandler = async (handleRequest) => {
|
|
81
|
+
const requestHandler = async (request, options) => {
|
|
82
|
+
const Root = (0, import_react2.createRoot)();
|
|
83
|
+
const runner = (0, import_runner.getGlobalRunner)();
|
|
84
|
+
const { routeManifest } = options.resource;
|
|
85
|
+
const context = (0, import_runtime.getInitialContext)(runner, false, routeManifest);
|
|
86
|
+
const runInit = (_context) => runner.init({
|
|
87
|
+
context: _context
|
|
88
|
+
}, {
|
|
89
|
+
onLast: ({ context: context1 }) => {
|
|
90
|
+
const init = (0, import_context.getGlobalAppInit)();
|
|
91
|
+
return init === null || init === void 0 ? void 0 : init(context1);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
const responseProxy = {
|
|
95
|
+
headers: {},
|
|
96
|
+
code: -1
|
|
97
|
+
};
|
|
98
|
+
const ssrContext = createSSRContext(request, {
|
|
99
|
+
...options,
|
|
100
|
+
responseProxy
|
|
101
|
+
});
|
|
102
|
+
Object.assign(context, {
|
|
103
|
+
ssrContext,
|
|
104
|
+
isBrowser: false,
|
|
105
|
+
loaderManager: (0, import_loaderManager.createLoaderManager)({}, {
|
|
106
|
+
skipNonStatic: options.staticGenerate,
|
|
107
|
+
// if not static generate, only non-static loader can exec on prod env
|
|
108
|
+
skipStatic: process.env.NODE_ENV === "production" && !options.staticGenerate
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
const getRedirectResponse = (result) => {
|
|
112
|
+
if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
|
|
113
|
+
result instanceof Response && result.status >= 300 && result.status <= 399) {
|
|
114
|
+
const { status } = result;
|
|
115
|
+
const redirectUrl = result.headers.get("Location") || "/";
|
|
116
|
+
const { ssrContext: ssrContext2 } = context;
|
|
117
|
+
if (ssrContext2) {
|
|
118
|
+
return new Response(null, {
|
|
119
|
+
status,
|
|
120
|
+
headers: {
|
|
121
|
+
Location: redirectUrl
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return void 0;
|
|
127
|
+
};
|
|
128
|
+
const initialData = await runInit(context);
|
|
129
|
+
context.initialData = initialData;
|
|
130
|
+
const redirectResponse = getRedirectResponse(initialData);
|
|
131
|
+
if (redirectResponse) {
|
|
132
|
+
return redirectResponse;
|
|
133
|
+
}
|
|
134
|
+
const { htmlTemplate } = options.resource;
|
|
135
|
+
options.resource.htmlTemplate = htmlTemplate.replace("</head>", `${import_constants.CHUNK_CSS_PLACEHOLDER}</head>`);
|
|
136
|
+
const response = await handleRequest(request, Root, {
|
|
137
|
+
...options,
|
|
138
|
+
runtimeContext: context
|
|
139
|
+
});
|
|
140
|
+
Object.entries(responseProxy.headers).forEach(([key, value]) => {
|
|
141
|
+
response.headers.set(key, value);
|
|
142
|
+
});
|
|
143
|
+
if (responseProxy.code !== -1) {
|
|
144
|
+
return new Response(response.body, {
|
|
145
|
+
status: responseProxy.code,
|
|
146
|
+
headers: response.headers
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return response;
|
|
150
|
+
};
|
|
151
|
+
return requestHandler;
|
|
152
|
+
};
|
|
153
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
154
|
+
0 && (module.exports = {
|
|
155
|
+
createRequestHandler
|
|
156
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
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 server_exports = {};
|
|
20
|
+
__export(server_exports, {
|
|
21
|
+
createRequestHandler: () => import_requestHandler.createRequestHandler,
|
|
22
|
+
renderStreaming: () => import_stream.renderStreaming,
|
|
23
|
+
renderString: () => import_string.renderString
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(server_exports);
|
|
26
|
+
var import_string = require("./string");
|
|
27
|
+
var import_stream = require("./stream");
|
|
28
|
+
var import_requestHandler = require("./requestHandler");
|
|
29
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
+
0 && (module.exports = {
|
|
31
|
+
createRequestHandler,
|
|
32
|
+
renderStreaming,
|
|
33
|
+
renderString
|
|
34
|
+
});
|
package/dist/cjs/{ssr/serverRender/renderToStream/buildTemplate.share.js → core/server/shared.js}
RENAMED
|
@@ -16,18 +16,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
22
|
-
buildTemplate: () => buildTemplate
|
|
19
|
+
var shared_exports = {};
|
|
20
|
+
__export(shared_exports, {
|
|
21
|
+
buildHtml: () => buildHtml
|
|
23
22
|
});
|
|
24
|
-
module.exports = __toCommonJS(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return callbacks.reduce((promise, buildTemplateCb) => promise.then((template2) => buildTemplateCb(template2)), Promise.resolve(template));
|
|
23
|
+
module.exports = __toCommonJS(shared_exports);
|
|
24
|
+
function buildHtml(template, callbacks) {
|
|
25
|
+
return callbacks.reduce((promise, buildHtmlCb) => promise.then((template2) => buildHtmlCb(template2)), Promise.resolve(template));
|
|
28
26
|
}
|
|
29
27
|
// Annotate the CommonJS export names for ESM import in node:
|
|
30
28
|
0 && (module.exports = {
|
|
31
|
-
|
|
32
|
-
buildTemplate
|
|
29
|
+
buildHtml
|
|
33
30
|
});
|
|
@@ -0,0 +1,80 @@
|
|
|
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 afterTemplate_exports = {};
|
|
20
|
+
__export(afterTemplate_exports, {
|
|
21
|
+
buildShellAfterTemplate: () => buildShellAfterTemplate
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(afterTemplate_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_shared = require("../shared");
|
|
28
|
+
function buildShellAfterTemplate(afterAppTemplate, options) {
|
|
29
|
+
const { request, config, ssrConfig, runtimeContext, renderLevel } = options;
|
|
30
|
+
const callbacks = [
|
|
31
|
+
createReplaceSSRData({
|
|
32
|
+
request,
|
|
33
|
+
ssrConfig,
|
|
34
|
+
nonce: config.nonce,
|
|
35
|
+
runtimeContext,
|
|
36
|
+
renderLevel
|
|
37
|
+
})
|
|
38
|
+
];
|
|
39
|
+
return (0, import_shared.buildHtml)(afterAppTemplate, callbacks);
|
|
40
|
+
}
|
|
41
|
+
function createReplaceSSRData(options) {
|
|
42
|
+
const { runtimeContext, nonce, renderLevel, ssrConfig } = options;
|
|
43
|
+
const { request, reporter } = runtimeContext.ssrContext;
|
|
44
|
+
const headers = typeof ssrConfig === "object" && ssrConfig.unsafeHeaders ? Object.fromEntries(Object.entries(request.headers).filter(([key, _]) => {
|
|
45
|
+
var _ssrConfig_unsafeHeaders_map, _ssrConfig_unsafeHeaders;
|
|
46
|
+
return (_ssrConfig_unsafeHeaders = ssrConfig.unsafeHeaders) === null || _ssrConfig_unsafeHeaders === void 0 ? void 0 : (_ssrConfig_unsafeHeaders_map = _ssrConfig_unsafeHeaders.map((header) => header.toLowerCase())) === null || _ssrConfig_unsafeHeaders_map === void 0 ? void 0 : _ssrConfig_unsafeHeaders_map.includes(key.toLowerCase());
|
|
47
|
+
})) : void 0;
|
|
48
|
+
const ssrData = {
|
|
49
|
+
data: {
|
|
50
|
+
initialData: runtimeContext.initialData,
|
|
51
|
+
i18nData: runtimeContext.__i18nData__
|
|
52
|
+
},
|
|
53
|
+
context: {
|
|
54
|
+
reporter: {
|
|
55
|
+
sessionId: reporter === null || reporter === void 0 ? void 0 : reporter.sessionId
|
|
56
|
+
},
|
|
57
|
+
request: {
|
|
58
|
+
query: request.query,
|
|
59
|
+
params: request.params,
|
|
60
|
+
pathname: request.pathname,
|
|
61
|
+
host: request.host,
|
|
62
|
+
url: request.raw.url,
|
|
63
|
+
headers
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
mode: "stream",
|
|
67
|
+
renderLevel
|
|
68
|
+
};
|
|
69
|
+
const attrsStr = (0, import_utils.attributesToString)({
|
|
70
|
+
nonce
|
|
71
|
+
});
|
|
72
|
+
const ssrDataScript = `
|
|
73
|
+
<script${attrsStr}>window._SSR_DATA = ${(0, import_node.serializeJson)(ssrData)}</script>
|
|
74
|
+
`;
|
|
75
|
+
return (template) => (0, import_utils.safeReplace)(template, import_constants.SSR_DATA_PLACEHOLDER, ssrDataScript);
|
|
76
|
+
}
|
|
77
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
78
|
+
0 && (module.exports = {
|
|
79
|
+
buildShellAfterTemplate
|
|
80
|
+
});
|
|
@@ -26,17 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var beforeTemplate_exports = {};
|
|
30
|
+
__export(beforeTemplate_exports, {
|
|
31
31
|
buildShellBeforeTemplate: () => buildShellBeforeTemplate
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
33
|
+
module.exports = __toCommonJS(beforeTemplate_exports);
|
|
34
34
|
var import_react_helmet = __toESM(require("react-helmet"));
|
|
35
35
|
var import_router = require("@modern-js/runtime-utils/router");
|
|
36
|
-
var import_helmet =
|
|
36
|
+
var import_helmet = require("../helmet");
|
|
37
37
|
var import_constants = require("../constants");
|
|
38
38
|
var import_utils = require("../utils");
|
|
39
|
-
var
|
|
39
|
+
var import_shared = require("../shared");
|
|
40
40
|
const readAsset = async (chunk) => {
|
|
41
41
|
const fs = await Promise.resolve().then(() => __toESM(require("fs/promises")));
|
|
42
42
|
const path = await Promise.resolve().then(() => __toESM(require("path")));
|
|
@@ -54,16 +54,15 @@ const checkIsInline = (chunk, enableInline) => {
|
|
|
54
54
|
return false;
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
async function buildShellBeforeTemplate(beforeAppTemplate,
|
|
57
|
+
async function buildShellBeforeTemplate(beforeAppTemplate, options) {
|
|
58
|
+
const { config, runtimeContext, styledComponentsStyleTags } = options;
|
|
58
59
|
const helmetData = import_react_helmet.default.renderStatic();
|
|
59
60
|
const callbacks = [
|
|
60
|
-
(
|
|
61
|
-
return helmetData ? (0, import_helmet.default)(headTemplate, helmetData) : headTemplate;
|
|
62
|
-
},
|
|
61
|
+
(0, import_helmet.createReplaceHelemt)(helmetData),
|
|
63
62
|
// @TODO: prefetch scripts of lazy component
|
|
64
63
|
(template) => injectCss(template, styledComponentsStyleTags)
|
|
65
64
|
];
|
|
66
|
-
return (0,
|
|
65
|
+
return (0, import_shared.buildHtml)(beforeAppTemplate, callbacks);
|
|
67
66
|
async function injectCss(template, styledComponentsStyleTags2) {
|
|
68
67
|
let css = await getCssChunks();
|
|
69
68
|
if (styledComponentsStyleTags2) {
|
|
@@ -71,7 +70,7 @@ async function buildShellBeforeTemplate(beforeAppTemplate, context, pluginConfig
|
|
|
71
70
|
}
|
|
72
71
|
return (0, import_utils.safeReplace)(template, import_constants.CHUNK_CSS_PLACEHOLDER, css);
|
|
73
72
|
async function getCssChunks() {
|
|
74
|
-
const { routeManifest, routerContext, routes } =
|
|
73
|
+
const { routeManifest, routerContext, routes } = runtimeContext;
|
|
75
74
|
if (!routeManifest || !routerContext || !routes) {
|
|
76
75
|
return "";
|
|
77
76
|
}
|
|
@@ -92,7 +91,7 @@ async function buildShellBeforeTemplate(beforeAppTemplate, context, pluginConfig
|
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
});
|
|
95
|
-
const { enableInlineStyles } =
|
|
94
|
+
const { enableInlineStyles } = config;
|
|
96
95
|
const styles = await Promise.all(cssChunks.map(async (chunk) => {
|
|
97
96
|
const link = `<link href="${chunk}" rel="stylesheet" />`;
|
|
98
97
|
if ((0, import_utils.checkIsNode)() && checkIsInline(chunk, enableInlineStyles)) {
|
|
@@ -0,0 +1,124 @@
|
|
|
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 createReadableStream_exports = {};
|
|
30
|
+
__export(createReadableStream_exports, {
|
|
31
|
+
createReadableStreamFromElement: () => createReadableStreamFromElement
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(createReadableStream_exports);
|
|
34
|
+
var import_stream = require("stream");
|
|
35
|
+
var import_server = require("react-dom/server");
|
|
36
|
+
var import_node = require("@modern-js/runtime-utils/node");
|
|
37
|
+
var import_styled_components = require("styled-components");
|
|
38
|
+
var import_isbot = __toESM(require("isbot"));
|
|
39
|
+
var import_common = require("../../../common");
|
|
40
|
+
var import_constants = require("../../constants");
|
|
41
|
+
var import_template = require("./template");
|
|
42
|
+
var import_shared = require("./shared");
|
|
43
|
+
const createReadableStreamFromElement = (request, rootElement, options) => {
|
|
44
|
+
const { runtimeContext, htmlTemplate, config, ssrConfig } = options;
|
|
45
|
+
let shellChunkStatus = import_shared.ShellChunkStatus.START;
|
|
46
|
+
let renderLevel = import_constants.RenderLevel.SERVER_RENDER;
|
|
47
|
+
const forceStream2String = Boolean(process.env.MODERN_JS_STREAM_TO_STRING);
|
|
48
|
+
const isbot = (0, import_isbot.default)(request.headers.get("user-agent"));
|
|
49
|
+
const onReady = isbot || forceStream2String ? "onAllReady" : "onShellReady";
|
|
50
|
+
const sheet = new import_styled_components.ServerStyleSheet();
|
|
51
|
+
const chunkVec = [];
|
|
52
|
+
const root = forceStream2String ? sheet.collectStyles(rootElement) : rootElement;
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
const { pipe } = (0, import_server.renderToPipeableStream)(root, {
|
|
55
|
+
nonce: config.nonce,
|
|
56
|
+
[onReady]() {
|
|
57
|
+
var _options_onReady;
|
|
58
|
+
const styledComponentsStyleTags = forceStream2String ? sheet.getStyleTags() : "";
|
|
59
|
+
(_options_onReady = options[onReady]) === null || _options_onReady === void 0 ? void 0 : _options_onReady.call(options);
|
|
60
|
+
(0, import_template.getTemplates)(htmlTemplate, {
|
|
61
|
+
request,
|
|
62
|
+
ssrConfig,
|
|
63
|
+
renderLevel,
|
|
64
|
+
runtimeContext,
|
|
65
|
+
config,
|
|
66
|
+
styledComponentsStyleTags
|
|
67
|
+
}).then(({ shellAfter, shellBefore }) => {
|
|
68
|
+
const body = new import_stream.Transform({
|
|
69
|
+
transform(chunk, _encoding, callback) {
|
|
70
|
+
try {
|
|
71
|
+
if (shellChunkStatus !== import_shared.ShellChunkStatus.FINISH) {
|
|
72
|
+
chunkVec.push(chunk.toString());
|
|
73
|
+
let concatedChunk = chunkVec.join("");
|
|
74
|
+
if (concatedChunk.includes(import_common.ESCAPED_SHELL_STREAM_END_MARK)) {
|
|
75
|
+
concatedChunk = concatedChunk.replace(import_common.ESCAPED_SHELL_STREAM_END_MARK, "");
|
|
76
|
+
shellChunkStatus = import_shared.ShellChunkStatus.FINISH;
|
|
77
|
+
this.push(`${shellBefore}${concatedChunk}${shellAfter}`);
|
|
78
|
+
}
|
|
79
|
+
} else {
|
|
80
|
+
this.push(chunk);
|
|
81
|
+
}
|
|
82
|
+
callback();
|
|
83
|
+
} catch (e) {
|
|
84
|
+
if (e instanceof Error) {
|
|
85
|
+
callback(e);
|
|
86
|
+
} else {
|
|
87
|
+
callback(new Error("Received unkown error when streaming"));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
const stream = (0, import_node.createReadableStreamFromReadable)(body);
|
|
93
|
+
resolve(stream);
|
|
94
|
+
pipe(body);
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
onShellError(error) {
|
|
98
|
+
renderLevel = import_constants.RenderLevel.CLIENT_RENDER;
|
|
99
|
+
(0, import_template.getTemplates)(htmlTemplate, {
|
|
100
|
+
request,
|
|
101
|
+
ssrConfig,
|
|
102
|
+
renderLevel,
|
|
103
|
+
runtimeContext,
|
|
104
|
+
config
|
|
105
|
+
}).then(({ shellAfter, shellBefore }) => {
|
|
106
|
+
var _options_onShellError;
|
|
107
|
+
const fallbackHtml = `${shellBefore}${shellAfter}`;
|
|
108
|
+
const readableStream = (0, import_shared.getReadableStreamFromString)(fallbackHtml);
|
|
109
|
+
resolve(readableStream);
|
|
110
|
+
options === null || options === void 0 ? void 0 : (_options_onShellError = options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(options, error);
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
onError(error) {
|
|
114
|
+
var _options_onError;
|
|
115
|
+
renderLevel = import_constants.RenderLevel.CLIENT_RENDER;
|
|
116
|
+
options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
122
|
+
0 && (module.exports = {
|
|
123
|
+
createReadableStreamFromElement
|
|
124
|
+
});
|