@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
|
@@ -0,0 +1,71 @@
|
|
|
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 template_server_exports = {};
|
|
20
|
+
__export(template_server_exports, {
|
|
21
|
+
serverIndex: () => serverIndex
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(template_server_exports);
|
|
24
|
+
var import_utils = require("@modern-js/utils");
|
|
25
|
+
const SERVER_ENTRY = `
|
|
26
|
+
import {
|
|
27
|
+
#render,
|
|
28
|
+
createRequestHandler,
|
|
29
|
+
} from '@#metaName/runtime/ssr/server';
|
|
30
|
+
|
|
31
|
+
const handleRequest = async (request, ServerRoot, options) => {
|
|
32
|
+
|
|
33
|
+
const body = await #render(request, <ServerRoot />, options);
|
|
34
|
+
|
|
35
|
+
return new Response(body, {
|
|
36
|
+
headers: {
|
|
37
|
+
'content-type': 'text/html; charset=utf-8',
|
|
38
|
+
#headers
|
|
39
|
+
},
|
|
40
|
+
})
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const requestHandler = createRequestHandler(handleRequest);
|
|
44
|
+
`;
|
|
45
|
+
const serverIndex = (options) => {
|
|
46
|
+
const { metaName = "modern-js", entryName } = options;
|
|
47
|
+
return `
|
|
48
|
+
import '@${metaName}/runtime/registry/${entryName}';
|
|
49
|
+
${genHandlerCode(options)}
|
|
50
|
+
`;
|
|
51
|
+
};
|
|
52
|
+
function genHandlerCode({ mode, metaName, customServerEntry, srcDirectory, internalSrcAlias }) {
|
|
53
|
+
if (customServerEntry) {
|
|
54
|
+
return `export { default as requestHandler } from '${(0, import_utils.formatImportPath)(customServerEntry.replace(srcDirectory, internalSrcAlias))}'`;
|
|
55
|
+
} else {
|
|
56
|
+
const serverEntry = transformServerEntry(SERVER_ENTRY, {
|
|
57
|
+
metaName: metaName || "modern-js",
|
|
58
|
+
mode
|
|
59
|
+
});
|
|
60
|
+
return serverEntry;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function transformServerEntry(source, options) {
|
|
64
|
+
const { metaName = "modern-js", mode } = options;
|
|
65
|
+
const output = source.replace(/#metaName/g, metaName).replace(/#render/g, mode === "string" ? "renderString" : "renderStreaming").replace(/#headers/g, mode === "string" ? "" : `'transfer-encoding': 'chunked',`);
|
|
66
|
+
return output;
|
|
67
|
+
}
|
|
68
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
69
|
+
0 && (module.exports = {
|
|
70
|
+
serverIndex
|
|
71
|
+
});
|
|
@@ -0,0 +1,116 @@
|
|
|
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 hydrate_exports = {};
|
|
30
|
+
__export(hydrate_exports, {
|
|
31
|
+
hydrateRoot: () => hydrateRoot,
|
|
32
|
+
isReact18: () => isReact18
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(hydrate_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_url = require("@modern-js/runtime-utils/url");
|
|
37
|
+
var import_component = require("@loadable/component");
|
|
38
|
+
var import_react = __toESM(require("react"));
|
|
39
|
+
var import_constants = require("../constants");
|
|
40
|
+
var import_withCallback = require("./withCallback");
|
|
41
|
+
const isReact18 = () => process.env.IS_REACT18 === "true";
|
|
42
|
+
function hydrateRoot(App, context, ModernRender, ModernHydrate) {
|
|
43
|
+
var _window__SSR_DATA, _window, _window__SSR_DATA1, _window1;
|
|
44
|
+
const hydrateContext = {
|
|
45
|
+
...context,
|
|
46
|
+
get routes() {
|
|
47
|
+
return context.routes;
|
|
48
|
+
},
|
|
49
|
+
_hydration: true
|
|
50
|
+
};
|
|
51
|
+
const { ssrContext } = hydrateContext;
|
|
52
|
+
const currentPathname = (0, import_url.normalizePathname)(window.location.pathname);
|
|
53
|
+
const initialPathname = (0, import_url.normalizePathname)(ssrContext.request.pathname);
|
|
54
|
+
if (initialPathname !== currentPathname && context.router) {
|
|
55
|
+
const errorMsg = `The initial URL ${initialPathname} and the URL ${currentPathname} to be hydrated do not match, reload.`;
|
|
56
|
+
console.error(errorMsg);
|
|
57
|
+
window.location.reload();
|
|
58
|
+
}
|
|
59
|
+
const callback = () => {
|
|
60
|
+
delete hydrateContext._hydration;
|
|
61
|
+
};
|
|
62
|
+
const renderLevel = ((_window = window) === null || _window === void 0 ? void 0 : (_window__SSR_DATA = _window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : _window__SSR_DATA.renderLevel) || import_constants.RenderLevel.CLIENT_RENDER;
|
|
63
|
+
const renderMode = ((_window1 = window) === null || _window1 === void 0 ? void 0 : (_window__SSR_DATA1 = _window1._SSR_DATA) === null || _window__SSR_DATA1 === void 0 ? void 0 : _window__SSR_DATA1.mode) || "string";
|
|
64
|
+
if (isReact18() && renderMode === "stream") {
|
|
65
|
+
return streamSSRHydrate();
|
|
66
|
+
}
|
|
67
|
+
function streamSSRHydrate() {
|
|
68
|
+
if (renderLevel === import_constants.RenderLevel.SERVER_RENDER) {
|
|
69
|
+
const SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
|
|
70
|
+
callback,
|
|
71
|
+
children: /* @__PURE__ */ import_react.default.cloneElement(App, {
|
|
72
|
+
_internal_context: hydrateContext
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
return ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
|
|
76
|
+
} else {
|
|
77
|
+
return ModernRender(App);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return stringSSRHydrate();
|
|
81
|
+
function stringSSRHydrate() {
|
|
82
|
+
if (renderLevel === import_constants.RenderLevel.CLIENT_RENDER || renderLevel === import_constants.RenderLevel.SERVER_PREFETCH) {
|
|
83
|
+
return ModernRender(App);
|
|
84
|
+
} else if (renderLevel === import_constants.RenderLevel.SERVER_RENDER) {
|
|
85
|
+
return new Promise((resolve) => {
|
|
86
|
+
if (isReact18()) {
|
|
87
|
+
(0, import_component.loadableReady)(() => {
|
|
88
|
+
const SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
|
|
89
|
+
callback,
|
|
90
|
+
children: /* @__PURE__ */ import_react.default.cloneElement(App, {
|
|
91
|
+
_internal_context: hydrateContext
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {})).then((root) => {
|
|
95
|
+
resolve(root);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
} else {
|
|
99
|
+
(0, import_component.loadableReady)(() => {
|
|
100
|
+
ModernHydrate(App, callback).then((root) => {
|
|
101
|
+
resolve(root);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
} else {
|
|
107
|
+
console.warn(`unknow render level: ${renderLevel}, execute render()`);
|
|
108
|
+
return ModernRender(App);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
113
|
+
0 && (module.exports = {
|
|
114
|
+
hydrateRoot,
|
|
115
|
+
isReact18
|
|
116
|
+
});
|
|
@@ -0,0 +1,122 @@
|
|
|
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 browser_exports = {};
|
|
30
|
+
__export(browser_exports, {
|
|
31
|
+
render: () => render
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(browser_exports);
|
|
34
|
+
var import_react = __toESM(require("react"));
|
|
35
|
+
var import_context = require("../context");
|
|
36
|
+
var import_runtime = require("../context/runtime");
|
|
37
|
+
var import_loaderManager = require("../loader/loaderManager");
|
|
38
|
+
var import_runner = require("../plugin/runner");
|
|
39
|
+
var import_hydrate = require("./hydrate");
|
|
40
|
+
const IS_REACT18 = process.env.IS_REACT18 === "true";
|
|
41
|
+
function isClientArgs(id) {
|
|
42
|
+
return typeof id === "undefined" || typeof id === "string" || typeof HTMLElement !== "undefined" && id instanceof HTMLElement;
|
|
43
|
+
}
|
|
44
|
+
async function render(App, id) {
|
|
45
|
+
const runner = (0, import_runner.getGlobalRunner)();
|
|
46
|
+
const context = (0, import_runtime.getInitialContext)(runner);
|
|
47
|
+
const runInit = (_context) => runner.init({
|
|
48
|
+
context: _context
|
|
49
|
+
}, {
|
|
50
|
+
onLast: ({ context: context1 }) => {
|
|
51
|
+
const init = (0, import_context.getGlobalAppInit)();
|
|
52
|
+
return init === null || init === void 0 ? void 0 : init(context1);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
if (isClientArgs(id)) {
|
|
56
|
+
var _ssrData_data, _ssrData_data1;
|
|
57
|
+
const ssrData = window._SSR_DATA;
|
|
58
|
+
const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
59
|
+
const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
|
|
60
|
+
const loaderData = loadersData[key];
|
|
61
|
+
if ((loaderData === null || loaderData === void 0 ? void 0 : loaderData.loading) !== false) {
|
|
62
|
+
return res;
|
|
63
|
+
}
|
|
64
|
+
res[key] = loaderData;
|
|
65
|
+
return res;
|
|
66
|
+
}, {});
|
|
67
|
+
Object.assign(context, {
|
|
68
|
+
loaderManager: (0, import_loaderManager.createLoaderManager)(initialLoadersState, {
|
|
69
|
+
skipStatic: true
|
|
70
|
+
}),
|
|
71
|
+
...ssrData ? {
|
|
72
|
+
ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
|
|
73
|
+
} : {}
|
|
74
|
+
});
|
|
75
|
+
context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
|
|
76
|
+
const initialData = await runInit(context);
|
|
77
|
+
if (initialData) {
|
|
78
|
+
context.initialData = initialData;
|
|
79
|
+
}
|
|
80
|
+
const rootElement = id && typeof id !== "string" ? id : document.getElementById(id || "root");
|
|
81
|
+
async function ModernRender(App2) {
|
|
82
|
+
const renderFunc = IS_REACT18 ? renderWithReact18 : renderWithReact17;
|
|
83
|
+
return renderFunc(/* @__PURE__ */ import_react.default.cloneElement(App2, {
|
|
84
|
+
_internal_context: context
|
|
85
|
+
}), rootElement);
|
|
86
|
+
}
|
|
87
|
+
async function ModernHydrate(App2, callback) {
|
|
88
|
+
const hydrateFunc = IS_REACT18 ? hydrateWithReact18 : hydrateWithReact17;
|
|
89
|
+
return hydrateFunc(App2, rootElement, callback);
|
|
90
|
+
}
|
|
91
|
+
if (ssrData) {
|
|
92
|
+
return (0, import_hydrate.hydrateRoot)(App, context, ModernRender, ModernHydrate);
|
|
93
|
+
}
|
|
94
|
+
return ModernRender(App);
|
|
95
|
+
}
|
|
96
|
+
throw Error("`render` function needs id in browser environment, it needs to be string or element");
|
|
97
|
+
}
|
|
98
|
+
async function renderWithReact18(App, rootElement) {
|
|
99
|
+
const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom/client")));
|
|
100
|
+
const root = ReactDOM.createRoot(rootElement);
|
|
101
|
+
root.render(App);
|
|
102
|
+
return root;
|
|
103
|
+
}
|
|
104
|
+
async function renderWithReact17(App, rootElement) {
|
|
105
|
+
const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom")));
|
|
106
|
+
ReactDOM.render(App, rootElement);
|
|
107
|
+
return rootElement;
|
|
108
|
+
}
|
|
109
|
+
async function hydrateWithReact18(App, rootElement) {
|
|
110
|
+
const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom/client")));
|
|
111
|
+
const root = ReactDOM.hydrateRoot(rootElement, App);
|
|
112
|
+
return root;
|
|
113
|
+
}
|
|
114
|
+
async function hydrateWithReact17(App, rootElement, callback) {
|
|
115
|
+
const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom")));
|
|
116
|
+
const root = ReactDOM.hydrate(App, rootElement, callback);
|
|
117
|
+
return root;
|
|
118
|
+
}
|
|
119
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
120
|
+
0 && (module.exports = {
|
|
121
|
+
render
|
|
122
|
+
});
|
|
@@ -35,12 +35,13 @@ __export(compatible_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(compatible_exports);
|
|
36
36
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
37
|
var import_react = __toESM(require("react"));
|
|
38
|
-
var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
|
|
39
38
|
var import_constants = require("@modern-js/utils/universal/constants");
|
|
40
39
|
var import_runtime = require("./context/runtime");
|
|
41
40
|
var import_plugin = require("./plugin");
|
|
42
41
|
var import_loaderManager = require("./loader/loaderManager");
|
|
43
42
|
var import_runner = require("./plugin/runner");
|
|
43
|
+
var import_context = require("./context");
|
|
44
|
+
var import_hydrate = require("./browser/hydrate");
|
|
44
45
|
const IS_REACT18 = process.env.IS_REACT18 === "true";
|
|
45
46
|
function isClientArgs(id) {
|
|
46
47
|
return typeof id === "string" || typeof HTMLElement !== "undefined" && id instanceof HTMLElement;
|
|
@@ -64,24 +65,21 @@ const createApp = ({ plugins, runtime, props: globalProps }) => {
|
|
|
64
65
|
...props
|
|
65
66
|
}) : child));
|
|
66
67
|
};
|
|
67
|
-
if (App) {
|
|
68
|
-
(0, import_hoist_non_react_statics.default)(WrapperComponent, App);
|
|
69
|
-
}
|
|
70
68
|
const HOCApp = runner.hoc({
|
|
71
69
|
App: WrapperComponent,
|
|
72
70
|
config: globalProps || {}
|
|
73
71
|
}, {
|
|
74
72
|
onLast: ({ App: App2 }) => {
|
|
75
|
-
const WrapComponent = ({
|
|
76
|
-
let contextValue =
|
|
73
|
+
const WrapComponent = ({ _internal_context, ...props }) => {
|
|
74
|
+
let contextValue = _internal_context;
|
|
77
75
|
if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
|
|
78
76
|
contextValue = getInitialContext(runner);
|
|
79
77
|
runner.init({
|
|
80
78
|
context: contextValue
|
|
81
79
|
}, {
|
|
82
80
|
onLast: ({ context: context1 }) => {
|
|
83
|
-
var
|
|
84
|
-
return
|
|
81
|
+
var _getGlobalAppInit;
|
|
82
|
+
return (_getGlobalAppInit = (0, import_context.getGlobalAppInit)()) === null || _getGlobalAppInit === void 0 ? void 0 : _getGlobalAppInit(context1);
|
|
85
83
|
}
|
|
86
84
|
});
|
|
87
85
|
}
|
|
@@ -96,7 +94,7 @@ const createApp = ({ plugins, runtime, props: globalProps }) => {
|
|
|
96
94
|
})
|
|
97
95
|
});
|
|
98
96
|
};
|
|
99
|
-
return
|
|
97
|
+
return WrapComponent;
|
|
100
98
|
}
|
|
101
99
|
});
|
|
102
100
|
return HOCApp;
|
|
@@ -110,13 +108,13 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
110
108
|
context: _context
|
|
111
109
|
}, {
|
|
112
110
|
onLast: ({ context: context1 }) => {
|
|
113
|
-
|
|
114
|
-
return
|
|
111
|
+
const init = (0, import_context.getGlobalAppInit)();
|
|
112
|
+
return init === null || init === void 0 ? void 0 : init(context1);
|
|
115
113
|
}
|
|
116
114
|
});
|
|
117
115
|
if (!id) {
|
|
118
116
|
return /* @__PURE__ */ import_react.default.createElement(App, {
|
|
119
|
-
context
|
|
117
|
+
_internal_context: context
|
|
120
118
|
});
|
|
121
119
|
}
|
|
122
120
|
const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
|
|
@@ -127,7 +125,7 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
127
125
|
const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
128
126
|
const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
|
|
129
127
|
const loaderData = loadersData[key];
|
|
130
|
-
if (loaderData.loading !== false) {
|
|
128
|
+
if ((loaderData === null || loaderData === void 0 ? void 0 : loaderData.loading) !== false) {
|
|
131
129
|
return res;
|
|
132
130
|
}
|
|
133
131
|
res[key] = loaderData;
|
|
@@ -154,8 +152,12 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
154
152
|
if (IS_REACT18) {
|
|
155
153
|
if (root) {
|
|
156
154
|
root.render(App2);
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
return root;
|
|
156
|
+
}
|
|
157
|
+
if (ReactDOM.createRoot) {
|
|
158
|
+
const root2 = ReactDOM.createRoot(rootElement);
|
|
159
|
+
root2.render(App2);
|
|
160
|
+
return root2;
|
|
159
161
|
} else {
|
|
160
162
|
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method");
|
|
161
163
|
}
|
|
@@ -164,6 +166,7 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
164
166
|
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `render` method");
|
|
165
167
|
}
|
|
166
168
|
ReactDOM.render(App2, rootElement);
|
|
169
|
+
return rootElement;
|
|
167
170
|
}
|
|
168
171
|
};
|
|
169
172
|
const ModernHydrate = (App2, callback) => {
|
|
@@ -172,78 +175,40 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
172
175
|
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method");
|
|
173
176
|
}
|
|
174
177
|
ReactDOM.hydrateRoot(rootElement, App2);
|
|
175
|
-
|
|
176
|
-
if (!ReactDOM.hydrate) {
|
|
177
|
-
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
|
|
178
|
-
}
|
|
179
|
-
ReactDOM.hydrate(App2, rootElement, callback);
|
|
178
|
+
return rootElement;
|
|
180
179
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
App,
|
|
184
|
-
context,
|
|
185
|
-
ModernRender,
|
|
186
|
-
ModernHydrate
|
|
187
|
-
}, {
|
|
188
|
-
onLast: ({ App: App2 }) => {
|
|
189
|
-
ModernRender(/* @__PURE__ */ import_react.default.createElement(App2, {
|
|
190
|
-
context
|
|
191
|
-
}));
|
|
180
|
+
if (!ReactDOM.hydrate) {
|
|
181
|
+
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
|
|
192
182
|
}
|
|
193
|
-
|
|
183
|
+
ReactDOM.hydrate(App2, rootElement, callback);
|
|
184
|
+
return rootElement;
|
|
185
|
+
};
|
|
186
|
+
if (ssrData) {
|
|
187
|
+
return (0, import_hydrate.hydrateRoot)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {}), context, ModernRender, ModernHydrate);
|
|
188
|
+
}
|
|
189
|
+
return ModernRender(/* @__PURE__ */ import_react.default.createElement(App, {
|
|
190
|
+
_internal_context: context
|
|
191
|
+
}));
|
|
194
192
|
} else {
|
|
195
193
|
throw Error("`bootstrap` needs id in browser environment, it needs to be string or element");
|
|
196
194
|
}
|
|
197
195
|
} else {
|
|
198
|
-
|
|
199
|
-
ssrContext: id,
|
|
200
|
-
isBrowser: false,
|
|
201
|
-
loaderManager: (0, import_loaderManager.createLoaderManager)({}, {
|
|
202
|
-
skipNonStatic: id.staticGenerate,
|
|
203
|
-
// if not static generate, only non-static loader can exec on prod env
|
|
204
|
-
skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
|
|
205
|
-
})
|
|
206
|
-
});
|
|
207
|
-
const isRedirectResponse = (result) => {
|
|
208
|
-
if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
|
|
209
|
-
result instanceof Response && result.status >= 300 && result.status <= 399) {
|
|
210
|
-
const { status } = result;
|
|
211
|
-
const redirectUrl = result.headers.get("Location") || "/";
|
|
212
|
-
const { ssrContext } = context;
|
|
213
|
-
if (ssrContext) {
|
|
214
|
-
var _ssrContext_res;
|
|
215
|
-
ssrContext.res && (ssrContext.res.statusCode = status);
|
|
216
|
-
(_ssrContext_res = ssrContext.res) === null || _ssrContext_res === void 0 ? void 0 : _ssrContext_res.setHeader("Location", redirectUrl);
|
|
217
|
-
ssrContext.redirection = ssrContext.redirection || {};
|
|
218
|
-
ssrContext.redirection.status = status;
|
|
219
|
-
ssrContext.redirection.url = redirectUrl;
|
|
220
|
-
}
|
|
221
|
-
return true;
|
|
222
|
-
}
|
|
223
|
-
return false;
|
|
224
|
-
};
|
|
225
|
-
const initialData = await runInit(context);
|
|
226
|
-
if (!isRedirectResponse(initialData)) {
|
|
227
|
-
var _context_routerContext, _context_routerContext1;
|
|
228
|
-
context.initialData = initialData;
|
|
229
|
-
if (((_context_routerContext = context.routerContext) === null || _context_routerContext === void 0 ? void 0 : _context_routerContext.statusCode) && ((_context_routerContext1 = context.routerContext) === null || _context_routerContext1 === void 0 ? void 0 : _context_routerContext1.statusCode) !== 200) {
|
|
230
|
-
var _context_routerContext2, _context_ssrContext;
|
|
231
|
-
(_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.response.status((_context_routerContext2 = context.routerContext) === null || _context_routerContext2 === void 0 ? void 0 : _context_routerContext2.statusCode);
|
|
232
|
-
}
|
|
233
|
-
return runner.server({
|
|
234
|
-
App,
|
|
235
|
-
context
|
|
236
|
-
});
|
|
237
|
-
}
|
|
196
|
+
throw Error("Bootstrap function not support ssr render");
|
|
238
197
|
}
|
|
239
198
|
};
|
|
240
199
|
const useRuntimeContext = () => {
|
|
200
|
+
var _context_ssrContext, _context_ssrContext1;
|
|
241
201
|
const context = (0, import_react.useContext)(import_runtime.RuntimeReactContext);
|
|
202
|
+
const pickedContext = {
|
|
203
|
+
initialData: context.initialData,
|
|
204
|
+
request: (_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.request,
|
|
205
|
+
response: (_context_ssrContext1 = context.ssrContext) === null || _context_ssrContext1 === void 0 ? void 0 : _context_ssrContext1.response
|
|
206
|
+
};
|
|
242
207
|
const memoizedContext = (0, import_react.useMemo)(() => context.runner.pickContext({
|
|
243
208
|
context,
|
|
244
|
-
pickedContext
|
|
209
|
+
pickedContext
|
|
245
210
|
}, {
|
|
246
|
-
onLast: ({ pickedContext }) =>
|
|
211
|
+
onLast: ({ pickedContext: pickedContext2 }) => pickedContext2
|
|
247
212
|
}), [
|
|
248
213
|
context
|
|
249
214
|
]);
|
|
@@ -16,11 +16,11 @@ 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(
|
|
19
|
+
var constants_exports = {};
|
|
20
|
+
__export(constants_exports, {
|
|
21
21
|
RenderLevel: () => RenderLevel
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(constants_exports);
|
|
24
24
|
var RenderLevel;
|
|
25
25
|
(function(RenderLevel2) {
|
|
26
26
|
RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
|
|
@@ -18,11 +18,48 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var context_exports = {};
|
|
20
20
|
__export(context_exports, {
|
|
21
|
-
RuntimeReactContext: () => import_runtime.RuntimeReactContext
|
|
21
|
+
RuntimeReactContext: () => import_runtime.RuntimeReactContext,
|
|
22
|
+
getGlobalApp: () => getGlobalApp,
|
|
23
|
+
getGlobalAppConfig: () => getGlobalAppConfig,
|
|
24
|
+
getGlobalAppInit: () => getGlobalAppInit,
|
|
25
|
+
getGlobalLayoutApp: () => getGlobalLayoutApp,
|
|
26
|
+
getGlobalRoutes: () => getGlobalRoutes,
|
|
27
|
+
setGlobalContext: () => setGlobalContext
|
|
22
28
|
});
|
|
23
29
|
module.exports = __toCommonJS(context_exports);
|
|
24
30
|
var import_runtime = require("./runtime");
|
|
31
|
+
const globalContext = {};
|
|
32
|
+
function setGlobalContext(context) {
|
|
33
|
+
globalContext.App = context.App;
|
|
34
|
+
globalContext.routes = context.routes;
|
|
35
|
+
globalContext.appInit = context.appInit;
|
|
36
|
+
globalContext.appConfig = typeof context.appConfig === "function" ? context.appConfig() : context.appConfig;
|
|
37
|
+
globalContext.layoutApp = context.layoutApp;
|
|
38
|
+
}
|
|
39
|
+
function getGlobalApp() {
|
|
40
|
+
return globalContext.App;
|
|
41
|
+
}
|
|
42
|
+
function getGlobalRoutes() {
|
|
43
|
+
return globalContext.routes;
|
|
44
|
+
}
|
|
45
|
+
function getGlobalAppInit() {
|
|
46
|
+
var _getGlobalApp, _getGlobalLayoutApp;
|
|
47
|
+
return globalContext.appInit || ((_getGlobalApp = getGlobalApp()) === null || _getGlobalApp === void 0 ? void 0 : _getGlobalApp.init) || ((_getGlobalLayoutApp = getGlobalLayoutApp()) === null || _getGlobalLayoutApp === void 0 ? void 0 : _getGlobalLayoutApp.init);
|
|
48
|
+
}
|
|
49
|
+
function getGlobalAppConfig() {
|
|
50
|
+
var _getGlobalApp, _getGlobalLayoutApp;
|
|
51
|
+
return globalContext.appConfig || ((_getGlobalApp = getGlobalApp()) === null || _getGlobalApp === void 0 ? void 0 : _getGlobalApp.config) || ((_getGlobalLayoutApp = getGlobalLayoutApp()) === null || _getGlobalLayoutApp === void 0 ? void 0 : _getGlobalLayoutApp.config);
|
|
52
|
+
}
|
|
53
|
+
function getGlobalLayoutApp() {
|
|
54
|
+
return globalContext.layoutApp;
|
|
55
|
+
}
|
|
25
56
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
57
|
0 && (module.exports = {
|
|
27
|
-
RuntimeReactContext
|
|
58
|
+
RuntimeReactContext,
|
|
59
|
+
getGlobalApp,
|
|
60
|
+
getGlobalAppConfig,
|
|
61
|
+
getGlobalAppInit,
|
|
62
|
+
getGlobalLayoutApp,
|
|
63
|
+
getGlobalRoutes,
|
|
64
|
+
setGlobalContext
|
|
28
65
|
});
|
|
@@ -28,11 +28,11 @@ var import_constants = require("@modern-js/utils/universal/constants");
|
|
|
28
28
|
var import_loaderManager = require("../loader/loaderManager");
|
|
29
29
|
const RuntimeReactContext = (0, import_react.createContext)({});
|
|
30
30
|
const ServerRouterContext = (0, import_react.createContext)({});
|
|
31
|
-
const getInitialContext = (runner) => ({
|
|
31
|
+
const getInitialContext = (runner, isBrowser = true, routeManifest) => ({
|
|
32
32
|
loaderManager: (0, import_loaderManager.createLoaderManager)({}),
|
|
33
33
|
runner,
|
|
34
|
-
isBrowser
|
|
35
|
-
routeManifest: typeof window !== "undefined" && window[import_constants.ROUTE_MANIFEST]
|
|
34
|
+
isBrowser,
|
|
35
|
+
routeManifest: routeManifest || typeof window !== "undefined" && window[import_constants.ROUTE_MANIFEST]
|
|
36
36
|
});
|
|
37
37
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
38
|
0 && (module.exports = {
|
|
@@ -47,7 +47,7 @@ const useLoader = (loaderFn, options = {
|
|
|
47
47
|
delete options._cache;
|
|
48
48
|
}
|
|
49
49
|
const load = (0, import_react.useCallback)((params) => {
|
|
50
|
-
var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
|
|
50
|
+
var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data_loadersData, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
|
|
51
51
|
if (typeof params === "undefined") {
|
|
52
52
|
var _loaderRef_current1;
|
|
53
53
|
return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
|
|
@@ -74,7 +74,7 @@ const useLoader = (loaderFn, options = {
|
|
|
74
74
|
if (options.skip) {
|
|
75
75
|
return void 0;
|
|
76
76
|
}
|
|
77
|
-
if (context._hydration && ((_window = window) === null || _window === void 0 ? void 0 : (_window__SSR_DATA = _window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : (
|
|
77
|
+
if (context._hydration && ((_window = window) === null || _window === void 0 ? void 0 : (_window__SSR_DATA = _window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : (_window__SSR_DATA_data_loadersData = _window__SSR_DATA_data.loadersData) === null || _window__SSR_DATA_data_loadersData === void 0 ? void 0 : (_window__SSR_DATA_data_loadersData_id = _window__SSR_DATA_data_loadersData[id]) === null || _window__SSR_DATA_data_loadersData_id === void 0 ? void 0 : _window__SSR_DATA_data_loadersData_id.error) === null) {
|
|
78
78
|
return void 0;
|
|
79
79
|
}
|
|
80
80
|
const res = loaderRef.current.load();
|
|
@@ -23,16 +23,12 @@ __export(base_exports, {
|
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(base_exports);
|
|
25
25
|
var import_plugin = require("@modern-js/plugin");
|
|
26
|
-
const client = (0, import_plugin.createAsyncPipeline)();
|
|
27
|
-
const server = (0, import_plugin.createAsyncPipeline)();
|
|
28
26
|
const hoc = (0, import_plugin.createPipeline)();
|
|
29
27
|
const init = (0, import_plugin.createAsyncPipeline)();
|
|
30
28
|
const pickContext = (0, import_plugin.createPipeline)();
|
|
31
29
|
const runtimeHooks = {
|
|
32
30
|
hoc,
|
|
33
31
|
init,
|
|
34
|
-
client,
|
|
35
|
-
server,
|
|
36
32
|
pickContext
|
|
37
33
|
};
|
|
38
34
|
const createRuntime = () => (0, import_plugin.createManager)(runtimeHooks);
|
|
@@ -19,9 +19,11 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
19
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
20
|
var plugin_exports = {};
|
|
21
21
|
__export(plugin_exports, {
|
|
22
|
+
mergeConfig: () => mergeConfig,
|
|
22
23
|
registerPlugin: () => registerPlugin
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(plugin_exports);
|
|
26
|
+
var import_lodash = require("@modern-js/utils/lodash");
|
|
25
27
|
var import_base = require("./base");
|
|
26
28
|
var import_runner = require("./runner");
|
|
27
29
|
__reExport(plugin_exports, require("./base"), module.exports);
|
|
@@ -32,8 +34,12 @@ function registerPlugin(internalPlugins, runtimeConfig, customRuntime) {
|
|
|
32
34
|
(0, import_runner.setGlobalRunner)(runner);
|
|
33
35
|
return runner;
|
|
34
36
|
}
|
|
37
|
+
function mergeConfig(config, ...otherConfig) {
|
|
38
|
+
return (0, import_lodash.merge)(config, ...otherConfig);
|
|
39
|
+
}
|
|
35
40
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36
41
|
0 && (module.exports = {
|
|
42
|
+
mergeConfig,
|
|
37
43
|
registerPlugin,
|
|
38
44
|
...require("./base")
|
|
39
45
|
});
|