@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,100 @@
|
|
|
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 ssrData_exports = {};
|
|
20
|
+
__export(ssrData_exports, {
|
|
21
|
+
SSRDataCollector: () => SSRDataCollector
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ssrData_exports);
|
|
24
|
+
var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
|
|
25
|
+
var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
|
|
26
|
+
var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set");
|
|
27
|
+
var import_class_private_method_get = require("@swc/helpers/_/_class_private_method_get");
|
|
28
|
+
var import_class_private_method_init = require("@swc/helpers/_/_class_private_method_init");
|
|
29
|
+
var import_node = require("@modern-js/runtime-utils/node");
|
|
30
|
+
var import_utils = require("../utils");
|
|
31
|
+
var import_constants = require("../constants");
|
|
32
|
+
var _options = /* @__PURE__ */ new WeakMap(), _getSSRData = /* @__PURE__ */ new WeakSet(), _getSSRDataScripts = /* @__PURE__ */ new WeakSet();
|
|
33
|
+
class SSRDataCollector {
|
|
34
|
+
effect() {
|
|
35
|
+
const { routerContext, chunkSet } = (0, import_class_private_field_get._)(this, _options);
|
|
36
|
+
const ssrData = (0, import_class_private_method_get._)(this, _getSSRData, getSSRData).call(this);
|
|
37
|
+
const routerData = routerContext ? {
|
|
38
|
+
loaderData: routerContext.loaderData,
|
|
39
|
+
errors: (0, import_utils.serializeErrors)(routerContext.errors)
|
|
40
|
+
} : void 0;
|
|
41
|
+
const ssrDataScripts = (0, import_class_private_method_get._)(this, _getSSRDataScripts, getSSRDataScripts).call(this, ssrData, routerData);
|
|
42
|
+
chunkSet.ssrScripts = ssrDataScripts;
|
|
43
|
+
}
|
|
44
|
+
constructor(options) {
|
|
45
|
+
(0, import_class_private_method_init._)(this, _getSSRData);
|
|
46
|
+
(0, import_class_private_method_init._)(this, _getSSRDataScripts);
|
|
47
|
+
(0, import_class_private_field_init._)(this, _options, {
|
|
48
|
+
writable: true,
|
|
49
|
+
value: void 0
|
|
50
|
+
});
|
|
51
|
+
(0, import_class_private_field_set._)(this, _options, options);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function getSSRData() {
|
|
55
|
+
const { prefetchData, chunkSet, ssrConfig, ssrContext } = (0, import_class_private_field_get._)(this, _options);
|
|
56
|
+
const { reporter, request } = ssrContext;
|
|
57
|
+
const headers = typeof ssrConfig === "object" && ssrConfig.unsafeHeaders ? Object.fromEntries(Object.entries(request.headers).filter(([key, _]) => {
|
|
58
|
+
var _ssrConfig_unsafeHeaders_map, _ssrConfig_unsafeHeaders;
|
|
59
|
+
return (_ssrConfig_unsafeHeaders = ssrConfig.unsafeHeaders) === null || _ssrConfig_unsafeHeaders === void 0 ? void 0 : (_ssrConfig_unsafeHeaders_map = _ssrConfig_unsafeHeaders.map((header) => header.toLowerCase())) === null || _ssrConfig_unsafeHeaders_map === void 0 ? void 0 : _ssrConfig_unsafeHeaders_map.includes(key.toLowerCase());
|
|
60
|
+
})) : void 0;
|
|
61
|
+
return {
|
|
62
|
+
data: prefetchData,
|
|
63
|
+
context: {
|
|
64
|
+
request: {
|
|
65
|
+
params: request.params,
|
|
66
|
+
query: request.query,
|
|
67
|
+
pathname: request.pathname,
|
|
68
|
+
host: request.host,
|
|
69
|
+
url: request.raw.url,
|
|
70
|
+
headers
|
|
71
|
+
},
|
|
72
|
+
reporter: {
|
|
73
|
+
sessionId: reporter === null || reporter === void 0 ? void 0 : reporter.sessionId
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
mode: "string",
|
|
77
|
+
renderLevel: chunkSet.renderLevel
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function getSSRDataScripts(ssrData, routerData) {
|
|
81
|
+
const { nonce, ssrConfig } = (0, import_class_private_field_get._)(this, _options);
|
|
82
|
+
const inlineScript = typeof ssrConfig === "boolean" ? true : (ssrConfig === null || ssrConfig === void 0 ? void 0 : ssrConfig.inlineScript) !== false;
|
|
83
|
+
const useInlineScript = inlineScript !== false;
|
|
84
|
+
const serializeSSRData = (0, import_node.serializeJson)(ssrData);
|
|
85
|
+
const attrsStr = (0, import_utils.attributesToString)({
|
|
86
|
+
nonce
|
|
87
|
+
});
|
|
88
|
+
let ssrDataScripts = useInlineScript ? `<script${attrsStr}>window._SSR_DATA = ${serializeSSRData}</script>` : `<script type="application/json" id="${import_constants.SSR_DATA_JSON_ID}">${serializeSSRData}</script>`;
|
|
89
|
+
if (routerData) {
|
|
90
|
+
const serializedRouterData = (0, import_node.serializeJson)(routerData);
|
|
91
|
+
ssrDataScripts += useInlineScript ? `
|
|
92
|
+
<script${attrsStr}>window._ROUTER_DATA = ${serializedRouterData}</script>` : `
|
|
93
|
+
<script type="application/json" id="${import_constants.ROUTER_DATA_JSON_ID}">${serializedRouterData}</script>`;
|
|
94
|
+
}
|
|
95
|
+
return ssrDataScripts;
|
|
96
|
+
}
|
|
97
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
98
|
+
0 && (module.exports = {
|
|
99
|
+
SSRDataCollector
|
|
100
|
+
});
|
|
@@ -18,27 +18,36 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var styledComponent_exports = {};
|
|
20
20
|
__export(styledComponent_exports, {
|
|
21
|
-
|
|
21
|
+
StyledCollector: () => StyledCollector
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(styledComponent_exports);
|
|
24
|
+
var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
|
|
25
|
+
var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
|
|
26
|
+
var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set");
|
|
24
27
|
var import_styled_components = require("styled-components");
|
|
28
|
+
var _sheet = /* @__PURE__ */ new WeakMap(), _chunkSet = /* @__PURE__ */ new WeakMap();
|
|
25
29
|
class StyledCollector {
|
|
26
30
|
collect(comopnent) {
|
|
27
|
-
return this.
|
|
31
|
+
return (0, import_class_private_field_get._)(this, _sheet).collectStyles(comopnent);
|
|
28
32
|
}
|
|
29
33
|
effect() {
|
|
30
|
-
const css = this.
|
|
31
|
-
this.
|
|
34
|
+
const css = (0, import_class_private_field_get._)(this, _sheet).getStyleTags();
|
|
35
|
+
(0, import_class_private_field_get._)(this, _chunkSet).cssChunk += css;
|
|
32
36
|
}
|
|
33
|
-
constructor(
|
|
34
|
-
this
|
|
35
|
-
|
|
37
|
+
constructor(chunkSet) {
|
|
38
|
+
(0, import_class_private_field_init._)(this, _sheet, {
|
|
39
|
+
writable: true,
|
|
40
|
+
value: void 0
|
|
41
|
+
});
|
|
42
|
+
(0, import_class_private_field_init._)(this, _chunkSet, {
|
|
43
|
+
writable: true,
|
|
44
|
+
value: void 0
|
|
45
|
+
});
|
|
46
|
+
(0, import_class_private_field_set._)(this, _sheet, new import_styled_components.ServerStyleSheet());
|
|
47
|
+
(0, import_class_private_field_set._)(this, _chunkSet, chunkSet);
|
|
36
48
|
}
|
|
37
49
|
}
|
|
38
|
-
function createStyledCollector(result) {
|
|
39
|
-
return new StyledCollector(result);
|
|
40
|
-
}
|
|
41
50
|
// Annotate the CommonJS export names for ESM import in node:
|
|
42
51
|
0 && (module.exports = {
|
|
43
|
-
|
|
52
|
+
StyledCollector
|
|
44
53
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,60 @@
|
|
|
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 tracer_exports = {};
|
|
20
|
+
__export(tracer_exports, {
|
|
21
|
+
SSRErrors: () => SSRErrors,
|
|
22
|
+
SSRTimings: () => SSRTimings,
|
|
23
|
+
createOnError: () => createOnError,
|
|
24
|
+
createOnTiming: () => createOnTiming
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(tracer_exports);
|
|
27
|
+
var SSRTimings;
|
|
28
|
+
(function(SSRTimings2) {
|
|
29
|
+
SSRTimings2["PRERENDER"] = "ssr-prerender";
|
|
30
|
+
SSRTimings2["RENDER_HTML"] = "ssr-render-html";
|
|
31
|
+
SSRTimings2["RENDER_SHELL"] = "ssr-render-shell";
|
|
32
|
+
SSRTimings2["USE_LOADER"] = "use-loader";
|
|
33
|
+
})(SSRTimings || (SSRTimings = {}));
|
|
34
|
+
var SSRErrors;
|
|
35
|
+
(function(SSRErrors2) {
|
|
36
|
+
SSRErrors2["PRERENDER"] = "App Prerender";
|
|
37
|
+
SSRErrors2["USE_LOADER"] = "App run useLoader";
|
|
38
|
+
SSRErrors2["RENDER_HTML"] = "App Render To HTML";
|
|
39
|
+
SSRErrors2["RENDER_STREAM"] = "An error occurs during streaming SSR";
|
|
40
|
+
SSRErrors2["RENDER_SHELL"] = "An error occurs during streaming render shell";
|
|
41
|
+
})(SSRErrors || (SSRErrors = {}));
|
|
42
|
+
function createOnError(onError) {
|
|
43
|
+
return (key, e) => {
|
|
44
|
+
const error = e instanceof Error ? e : new Error("Unexpected Server Error");
|
|
45
|
+
error.name = key;
|
|
46
|
+
onError === null || onError === void 0 ? void 0 : onError(e);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function createOnTiming(onTiming) {
|
|
50
|
+
return (key, cost) => {
|
|
51
|
+
onTiming === null || onTiming === void 0 ? void 0 : onTiming(key, cost);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
55
|
+
0 && (module.exports = {
|
|
56
|
+
SSRErrors,
|
|
57
|
+
SSRTimings,
|
|
58
|
+
createOnError,
|
|
59
|
+
createOnTiming
|
|
60
|
+
});
|
|
@@ -20,9 +20,13 @@ var utils_exports = {};
|
|
|
20
20
|
__export(utils_exports, {
|
|
21
21
|
attributesToString: () => attributesToString,
|
|
22
22
|
checkIsNode: () => checkIsNode,
|
|
23
|
-
|
|
23
|
+
getSSRConfigByEntry: () => getSSRConfigByEntry,
|
|
24
|
+
getSSRMode: () => getSSRMode,
|
|
25
|
+
safeReplace: () => safeReplace,
|
|
26
|
+
serializeErrors: () => serializeErrors
|
|
24
27
|
});
|
|
25
28
|
module.exports = __toCommonJS(utils_exports);
|
|
29
|
+
var import_remix_router = require("@modern-js/runtime-utils/remix-router");
|
|
26
30
|
function attributesToString(attributes) {
|
|
27
31
|
return Object.entries(attributes).reduce((str, [key, value]) => {
|
|
28
32
|
return value === void 0 ? str : `${str} ${key}="${value}"`;
|
|
@@ -35,9 +39,51 @@ function checkIsNode() {
|
|
|
35
39
|
var _process_release;
|
|
36
40
|
return typeof process !== "undefined" && ((_process_release = process.release) === null || _process_release === void 0 ? void 0 : _process_release.name) === "node";
|
|
37
41
|
}
|
|
42
|
+
function serializeErrors(errors) {
|
|
43
|
+
if (!errors) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const entries = Object.entries(errors);
|
|
47
|
+
const serialized = {};
|
|
48
|
+
for (const [key, val] of entries) {
|
|
49
|
+
if ((0, import_remix_router.isRouteErrorResponse)(val)) {
|
|
50
|
+
serialized[key] = {
|
|
51
|
+
...val,
|
|
52
|
+
__type: "RouteErrorResponse"
|
|
53
|
+
};
|
|
54
|
+
} else if (val instanceof Error) {
|
|
55
|
+
serialized[key] = {
|
|
56
|
+
message: val.message,
|
|
57
|
+
stack: val.stack,
|
|
58
|
+
__type: "Error"
|
|
59
|
+
};
|
|
60
|
+
} else {
|
|
61
|
+
serialized[key] = val;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return serialized;
|
|
65
|
+
}
|
|
66
|
+
function getSSRConfigByEntry(entryName, ssr, ssrByEntries, staticGenerate) {
|
|
67
|
+
if (staticGenerate) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
if (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[entryName]) {
|
|
71
|
+
return ssrByEntries[entryName];
|
|
72
|
+
}
|
|
73
|
+
return ssr;
|
|
74
|
+
}
|
|
75
|
+
function getSSRMode(ssrConfig) {
|
|
76
|
+
if (typeof ssrConfig === "boolean") {
|
|
77
|
+
return ssrConfig ? "string" : false;
|
|
78
|
+
}
|
|
79
|
+
return (ssrConfig === null || ssrConfig === void 0 ? void 0 : ssrConfig.mode) === "stream" ? "stream" : "string";
|
|
80
|
+
}
|
|
38
81
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
82
|
0 && (module.exports = {
|
|
40
83
|
attributesToString,
|
|
41
84
|
checkIsNode,
|
|
42
|
-
|
|
85
|
+
getSSRConfigByEntry,
|
|
86
|
+
getSSRMode,
|
|
87
|
+
safeReplace,
|
|
88
|
+
serializeErrors
|
|
43
89
|
});
|
|
@@ -28,12 +28,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var code_exports = {};
|
|
30
30
|
__export(code_exports, {
|
|
31
|
-
generateCode: () => generateCode
|
|
31
|
+
generateCode: () => generateCode,
|
|
32
|
+
generatorRegisterCode: () => generatorRegisterCode
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(code_exports);
|
|
34
35
|
var import_path = __toESM(require("path"));
|
|
35
36
|
var import_utils = require("@modern-js/utils");
|
|
36
37
|
var import_constants = require("../constants");
|
|
38
|
+
var import_constants2 = require("../../../cli/constants");
|
|
37
39
|
var templates = __toESM(require("./templates"));
|
|
38
40
|
var import_getClientRoutes = require("./getClientRoutes");
|
|
39
41
|
var import_utils2 = require("./utils");
|
|
@@ -43,14 +45,11 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
43
45
|
const hookRunners = api.useHookRunners();
|
|
44
46
|
const isV5 = (0, import_utils.isRouterV5)(config);
|
|
45
47
|
const getRoutes = isV5 ? import_getClientRoutes.getClientRoutesLegacy : import_getClientRoutes.getClientRoutes;
|
|
46
|
-
const importsStatemets = /* @__PURE__ */ new Map();
|
|
47
48
|
const oldVersion = typeof (config === null || config === void 0 ? void 0 : config.runtime.router) === "object" ? Boolean((config === null || config === void 0 ? void 0 : config.runtime.router).oldVersion) : false;
|
|
48
49
|
await Promise.all(entrypoints.map(generateEntryCode));
|
|
49
|
-
return {
|
|
50
|
-
importsStatemets
|
|
51
|
-
};
|
|
52
50
|
async function generateEntryCode(entrypoint) {
|
|
53
51
|
const { entryName, isMainEntry, isAutoMount, fileSystemRoutes } = entrypoint;
|
|
52
|
+
const { metaName } = api.useAppContext();
|
|
54
53
|
if (isAutoMount) {
|
|
55
54
|
if (fileSystemRoutes) {
|
|
56
55
|
var _config_output;
|
|
@@ -102,6 +101,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
102
101
|
const { code } = await hookRunners.beforeGenerateRoutes({
|
|
103
102
|
entrypoint,
|
|
104
103
|
code: await templates.fileSystemRoutes({
|
|
104
|
+
metaName,
|
|
105
105
|
routes,
|
|
106
106
|
ssrMode: useSSG ? "string" : mode,
|
|
107
107
|
nestedRoutesEntry: entrypoint.nestedRoutesEntry,
|
|
@@ -128,7 +128,11 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
|
+
function generatorRegisterCode(internalDirectory, entryName, code) {
|
|
132
|
+
import_utils.fs.outputFileSync(import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants2.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}`), code, "utf8");
|
|
133
|
+
}
|
|
131
134
|
// Annotate the CommonJS export names for ESM import in node:
|
|
132
135
|
0 && (module.exports = {
|
|
133
|
-
generateCode
|
|
136
|
+
generateCode,
|
|
137
|
+
generatorRegisterCode
|
|
134
138
|
});
|
|
@@ -30,6 +30,7 @@ var templates_exports = {};
|
|
|
30
30
|
__export(templates_exports, {
|
|
31
31
|
fileSystemRoutes: () => fileSystemRoutes,
|
|
32
32
|
routesForServer: () => routesForServer,
|
|
33
|
+
runtimeGlobalContext: () => runtimeGlobalContext,
|
|
33
34
|
ssrLoaderCombinedModule: () => ssrLoaderCombinedModule
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(templates_exports);
|
|
@@ -120,7 +121,7 @@ const routesForServer = ({ routes }) => {
|
|
|
120
121
|
};
|
|
121
122
|
const createMatchReg = (keyword) => new RegExp(`("${keyword}":\\s)"([^
|
|
122
123
|
]+)"`, "g");
|
|
123
|
-
const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName, internalDirectory, splitRouteChunks = true }) => {
|
|
124
|
+
const fileSystemRoutes = async ({ metaName, routes, ssrMode, nestedRoutesEntry, entryName, internalDirectory, splitRouteChunks = true }) => {
|
|
124
125
|
const components = [];
|
|
125
126
|
const loadings = [];
|
|
126
127
|
const errors = [];
|
|
@@ -131,7 +132,7 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
|
|
|
131
132
|
const loadersMapFile = import_path.default.join(internalDirectory, entryName, import_constants2.TEMP_LOADERS_DIR, "map.json");
|
|
132
133
|
const importLazyCode = `
|
|
133
134
|
import { lazy } from "react";
|
|
134
|
-
import loadable, { lazy as loadableLazy } from "
|
|
135
|
+
import loadable, { lazy as loadableLazy } from "@${metaName}/runtime/loadable"
|
|
135
136
|
`;
|
|
136
137
|
let rootLayoutCode = ``;
|
|
137
138
|
const getDataLoaderPath = ({ loaderId, clientData, action, inline, routeId }) => {
|
|
@@ -330,7 +331,7 @@ const fileSystemRoutes = async ({ routes, ssrMode, nestedRoutesEntry, entryName,
|
|
|
330
331
|
await import_utils.fs.ensureFile(loadersMapFile);
|
|
331
332
|
await import_utils.fs.writeJSON(loadersMapFile, loadersMap);
|
|
332
333
|
const importRuntimeRouterCode = `
|
|
333
|
-
import { createShouldRevalidate, handleRouteModule, handleRouteModuleError} from '
|
|
334
|
+
import { createShouldRevalidate, handleRouteModule, handleRouteModuleError} from '@${metaName}/runtime/router';
|
|
334
335
|
`;
|
|
335
336
|
const routeModulesCode = `
|
|
336
337
|
if(typeof document !== 'undefined'){
|
|
@@ -363,9 +364,63 @@ function ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext) {
|
|
|
363
364
|
}
|
|
364
365
|
return null;
|
|
365
366
|
}
|
|
367
|
+
const runtimeGlobalContext = async ({ metaName, srcDirectory, nestedRoutesEntry, internalSrcAlias, globalApp }) => {
|
|
368
|
+
const imports = [
|
|
369
|
+
`import { setGlobalContext } from '@${metaName}/runtime/context';`
|
|
370
|
+
];
|
|
371
|
+
if (nestedRoutesEntry) {
|
|
372
|
+
const rootLayoutPath = import_path.default.join(nestedRoutesEntry, "layout");
|
|
373
|
+
const rootLayoutFile = (0, import_utils.findExists)([
|
|
374
|
+
".js",
|
|
375
|
+
".ts",
|
|
376
|
+
".jsx",
|
|
377
|
+
".tsx"
|
|
378
|
+
].map((ext) => `${rootLayoutPath}${ext}`));
|
|
379
|
+
if (rootLayoutFile) {
|
|
380
|
+
const rootLayoutBuffer = await import_utils.fs.readFile(rootLayoutFile);
|
|
381
|
+
const rootLayout = rootLayoutBuffer.toString();
|
|
382
|
+
const [, moduleExports] = await (0, import_utils2.parseModule)({
|
|
383
|
+
source: rootLayout.toString(),
|
|
384
|
+
filename: rootLayoutFile
|
|
385
|
+
});
|
|
386
|
+
const hasAppConfig = moduleExports.some((e) => e.n === import_constants2.APP_CONFIG_NAME);
|
|
387
|
+
const hasAppInit = moduleExports.some((e) => e.n === import_constants2.APP_INIT_EXPORTED);
|
|
388
|
+
const layoutPath = (0, import_utils.formatImportPath)((0, import_utils2.getPathWithoutExt)((0, import_utils2.replaceWithAlias)(srcDirectory, rootLayoutFile, internalSrcAlias)));
|
|
389
|
+
if (hasAppConfig) {
|
|
390
|
+
imports.push(`import { config as appConfig } from '${layoutPath}';`);
|
|
391
|
+
} else {
|
|
392
|
+
imports.push(`let appConfig;`);
|
|
393
|
+
}
|
|
394
|
+
if (hasAppInit) {
|
|
395
|
+
imports.push(`import { init as appInit } from '${layoutPath}';`);
|
|
396
|
+
} else {
|
|
397
|
+
imports.push(`let appInit;`);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
} else {
|
|
401
|
+
imports.push(`let appConfig;`);
|
|
402
|
+
imports.push(`let appInit;`);
|
|
403
|
+
}
|
|
404
|
+
if (globalApp) {
|
|
405
|
+
imports.push(`import layoutApp from '${(0, import_utils.formatImportPath)(globalApp.replace(srcDirectory, internalSrcAlias))}';`);
|
|
406
|
+
} else {
|
|
407
|
+
imports.push(`let layoutApp;`);
|
|
408
|
+
}
|
|
409
|
+
return `${imports.join("\n")}
|
|
410
|
+
|
|
411
|
+
import { routes } from './routes.js';
|
|
412
|
+
|
|
413
|
+
setGlobalContext({
|
|
414
|
+
layoutApp,
|
|
415
|
+
routes,
|
|
416
|
+
appInit,
|
|
417
|
+
appConfig,
|
|
418
|
+
});`;
|
|
419
|
+
};
|
|
366
420
|
// Annotate the CommonJS export names for ESM import in node:
|
|
367
421
|
0 && (module.exports = {
|
|
368
422
|
fileSystemRoutes,
|
|
369
423
|
routesForServer,
|
|
424
|
+
runtimeGlobalContext,
|
|
370
425
|
ssrLoaderCombinedModule
|
|
371
426
|
});
|
|
@@ -19,6 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var constants_exports = {};
|
|
20
20
|
__export(constants_exports, {
|
|
21
21
|
ACTION_EXPORT_NAME: () => ACTION_EXPORT_NAME,
|
|
22
|
+
APP_CONFIG_NAME: () => APP_CONFIG_NAME,
|
|
23
|
+
APP_INIT_EXPORTED: () => APP_INIT_EXPORTED,
|
|
22
24
|
FILE_SYSTEM_ROUTES_COMPONENTS_DIR: () => FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
|
|
23
25
|
FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP: () => FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
|
|
24
26
|
FILE_SYSTEM_ROUTES_FILE_NAME: () => FILE_SYSTEM_ROUTES_FILE_NAME,
|
|
@@ -45,6 +47,8 @@ const FILE_SYSTEM_ROUTES_INDEX = "index";
|
|
|
45
47
|
const FILE_SYSTEM_ROUTES_IGNORED_REGEX = /\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/;
|
|
46
48
|
const FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP = /^\[(\S+)\]([*+?]?)$/;
|
|
47
49
|
const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
|
|
50
|
+
const APP_CONFIG_NAME = "config";
|
|
51
|
+
const APP_INIT_EXPORTED = "init";
|
|
48
52
|
const NESTED_ROUTE = {
|
|
49
53
|
LAYOUT_FILE: "layout",
|
|
50
54
|
LAYOUT_CONFIG_FILE: "layout.config",
|
|
@@ -68,6 +72,8 @@ const NESTED_ROUTE = {
|
|
|
68
72
|
// Annotate the CommonJS export names for ESM import in node:
|
|
69
73
|
0 && (module.exports = {
|
|
70
74
|
ACTION_EXPORT_NAME,
|
|
75
|
+
APP_CONFIG_NAME,
|
|
76
|
+
APP_INIT_EXPORTED,
|
|
71
77
|
FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
|
|
72
78
|
FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
|
|
73
79
|
FILE_SYSTEM_ROUTES_FILE_NAME,
|
|
@@ -70,12 +70,10 @@ const modifyEntrypoints = (entrypoints, config = {}) => {
|
|
|
70
70
|
globalApp: (0, import_utils.findExists)(import_utils.JS_EXTENSIONS.map((ext) => import_path.default.resolve(entrypoint.absoluteEntryDir, `./${import_constants.PAGES_DIR_NAME}/${import_constants.FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT}${ext}`)))
|
|
71
71
|
};
|
|
72
72
|
if (isHasPages) {
|
|
73
|
-
entrypoint.
|
|
74
|
-
entrypoint.pageRoutesEntry = entrypoint.entry;
|
|
73
|
+
entrypoint.pageRoutesEntry = import_path.default.join(entrypoint.absoluteEntryDir, import_constants.PAGES_DIR_NAME);
|
|
75
74
|
}
|
|
76
75
|
if (isHasNestedRoutes) {
|
|
77
|
-
entrypoint.
|
|
78
|
-
entrypoint.nestedRoutesEntry = entrypoint.entry;
|
|
76
|
+
entrypoint.nestedRoutesEntry = import_path.default.join(entrypoint.absoluteEntryDir, import_constants.NESTED_ROUTES_DIR);
|
|
79
77
|
}
|
|
80
78
|
} else {
|
|
81
79
|
throw Error("Custom entries with conventional routing not support use react router v5!");
|
|
@@ -29,6 +29,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
var handler_exports = {};
|
|
30
30
|
__export(handler_exports, {
|
|
31
31
|
handleFileChange: () => handleFileChange,
|
|
32
|
+
handleGeneratorEntryCode: () => handleGeneratorEntryCode,
|
|
32
33
|
handleModifyEntrypoints: () => handleModifyEntrypoints
|
|
33
34
|
});
|
|
34
35
|
module.exports = __toCommonJS(handler_exports);
|
|
@@ -36,17 +37,32 @@ var import_path = __toESM(require("path"));
|
|
|
36
37
|
var import_lodash = require("@modern-js/utils/lodash");
|
|
37
38
|
var import_entry = require("./entry");
|
|
38
39
|
var import_utils = require("./code/utils");
|
|
40
|
+
var templates = __toESM(require("./code/templates"));
|
|
39
41
|
let originEntrypoints = [];
|
|
40
42
|
async function handleModifyEntrypoints(api, entrypoints) {
|
|
41
43
|
const config = api.useResolvedConfigContext();
|
|
42
|
-
|
|
44
|
+
return (0, import_entry.modifyEntrypoints)(entrypoints, config);
|
|
45
|
+
}
|
|
46
|
+
async function handleGeneratorEntryCode(api, entrypoints) {
|
|
43
47
|
const appContext = api.useAppContext();
|
|
48
|
+
const { internalDirectory } = api.useAppContext();
|
|
44
49
|
const resolvedConfig = api.useResolvedConfigContext();
|
|
45
|
-
|
|
46
|
-
originEntrypoints = (0, import_lodash.cloneDeep)(
|
|
47
|
-
const { generateCode } = await Promise.resolve().then(() => __toESM(require("./code")));
|
|
50
|
+
const { generatorRegisterCode, generateCode } = await Promise.resolve().then(() => __toESM(require("./code")));
|
|
51
|
+
originEntrypoints = (0, import_lodash.cloneDeep)(entrypoints);
|
|
48
52
|
await generateCode(appContext, resolvedConfig, entrypoints, api);
|
|
49
|
-
|
|
53
|
+
await Promise.all(entrypoints.map(async (entrypoint) => {
|
|
54
|
+
if (entrypoint.nestedRoutesEntry || entrypoint.pageRoutesEntry) {
|
|
55
|
+
var _entrypoint_fileSystemRoutes;
|
|
56
|
+
generatorRegisterCode(internalDirectory, entrypoint.entryName, await templates.runtimeGlobalContext({
|
|
57
|
+
metaName: appContext.metaName,
|
|
58
|
+
srcDirectory: appContext.srcDirectory,
|
|
59
|
+
nestedRoutesEntry: entrypoint.nestedRoutesEntry,
|
|
60
|
+
internalSrcAlias: appContext.internalSrcAlias,
|
|
61
|
+
globalApp: (_entrypoint_fileSystemRoutes = entrypoint.fileSystemRoutes) === null || _entrypoint_fileSystemRoutes === void 0 ? void 0 : _entrypoint_fileSystemRoutes.globalApp
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
}));
|
|
65
|
+
return entrypoints;
|
|
50
66
|
}
|
|
51
67
|
async function handleFileChange(api, e) {
|
|
52
68
|
const appContext = api.useAppContext();
|
|
@@ -67,5 +83,6 @@ async function handleFileChange(api, e) {
|
|
|
67
83
|
// Annotate the CommonJS export names for ESM import in node:
|
|
68
84
|
0 && (module.exports = {
|
|
69
85
|
handleFileChange,
|
|
86
|
+
handleGeneratorEntryCode,
|
|
70
87
|
handleModifyEntrypoints
|
|
71
88
|
});
|
|
@@ -30,17 +30,36 @@ var import_entry = require("./entry");
|
|
|
30
30
|
var import_handler = require("./handler");
|
|
31
31
|
var import_entry2 = require("./entry");
|
|
32
32
|
var import_handler2 = require("./handler");
|
|
33
|
-
const PLUGIN_IDENTIFIER = "router";
|
|
34
|
-
const ROUTES_IDENTIFIER = "routes";
|
|
35
33
|
const routerPlugin = () => ({
|
|
36
34
|
name: "@modern-js/plugin-router",
|
|
37
35
|
required: [
|
|
38
36
|
"@modern-js/runtime"
|
|
39
37
|
],
|
|
40
38
|
setup: (api) => {
|
|
41
|
-
const runtimeConfigMap = /* @__PURE__ */ new Map();
|
|
42
|
-
let pluginsExportsUtils;
|
|
43
39
|
return {
|
|
40
|
+
_internalRuntimePlugins({ entrypoint, plugins }) {
|
|
41
|
+
var _getEntryOptions;
|
|
42
|
+
const { packageName, serverRoutes, metaName } = api.useAppContext();
|
|
43
|
+
const serverBase = serverRoutes.filter((route) => route.entryName === entrypoint.entryName).map((route) => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
|
|
44
|
+
const userConfig = api.useResolvedConfigContext();
|
|
45
|
+
const routerConfig = (_getEntryOptions = (0, import_utils.getEntryOptions)(entrypoint.entryName, entrypoint.isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName)) === null || _getEntryOptions === void 0 ? void 0 : _getEntryOptions.router;
|
|
46
|
+
if (routerConfig && !(0, import_utils.isRouterV5)(userConfig)) {
|
|
47
|
+
plugins.push({
|
|
48
|
+
name: "router",
|
|
49
|
+
path: `@${metaName}/runtime/router`,
|
|
50
|
+
config: typeof routerConfig === "boolean" ? {
|
|
51
|
+
serverBase
|
|
52
|
+
} : {
|
|
53
|
+
...routerConfig,
|
|
54
|
+
serverBase
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
entrypoint,
|
|
60
|
+
plugins
|
|
61
|
+
};
|
|
62
|
+
},
|
|
44
63
|
checkEntryPoint({ path, entry }) {
|
|
45
64
|
return {
|
|
46
65
|
path,
|
|
@@ -48,8 +67,6 @@ const routerPlugin = () => ({
|
|
|
48
67
|
};
|
|
49
68
|
},
|
|
50
69
|
config() {
|
|
51
|
-
const appContext = api.useAppContext();
|
|
52
|
-
pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(appContext.internalDirectory, "plugins");
|
|
53
70
|
return {
|
|
54
71
|
source: {
|
|
55
72
|
include: [
|
|
@@ -59,10 +76,7 @@ const routerPlugin = () => ({
|
|
|
59
76
|
/node_modules\/react-router/,
|
|
60
77
|
/node_modules\/react-router-dom/,
|
|
61
78
|
/node_modules\/@remix-run\/router/
|
|
62
|
-
]
|
|
63
|
-
alias: {
|
|
64
|
-
"@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
|
|
65
|
-
}
|
|
79
|
+
]
|
|
66
80
|
}
|
|
67
81
|
};
|
|
68
82
|
},
|
|
@@ -72,56 +86,15 @@ const routerPlugin = () => ({
|
|
|
72
86
|
entrypoints: newEntryPoints
|
|
73
87
|
};
|
|
74
88
|
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const userConfig = api.useResolvedConfigContext();
|
|
78
|
-
const { packageName } = api.useAppContext();
|
|
79
|
-
const runtimeConfig = (0, import_utils.getEntryOptions)(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
80
|
-
runtimeConfigMap.set(entryName, runtimeConfig);
|
|
81
|
-
if (runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) {
|
|
82
|
-
if (!(0, import_utils.isRouterV5)(userConfig)) {
|
|
83
|
-
imports.push({
|
|
84
|
-
value: "@modern-js/runtime/plugins",
|
|
85
|
-
specifiers: [
|
|
86
|
-
{
|
|
87
|
-
imported: PLUGIN_IDENTIFIER
|
|
88
|
-
}
|
|
89
|
-
]
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
} else if (fileSystemRoutes) {
|
|
93
|
-
throw new Error(`should enable runtime.router for entry ${entryName}`);
|
|
94
|
-
}
|
|
95
|
-
return {
|
|
96
|
-
entrypoint,
|
|
97
|
-
imports
|
|
98
|
-
};
|
|
99
|
-
},
|
|
100
|
-
modifyEntryRuntimePlugins({ entrypoint, plugins }) {
|
|
101
|
-
const { entryName, fileSystemRoutes } = entrypoint;
|
|
102
|
-
const { serverRoutes } = api.useAppContext();
|
|
103
|
-
const userConfig = api.useResolvedConfigContext();
|
|
104
|
-
const runtimeConfig = runtimeConfigMap.get(entryName);
|
|
105
|
-
if (runtimeConfig.router && !(0, import_utils.isRouterV5)(userConfig)) {
|
|
106
|
-
const serverBase = serverRoutes.filter((route) => route.entryName === entryName).map((route) => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
|
|
107
|
-
plugins.push({
|
|
108
|
-
name: PLUGIN_IDENTIFIER,
|
|
109
|
-
options: JSON.stringify({
|
|
110
|
-
serverBase,
|
|
111
|
-
...runtimeConfig.router,
|
|
112
|
-
routesConfig: fileSystemRoutes ? `{ ${ROUTES_IDENTIFIER}, globalApp: App }` : void 0
|
|
113
|
-
}).replace(/"routesConfig"\s*:\s*"((\S|\s)+)"/g, '"routesConfig": $1,')
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
return {
|
|
117
|
-
entrypoint,
|
|
118
|
-
plugins
|
|
119
|
-
};
|
|
89
|
+
async generateEntryCode({ entrypoints }) {
|
|
90
|
+
await (0, import_handler.handleGeneratorEntryCode)(api, entrypoints);
|
|
120
91
|
},
|
|
121
92
|
addRuntimeExports() {
|
|
122
93
|
const userConfig = api.useResolvedConfigContext();
|
|
94
|
+
const { internalDirectory, metaName } = api.useAppContext();
|
|
95
|
+
const pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(internalDirectory, "plugins");
|
|
123
96
|
if (!(0, import_utils.isRouterV5)(userConfig)) {
|
|
124
|
-
pluginsExportsUtils.addExport(`export { default as router } from '
|
|
97
|
+
pluginsExportsUtils.addExport(`export { default as router } from '@${metaName}/runtime/router'`);
|
|
125
98
|
}
|
|
126
99
|
},
|
|
127
100
|
async fileChange(e) {
|