@modern-js/runtime 2.54.6 → 2.56.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 +91 -17
- package/dist/cjs/cli/ssr/index.js +137 -0
- 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 +142 -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/core/server/string/styledComponent.js +53 -0
- 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/{ssr/serverRender/renderToString/styledComponent.js → core/utils/merge.js} +28 -19
- package/dist/cjs/router/cli/code/index.js +12 -8
- 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 +16 -17
- package/dist/cjs/router/cli/handler.js +22 -5
- package/dist/cjs/router/cli/index.js +29 -56
- package/dist/cjs/router/runtime/PrefetchLink.js +1 -1
- 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 +24 -46
- 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 +110 -18
- package/dist/esm/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
- package/dist/esm/cli/ssr/index.js +127 -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 +242 -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 +28 -22
- 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/core/utils/merge.js +32 -0
- package/dist/esm/router/cli/code/index.js +13 -10
- 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 +19 -19
- package/dist/esm/router/cli/handler.js +70 -8
- package/dist/esm/router/cli/index.js +52 -65
- package/dist/esm/router/runtime/PrefetchLink.js +1 -1
- 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 +26 -82
- 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 +83 -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 +103 -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 +108 -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/core/utils/merge.js +29 -0
- package/dist/esm-node/router/cli/code/index.js +10 -7
- 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 +16 -17
- 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/PrefetchLink.js +1 -1
- 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 +25 -46
- 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 +3 -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 +16 -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/core/utils/merge.d.ts +6 -0
- 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 +1 -3
- package/dist/types/router/runtime/types.d.ts +1 -2
- package/dist/types/state/runtime/plugin.d.ts +2 -2
- package/package.json +52 -45
- package/types/router.d.ts +7 -2
- package/dist/cjs/ssr/cli/index.js +0 -200
- 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,105 @@
|
|
|
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_worker_exports = {};
|
|
30
|
+
__export(createReadableStream_worker_exports, {
|
|
31
|
+
createReadableStreamFromElement: () => createReadableStreamFromElement
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(createReadableStream_worker_exports);
|
|
34
|
+
var import_server = require("react-dom/server");
|
|
35
|
+
var import_isbot = __toESM(require("isbot"));
|
|
36
|
+
var import_constants = require("../../constants");
|
|
37
|
+
var import_common = require("../../../common");
|
|
38
|
+
var import_shared = require("./shared");
|
|
39
|
+
var import_template = require("./template");
|
|
40
|
+
const createReadableStreamFromElement = async (request, rootElement, options) => {
|
|
41
|
+
let shellChunkStatus = import_shared.ShellChunkStatus.START;
|
|
42
|
+
const chunkVec = [];
|
|
43
|
+
const { htmlTemplate, runtimeContext, config, ssrConfig } = options;
|
|
44
|
+
const { shellBefore, shellAfter } = await (0, import_template.getTemplates)(htmlTemplate, {
|
|
45
|
+
renderLevel: import_constants.RenderLevel.SERVER_RENDER,
|
|
46
|
+
runtimeContext,
|
|
47
|
+
ssrConfig,
|
|
48
|
+
request,
|
|
49
|
+
config
|
|
50
|
+
});
|
|
51
|
+
try {
|
|
52
|
+
var _options_onShellReady;
|
|
53
|
+
const readableOriginal = await (0, import_server.renderToReadableStream)(rootElement, {
|
|
54
|
+
nonce: config.nonce,
|
|
55
|
+
onError(error) {
|
|
56
|
+
var _options_onError;
|
|
57
|
+
(_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
(_options_onShellReady = options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(options);
|
|
61
|
+
readableOriginal.allReady.then(() => {
|
|
62
|
+
var _options_onAllReady;
|
|
63
|
+
options === null || options === void 0 ? void 0 : (_options_onAllReady = options.onAllReady) === null || _options_onAllReady === void 0 ? void 0 : _options_onAllReady.call(options);
|
|
64
|
+
});
|
|
65
|
+
const isbot = (0, import_isbot.default)(request.headers.get("user-agent"));
|
|
66
|
+
if (isbot) {
|
|
67
|
+
await readableOriginal.allReady;
|
|
68
|
+
}
|
|
69
|
+
const reader = readableOriginal.getReader();
|
|
70
|
+
const stream = new ReadableStream({
|
|
71
|
+
start(controller) {
|
|
72
|
+
async function push() {
|
|
73
|
+
const { done, value } = await reader.read();
|
|
74
|
+
if (done) {
|
|
75
|
+
controller.close();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (shellChunkStatus !== import_shared.ShellChunkStatus.FINISH) {
|
|
79
|
+
const chunk = new TextDecoder().decode(value);
|
|
80
|
+
chunkVec.push(chunk);
|
|
81
|
+
let concatedChunk = chunkVec.join("");
|
|
82
|
+
if (concatedChunk.endsWith(import_common.ESCAPED_SHELL_STREAM_END_MARK)) {
|
|
83
|
+
concatedChunk = concatedChunk.replace(import_common.ESCAPED_SHELL_STREAM_END_MARK, "");
|
|
84
|
+
shellChunkStatus = import_shared.ShellChunkStatus.FINISH;
|
|
85
|
+
controller.enqueue((0, import_shared.encodeForWebStream)(`${shellBefore}${concatedChunk}${shellAfter}`));
|
|
86
|
+
}
|
|
87
|
+
} else {
|
|
88
|
+
controller.enqueue(value);
|
|
89
|
+
}
|
|
90
|
+
push();
|
|
91
|
+
}
|
|
92
|
+
push();
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return stream;
|
|
96
|
+
} catch (e) {
|
|
97
|
+
const fallbackHtml = `${shellBefore}${shellAfter}`;
|
|
98
|
+
const stream = (0, import_shared.getReadableStreamFromString)(fallbackHtml);
|
|
99
|
+
return stream;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
103
|
+
0 && (module.exports = {
|
|
104
|
+
createReadableStreamFromElement
|
|
105
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
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 stream_exports = {};
|
|
20
|
+
__export(stream_exports, {
|
|
21
|
+
renderStreaming: () => renderStreaming
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(stream_exports);
|
|
24
|
+
var import_createReadableStream = require("./createReadableStream");
|
|
25
|
+
var import_shared = require("./shared");
|
|
26
|
+
const renderStreaming = (0, import_shared.createRenderStreaming)(import_createReadableStream.createReadableStreamFromElement);
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
renderStreaming
|
|
30
|
+
});
|
|
@@ -0,0 +1,112 @@
|
|
|
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 shared_exports = {};
|
|
30
|
+
__export(shared_exports, {
|
|
31
|
+
ShellChunkStatus: () => ShellChunkStatus,
|
|
32
|
+
createRenderStreaming: () => createRenderStreaming,
|
|
33
|
+
encodeForWebStream: () => encodeForWebStream,
|
|
34
|
+
getReadableStreamFromString: () => getReadableStreamFromString
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(shared_exports);
|
|
37
|
+
var import_time = require("@modern-js/runtime-utils/time");
|
|
38
|
+
var import_request = require("@modern-js/runtime-utils/universal/request");
|
|
39
|
+
var import_node = require("@modern-js/runtime-utils/node");
|
|
40
|
+
var import_react = __toESM(require("react"));
|
|
41
|
+
var import_tracer = require("../tracer");
|
|
42
|
+
var import_utils = require("../utils");
|
|
43
|
+
var ShellChunkStatus;
|
|
44
|
+
(function(ShellChunkStatus2) {
|
|
45
|
+
ShellChunkStatus2[ShellChunkStatus2["START"] = 0] = "START";
|
|
46
|
+
ShellChunkStatus2[ShellChunkStatus2["FINISH"] = 1] = "FINISH";
|
|
47
|
+
})(ShellChunkStatus || (ShellChunkStatus = {}));
|
|
48
|
+
let encoder;
|
|
49
|
+
function encodeForWebStream(thing) {
|
|
50
|
+
if (!encoder) {
|
|
51
|
+
encoder = new TextEncoder();
|
|
52
|
+
}
|
|
53
|
+
if (typeof thing === "string") {
|
|
54
|
+
return encoder.encode(thing);
|
|
55
|
+
}
|
|
56
|
+
return thing;
|
|
57
|
+
}
|
|
58
|
+
function getReadableStreamFromString(content) {
|
|
59
|
+
const readableStream = new ReadableStream({
|
|
60
|
+
start(controller) {
|
|
61
|
+
controller.enqueue(encodeForWebStream(content));
|
|
62
|
+
controller.close();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return readableStream;
|
|
66
|
+
}
|
|
67
|
+
function createRenderStreaming(createReadableStreamFromElement) {
|
|
68
|
+
return async (request, serverRoot, options) => {
|
|
69
|
+
const headersData = (0, import_request.parseHeaders)(request);
|
|
70
|
+
return (0, import_node.run)(headersData, async () => {
|
|
71
|
+
const end = (0, import_time.time)();
|
|
72
|
+
const { runtimeContext, config, resource, staticGenerate } = options;
|
|
73
|
+
const onError = (0, import_tracer.createOnError)(options.onError);
|
|
74
|
+
const onTiming = (0, import_tracer.createOnTiming)(options.onTiming);
|
|
75
|
+
const { htmlTemplate, entryName } = resource;
|
|
76
|
+
const ssrConfig = (0, import_utils.getSSRConfigByEntry)(entryName, config.ssr, config.ssrByEntries, staticGenerate);
|
|
77
|
+
const rootElement = import_react.default.cloneElement(serverRoot, {
|
|
78
|
+
_internal_context: Object.assign(runtimeContext, {
|
|
79
|
+
ssr: true
|
|
80
|
+
})
|
|
81
|
+
});
|
|
82
|
+
const stream = await createReadableStreamFromElement(request, rootElement, {
|
|
83
|
+
config,
|
|
84
|
+
htmlTemplate,
|
|
85
|
+
runtimeContext,
|
|
86
|
+
ssrConfig,
|
|
87
|
+
onShellReady() {
|
|
88
|
+
const cost = end();
|
|
89
|
+
onTiming(import_tracer.SSRTimings.RENDER_SHELL, cost);
|
|
90
|
+
},
|
|
91
|
+
onAllReady() {
|
|
92
|
+
const cost = end();
|
|
93
|
+
onTiming(import_tracer.SSRTimings.RENDER_HTML, cost);
|
|
94
|
+
},
|
|
95
|
+
onShellError(error) {
|
|
96
|
+
onError(import_tracer.SSRErrors.RENDER_SHELL, error);
|
|
97
|
+
},
|
|
98
|
+
onError(error) {
|
|
99
|
+
onError(import_tracer.SSRErrors.RENDER_STREAM, error);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return stream;
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
107
|
+
0 && (module.exports = {
|
|
108
|
+
ShellChunkStatus,
|
|
109
|
+
createRenderStreaming,
|
|
110
|
+
encodeForWebStream,
|
|
111
|
+
getReadableStreamFromString
|
|
112
|
+
});
|
|
@@ -21,17 +21,13 @@ __export(template_exports, {
|
|
|
21
21
|
getTemplates: () => getTemplates
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(template_exports);
|
|
24
|
-
var
|
|
25
|
-
var
|
|
24
|
+
var import_beforeTemplate = require("./beforeTemplate");
|
|
25
|
+
var import_afterTemplate = require("./afterTemplate");
|
|
26
26
|
const HTML_SEPARATOR = "<!--<?- html ?>-->";
|
|
27
|
-
const getTemplates = async (
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const builtAfterTemplate = await (0, import_buildTemplate.buildShellAfterTemplate)(afterAppHtmlTemplate, {
|
|
32
|
-
context,
|
|
33
|
-
renderLevel
|
|
34
|
-
});
|
|
27
|
+
const getTemplates = async (htmlTemplate, options) => {
|
|
28
|
+
const [beforeAppTemplate = "", afterAppHtmlTemplate = ""] = htmlTemplate.split(HTML_SEPARATOR) || [];
|
|
29
|
+
const builtBeforeTemplate = await (0, import_beforeTemplate.buildShellBeforeTemplate)(beforeAppTemplate, options);
|
|
30
|
+
const builtAfterTemplate = await (0, import_afterTemplate.buildShellAfterTemplate)(afterAppHtmlTemplate, options);
|
|
35
31
|
return {
|
|
36
32
|
shellBefore: builtBeforeTemplate,
|
|
37
33
|
shellAfter: builtAfterTemplate
|
|
@@ -0,0 +1,152 @@
|
|
|
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 string_exports = {};
|
|
30
|
+
__export(string_exports, {
|
|
31
|
+
renderString: () => renderString
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(string_exports);
|
|
34
|
+
var import_react_helmet = __toESM(require("react-helmet"));
|
|
35
|
+
var import_server = __toESM(require("react-dom/server"));
|
|
36
|
+
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_time = require("@modern-js/runtime-utils/time");
|
|
38
|
+
var import_node = require("@modern-js/runtime-utils/node");
|
|
39
|
+
var import_request = require("@modern-js/runtime-utils/universal/request");
|
|
40
|
+
var import_helmet = require("../helmet");
|
|
41
|
+
var import_utils = require("../utils");
|
|
42
|
+
var import_constants = require("../constants");
|
|
43
|
+
var import_shared = require("../shared");
|
|
44
|
+
var import_tracer = require("../tracer");
|
|
45
|
+
var import_constants2 = require("../../constants");
|
|
46
|
+
var import_ssrData = require("./ssrData");
|
|
47
|
+
var import_loadable = require("./loadable");
|
|
48
|
+
var import_styledComponent = require("./styledComponent");
|
|
49
|
+
var import_prefetch = require("./prefetch");
|
|
50
|
+
const renderString = async (request, serverRoot, options) => {
|
|
51
|
+
const headersData = (0, import_request.parseHeaders)(request);
|
|
52
|
+
return (0, import_node.run)(headersData, async () => {
|
|
53
|
+
var _runtimeContext_ssrContext;
|
|
54
|
+
const { resource, runtimeContext, config, onError, onTiming, staticGenerate } = options;
|
|
55
|
+
const tracer = {
|
|
56
|
+
onError: (0, import_tracer.createOnError)(onError),
|
|
57
|
+
onTiming: (0, import_tracer.createOnTiming)(onTiming)
|
|
58
|
+
};
|
|
59
|
+
const routerContext = runtimeContext.routerContext;
|
|
60
|
+
const { htmlTemplate, entryName, loadableStats, routeManifest } = resource;
|
|
61
|
+
const ssrConfig = (0, import_utils.getSSRConfigByEntry)(entryName, config.ssr, config.ssrByEntries, staticGenerate);
|
|
62
|
+
const chunkSet = {
|
|
63
|
+
renderLevel: import_constants2.RenderLevel.CLIENT_RENDER,
|
|
64
|
+
ssrScripts: "",
|
|
65
|
+
jsChunk: "",
|
|
66
|
+
cssChunk: ""
|
|
67
|
+
};
|
|
68
|
+
let prefetchData = {};
|
|
69
|
+
try {
|
|
70
|
+
prefetchData = await (0, import_prefetch.prefetch)(serverRoot, request, options, ssrConfig, tracer);
|
|
71
|
+
chunkSet.renderLevel = import_constants2.RenderLevel.SERVER_PREFETCH;
|
|
72
|
+
} catch (e) {
|
|
73
|
+
chunkSet.renderLevel = import_constants2.RenderLevel.CLIENT_RENDER;
|
|
74
|
+
}
|
|
75
|
+
const collectors = [
|
|
76
|
+
new import_styledComponent.StyledCollector(chunkSet),
|
|
77
|
+
new import_loadable.LoadableCollector({
|
|
78
|
+
stats: loadableStats,
|
|
79
|
+
nonce: config.nonce,
|
|
80
|
+
routeManifest,
|
|
81
|
+
template: htmlTemplate,
|
|
82
|
+
entryName,
|
|
83
|
+
chunkSet,
|
|
84
|
+
config
|
|
85
|
+
}),
|
|
86
|
+
new import_ssrData.SSRDataCollector({
|
|
87
|
+
request,
|
|
88
|
+
prefetchData,
|
|
89
|
+
ssrConfig,
|
|
90
|
+
ssrContext: runtimeContext.ssrContext,
|
|
91
|
+
chunkSet,
|
|
92
|
+
routerContext,
|
|
93
|
+
nonce: config.nonce
|
|
94
|
+
})
|
|
95
|
+
];
|
|
96
|
+
const rootElement = import_react.default.cloneElement(serverRoot, {
|
|
97
|
+
_internal_context: Object.assign(runtimeContext, {
|
|
98
|
+
ssr: true
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
const html = await generateHtml(rootElement, htmlTemplate, chunkSet, collectors, ((_runtimeContext_ssrContext = runtimeContext.ssrContext) === null || _runtimeContext_ssrContext === void 0 ? void 0 : _runtimeContext_ssrContext.htmlModifiers) || [], tracer);
|
|
102
|
+
return html;
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
async function generateHtml(App, htmlTemplate, chunkSet, collectors, htmlModifiers, { onError, onTiming }) {
|
|
106
|
+
const end = (0, import_time.time)();
|
|
107
|
+
let html = "";
|
|
108
|
+
let helmetData;
|
|
109
|
+
if (chunkSet.renderLevel >= import_constants2.RenderLevel.SERVER_PREFETCH) {
|
|
110
|
+
try {
|
|
111
|
+
const finalApp = collectors.reduce((pre, creator) => {
|
|
112
|
+
var _creator_collect;
|
|
113
|
+
return ((_creator_collect = creator.collect) === null || _creator_collect === void 0 ? void 0 : _creator_collect.call(creator, pre)) || pre;
|
|
114
|
+
}, App);
|
|
115
|
+
html = import_server.default.renderToString(finalApp);
|
|
116
|
+
helmetData = import_react_helmet.default.renderStatic();
|
|
117
|
+
chunkSet.renderLevel = import_constants2.RenderLevel.SERVER_RENDER;
|
|
118
|
+
await Promise.all(collectors.map((component) => component.effect()));
|
|
119
|
+
const cost = end();
|
|
120
|
+
onTiming(import_tracer.SSRTimings.RENDER_HTML, cost);
|
|
121
|
+
} catch (e) {
|
|
122
|
+
chunkSet.renderLevel = import_constants2.RenderLevel.CLIENT_RENDER;
|
|
123
|
+
onError(import_tracer.SSRErrors.RENDER_HTML, e);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
const { ssrScripts, cssChunk, jsChunk } = chunkSet;
|
|
127
|
+
const finalHtml = await (0, import_shared.buildHtml)(htmlTemplate, [
|
|
128
|
+
createReplaceHtml(html),
|
|
129
|
+
createReplaceChunkJs(jsChunk),
|
|
130
|
+
createReplaceChunkCss(cssChunk),
|
|
131
|
+
createReplaceSSRDataScript(ssrScripts),
|
|
132
|
+
(0, import_helmet.createReplaceHelemt)(helmetData),
|
|
133
|
+
...htmlModifiers
|
|
134
|
+
]);
|
|
135
|
+
return finalHtml;
|
|
136
|
+
}
|
|
137
|
+
function createReplaceHtml(html) {
|
|
138
|
+
return (template) => (0, import_utils.safeReplace)(template, import_constants.HTML_PLACEHOLDER, html);
|
|
139
|
+
}
|
|
140
|
+
function createReplaceSSRDataScript(data) {
|
|
141
|
+
return (template) => (0, import_utils.safeReplace)(template, import_constants.SSR_DATA_PLACEHOLDER, data);
|
|
142
|
+
}
|
|
143
|
+
function createReplaceChunkJs(js) {
|
|
144
|
+
return (template) => (0, import_utils.safeReplace)(template, import_constants.CHUNK_JS_PLACEHOLDER, js);
|
|
145
|
+
}
|
|
146
|
+
function createReplaceChunkCss(css) {
|
|
147
|
+
return (template) => (0, import_utils.safeReplace)(template, import_constants.CHUNK_CSS_PLACEHOLDER, css);
|
|
148
|
+
}
|
|
149
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
150
|
+
0 && (module.exports = {
|
|
151
|
+
renderString
|
|
152
|
+
});
|
|
@@ -28,7 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var loadable_exports = {};
|
|
30
30
|
__export(loadable_exports, {
|
|
31
|
-
|
|
31
|
+
LoadableCollector: () => LoadableCollector
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(loadable_exports);
|
|
34
34
|
var import_server = require("@loadable/server");
|
|
@@ -94,13 +94,12 @@ class LoadableCollector {
|
|
|
94
94
|
if (!check(scripts)) {
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
|
-
const {
|
|
97
|
+
const { chunkSet } = this.options;
|
|
98
98
|
const s = scripts.split("</script>").slice(0, 2).map((i) => `${i}</script>`).join("");
|
|
99
|
-
|
|
99
|
+
chunkSet.jsChunk += s;
|
|
100
100
|
}
|
|
101
101
|
async emitScriptAssets(chunks) {
|
|
102
|
-
const { template,
|
|
103
|
-
const { chunksMap } = result;
|
|
102
|
+
const { template, nonce, chunkSet, config } = this.options;
|
|
104
103
|
const { scriptLoading = "defer", enableInlineScripts } = config;
|
|
105
104
|
const scriptLoadingAtr = {
|
|
106
105
|
defer: scriptLoading === "defer" ? true : void 0,
|
|
@@ -125,10 +124,11 @@ class LoadableCollector {
|
|
|
125
124
|
return script;
|
|
126
125
|
}
|
|
127
126
|
}));
|
|
128
|
-
|
|
127
|
+
chunkSet.jsChunk += scripts.filter((script) => Boolean(script)).join("");
|
|
129
128
|
}
|
|
130
129
|
async emitStyleAssets(chunks) {
|
|
131
|
-
const { template,
|
|
130
|
+
const { template, chunkSet, config } = this.options;
|
|
131
|
+
const { enableInlineStyles } = config;
|
|
132
132
|
const atrributes = (0, import_utils.attributesToString)(this.generateAttributes());
|
|
133
133
|
const css = await Promise.all(chunks.filter((chunk) => {
|
|
134
134
|
var _this_existsAssets;
|
|
@@ -144,7 +144,7 @@ class LoadableCollector {
|
|
|
144
144
|
return link;
|
|
145
145
|
}
|
|
146
146
|
}));
|
|
147
|
-
|
|
147
|
+
chunkSet.jsChunk += css.filter((css2) => Boolean(css2)).join("");
|
|
148
148
|
}
|
|
149
149
|
generateAttributes(extraAtr = {}) {
|
|
150
150
|
const { config } = this.options;
|
|
@@ -162,10 +162,7 @@ class LoadableCollector {
|
|
|
162
162
|
this.options = options;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
function createLoadableCollector(options) {
|
|
166
|
-
return new LoadableCollector(options);
|
|
167
|
-
}
|
|
168
165
|
// Annotate the CommonJS export names for ESM import in node:
|
|
169
166
|
0 && (module.exports = {
|
|
170
|
-
|
|
167
|
+
LoadableCollector
|
|
171
168
|
});
|
|
@@ -0,0 +1,112 @@
|
|
|
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 prefetch_exports = {};
|
|
30
|
+
__export(prefetch_exports, {
|
|
31
|
+
prefetch: () => prefetch
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(prefetch_exports);
|
|
34
|
+
var import_server = require("react-dom/server");
|
|
35
|
+
var import_node = require("@modern-js/runtime-utils/node");
|
|
36
|
+
var import_server2 = require("@loadable/server");
|
|
37
|
+
var import_time = require("@modern-js/runtime-utils/time");
|
|
38
|
+
var import_request = require("@modern-js/runtime-utils/universal/request");
|
|
39
|
+
var import_react = __toESM(require("react"));
|
|
40
|
+
var import_tracer = require("../tracer");
|
|
41
|
+
const prefetch = async (App, request, options, ssrConfig, { onError, onTiming }) => {
|
|
42
|
+
const headersData = (0, import_request.parseHeaders)(request);
|
|
43
|
+
const { runtimeContext: context, resource } = options;
|
|
44
|
+
const { entryName, loadableStats } = resource;
|
|
45
|
+
return (0, import_node.run)(headersData, async () => {
|
|
46
|
+
var _context_store;
|
|
47
|
+
if (typeof ssrConfig === "boolean" || !ssrConfig.disablePrerender) {
|
|
48
|
+
try {
|
|
49
|
+
const end = (0, import_time.time)();
|
|
50
|
+
if (loadableStats) {
|
|
51
|
+
const extractor = new import_server2.ChunkExtractor({
|
|
52
|
+
stats: loadableStats,
|
|
53
|
+
entrypoints: [
|
|
54
|
+
entryName
|
|
55
|
+
].filter(Boolean)
|
|
56
|
+
});
|
|
57
|
+
(0, import_server.renderToStaticMarkup)(extractor.collectChunks(/* @__PURE__ */ import_react.default.cloneElement(App, {
|
|
58
|
+
_internal_context: Object.assign(context, {
|
|
59
|
+
ssr: false
|
|
60
|
+
})
|
|
61
|
+
})));
|
|
62
|
+
} else {
|
|
63
|
+
(0, import_server.renderToStaticMarkup)(/* @__PURE__ */ import_react.default.cloneElement(App, {
|
|
64
|
+
_internal_context: Object.assign(context, {
|
|
65
|
+
ssr: false
|
|
66
|
+
})
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
const cost = end();
|
|
70
|
+
onTiming(import_tracer.SSRTimings.PRERENDER, cost);
|
|
71
|
+
} catch (e) {
|
|
72
|
+
const error = e;
|
|
73
|
+
onError(import_tracer.SSRErrors.PRERENDER, error);
|
|
74
|
+
throw e;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (!context.loaderManager.hasPendingLoaders()) {
|
|
78
|
+
return {
|
|
79
|
+
initialData: context.initialData,
|
|
80
|
+
i18nData: context.__i18nData__
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
let loadersData = {};
|
|
84
|
+
try {
|
|
85
|
+
const end = (0, import_time.time)();
|
|
86
|
+
loadersData = await context.loaderManager.awaitPendingLoaders();
|
|
87
|
+
const cost = end();
|
|
88
|
+
onTiming(import_tracer.SSRTimings.USE_LOADER, cost);
|
|
89
|
+
} catch (e) {
|
|
90
|
+
onError(import_tracer.SSRErrors.USE_LOADER, e);
|
|
91
|
+
throw e;
|
|
92
|
+
}
|
|
93
|
+
Object.keys(loadersData).forEach((id) => {
|
|
94
|
+
const data = loadersData[id];
|
|
95
|
+
if (data._error) {
|
|
96
|
+
onError(import_tracer.SSRErrors.USE_LOADER, data._error);
|
|
97
|
+
delete data._error;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
loadersData,
|
|
102
|
+
initialData: context.initialData,
|
|
103
|
+
i18nData: context.__i18nData__,
|
|
104
|
+
// todo: move to plugin state
|
|
105
|
+
storeState: context === null || context === void 0 ? void 0 : (_context_store = context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
110
|
+
0 && (module.exports = {
|
|
111
|
+
prefetch
|
|
112
|
+
});
|