@modern-js/runtime 2.54.5 → 2.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ssr/serverRender/renderToString/index.js → cli/alias.js} +29 -18
- package/dist/cjs/cli/code.js +124 -0
- package/dist/cjs/cli/constants.js +23 -2
- package/dist/cjs/cli/index.js +92 -17
- package/dist/cjs/{ssr/cli → cli/ssr}/index.js +7 -86
- package/dist/cjs/cli/template.js +101 -0
- package/dist/cjs/cli/template.server.js +71 -0
- package/dist/cjs/core/browser/hydrate.js +116 -0
- package/dist/cjs/core/browser/index.js +122 -0
- package/dist/cjs/core/compatible.js +39 -74
- package/dist/cjs/{ssr/serverRender/types.js → core/constants.js} +3 -3
- package/dist/cjs/core/context/index.js +39 -2
- package/dist/cjs/core/context/runtime.js +3 -3
- package/dist/cjs/core/loader/useLoader.js +2 -2
- package/dist/cjs/core/plugin/base.js +0 -4
- package/dist/cjs/core/plugin/index.js +6 -0
- package/dist/cjs/core/react/index.js +51 -0
- package/dist/cjs/{ssr/serverRender → core/server}/helmet.js +11 -2
- package/dist/cjs/core/server/index.js +38 -0
- package/dist/cjs/core/server/requestHandler.js +156 -0
- package/dist/cjs/core/server/server.js +34 -0
- package/dist/cjs/{ssr/serverRender/renderToStream/buildTemplate.share.js → core/server/shared.js} +7 -10
- package/dist/cjs/core/server/stream/afterTemplate.js +80 -0
- package/dist/cjs/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +11 -12
- package/dist/cjs/core/server/stream/createReadableStream.js +124 -0
- package/dist/cjs/core/server/stream/createReadableStream.worker.js +105 -0
- package/dist/cjs/core/server/stream/index.js +30 -0
- package/dist/cjs/core/server/stream/shared.js +112 -0
- package/dist/cjs/{ssr/serverRender/renderToStream → core/server/stream}/template.js +6 -10
- package/dist/cjs/core/server/string/index.js +152 -0
- package/dist/cjs/{ssr/serverRender/renderToString → core/server/string}/loadable.js +9 -12
- package/dist/cjs/core/server/string/prefetch.js +112 -0
- package/dist/cjs/core/server/string/ssrData.js +100 -0
- package/dist/cjs/{ssr/serverRender/renderToString → core/server/string}/styledComponent.js +20 -11
- package/dist/cjs/core/server/string/types.js +16 -0
- package/dist/cjs/core/server/tracer.js +60 -0
- package/dist/cjs/{ssr/serverRender → core/server}/utils.js +48 -2
- package/dist/cjs/router/cli/code/index.js +10 -6
- package/dist/cjs/router/cli/code/templates.js +58 -3
- package/dist/cjs/router/cli/constants.js +6 -0
- package/dist/cjs/router/cli/entry.js +2 -4
- package/dist/cjs/router/cli/handler.js +22 -5
- package/dist/cjs/router/cli/index.js +29 -56
- package/dist/cjs/router/runtime/index.js +2 -0
- package/dist/cjs/router/runtime/plugin.js +13 -40
- package/dist/cjs/router/runtime/plugin.node.js +17 -32
- package/dist/cjs/state/cli/index.js +7 -35
- package/dist/cjs/state/runtime/plugin.js +6 -15
- package/dist/esm/cli/alias.js +30 -0
- package/dist/esm/cli/code.js +131 -0
- package/dist/esm/cli/constants.js +15 -1
- package/dist/esm/cli/index.js +111 -18
- package/dist/esm/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
- package/dist/esm/cli/ssr/index.js +110 -0
- package/dist/esm/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
- package/dist/esm/cli/template.js +53 -0
- package/dist/esm/cli/template.server.js +26 -0
- package/dist/esm/core/browser/hydrate.js +88 -0
- package/dist/esm/core/browser/index.js +224 -0
- package/dist/esm/core/compatible.js +48 -90
- package/dist/esm/core/context/index.js +32 -1
- package/dist/esm/core/context/runtime.js +3 -2
- package/dist/esm/core/loader/useLoader.js +2 -2
- package/dist/esm/core/plugin/base.js +0 -4
- package/dist/esm/core/plugin/index.js +10 -0
- package/dist/esm/core/react/index.js +31 -0
- package/dist/esm/{ssr/serverRender → core/server}/helmet.js +10 -2
- package/dist/esm/core/server/index.js +16 -0
- package/dist/esm/core/server/react/prerender/type.js +0 -0
- package/dist/esm/core/server/requestHandler.js +181 -0
- package/dist/esm/core/server/server.js +8 -0
- package/dist/esm/core/server/shared.js +10 -0
- package/dist/esm/core/server/stream/afterTemplate.js +60 -0
- package/dist/esm/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +10 -11
- package/dist/esm/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +43 -38
- package/dist/esm/core/server/stream/createReadableStream.worker.js +142 -0
- package/dist/esm/core/server/stream/index.js +6 -0
- package/dist/esm/core/server/stream/shared.js +102 -0
- package/dist/esm/core/server/stream/template.js +42 -0
- package/dist/esm/core/server/string/index.js +219 -0
- package/dist/esm/{ssr/serverRender/renderToString → core/server/string}/loadable.js +10 -13
- package/dist/esm/{ssr → core/server/string}/prefetch.js +27 -21
- package/dist/esm/core/server/string/ssrData.js +83 -0
- package/dist/esm/core/server/string/styledComponent.js +34 -0
- package/dist/esm/core/server/string/types.js +0 -0
- package/dist/esm/core/server/tracer.js +34 -0
- package/dist/esm/core/server/utils.js +83 -0
- package/dist/esm/router/cli/code/index.js +11 -8
- package/dist/esm/router/cli/code/templates.js +100 -7
- package/dist/esm/router/cli/constants.js +4 -0
- package/dist/esm/router/cli/entry.js +2 -4
- package/dist/esm/router/cli/handler.js +70 -8
- package/dist/esm/router/cli/index.js +52 -65
- package/dist/esm/router/runtime/index.js +1 -0
- package/dist/esm/router/runtime/plugin.js +12 -20
- package/dist/esm/router/runtime/plugin.node.js +19 -34
- package/dist/esm/state/cli/index.js +9 -38
- package/dist/esm/state/runtime/plugin.js +5 -5
- package/dist/esm-node/cli/alias.js +28 -0
- package/dist/esm-node/cli/code.js +90 -0
- package/dist/esm-node/cli/constants.js +15 -1
- package/dist/esm-node/cli/index.js +84 -13
- package/dist/esm-node/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
- package/dist/esm-node/cli/ssr/index.js +87 -0
- package/dist/esm-node/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
- package/dist/esm-node/cli/template.js +64 -0
- package/dist/esm-node/cli/template.server.js +47 -0
- package/dist/esm-node/core/browser/hydrate.js +81 -0
- package/dist/esm-node/core/browser/index.js +88 -0
- package/dist/esm-node/core/compatible.js +39 -74
- package/dist/esm-node/core/context/index.js +32 -1
- package/dist/esm-node/core/context/runtime.js +3 -3
- package/dist/esm-node/core/loader/useLoader.js +2 -2
- package/dist/esm-node/core/plugin/base.js +0 -4
- package/dist/esm-node/core/plugin/index.js +5 -0
- package/dist/esm-node/core/react/index.js +27 -0
- package/dist/esm-node/{ssr/serverRender → core/server}/helmet.js +6 -2
- package/dist/esm-node/core/server/index.js +12 -0
- package/dist/esm-node/core/server/requestHandler.js +132 -0
- package/dist/esm-node/core/server/server.js +8 -0
- package/dist/esm-node/core/server/shared.js +6 -0
- package/dist/esm-node/core/server/stream/afterTemplate.js +56 -0
- package/dist/esm-node/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +8 -9
- package/dist/esm-node/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +41 -35
- package/dist/esm-node/core/server/stream/createReadableStream.worker.js +71 -0
- package/dist/esm-node/core/server/stream/index.js +6 -0
- package/dist/esm-node/core/server/stream/shared.js +75 -0
- package/dist/esm-node/core/server/stream/template.js +15 -0
- package/dist/esm-node/core/server/string/index.js +118 -0
- package/dist/esm-node/{ssr/serverRender/renderToString → core/server/string}/loadable.js +8 -11
- package/dist/esm-node/core/server/string/prefetch.js +78 -0
- package/dist/esm-node/core/server/string/ssrData.js +76 -0
- package/dist/esm-node/core/server/string/styledComponent.js +29 -0
- package/dist/esm-node/core/server/tracer.js +33 -0
- package/dist/esm-node/core/server/utils.js +60 -0
- package/dist/esm-node/router/cli/code/index.js +8 -5
- package/dist/esm-node/router/cli/code/templates.js +60 -6
- package/dist/esm-node/router/cli/constants.js +4 -0
- package/dist/esm-node/router/cli/entry.js +2 -4
- package/dist/esm-node/router/cli/handler.js +21 -5
- package/dist/esm-node/router/cli/index.js +31 -58
- package/dist/esm-node/router/runtime/index.js +1 -0
- package/dist/esm-node/router/runtime/plugin.js +13 -30
- package/dist/esm-node/router/runtime/plugin.node.js +18 -33
- package/dist/esm-node/state/cli/index.js +8 -36
- package/dist/esm-node/state/runtime/plugin.js +5 -5
- package/dist/types/cli/alias.d.ts +7 -0
- package/dist/types/cli/code.d.ts +10 -0
- package/dist/types/cli/constants.d.ts +7 -0
- package/dist/types/cli/index.d.ts +8 -1
- package/dist/types/cli/template.d.ts +27 -0
- package/dist/types/cli/template.server.d.ts +15 -0
- package/dist/types/common.d.ts +9 -0
- package/dist/types/core/browser/hydrate.d.ts +5 -0
- package/dist/types/core/browser/index.d.ts +2 -0
- package/dist/types/core/config.d.ts +5 -6
- package/dist/types/core/constants.d.ts +5 -0
- package/dist/types/core/context/index.d.ts +34 -1
- package/dist/types/core/context/runtime.d.ts +2 -2
- package/dist/types/core/plugin/base.d.ts +3 -33
- package/dist/types/core/plugin/index.d.ts +2 -11
- package/dist/types/core/plugin/runner.d.ts +1 -11
- package/dist/types/core/react/index.d.ts +6 -0
- package/dist/types/core/server/helmet.d.ts +3 -0
- package/dist/types/core/server/index.d.ts +4 -0
- package/dist/types/core/server/requestHandler.d.ts +11 -0
- package/dist/types/core/server/server.d.ts +4 -0
- package/dist/types/core/server/shared.d.ts +9 -0
- package/dist/types/core/server/stream/afterTemplate.d.ts +12 -0
- package/dist/types/core/server/stream/beforeTemplate.d.ts +8 -0
- package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
- package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
- package/dist/types/core/server/stream/index.d.ts +1 -0
- package/dist/types/core/server/stream/shared.d.ts +22 -0
- package/dist/types/core/server/stream/template.d.ts +9 -0
- package/dist/types/core/server/string/index.d.ts +2 -0
- package/dist/types/core/server/string/loadable.d.ts +35 -0
- package/dist/types/core/server/string/prefetch.d.ts +15 -0
- package/dist/types/core/server/string/ssrData.d.ts +18 -0
- package/dist/types/core/server/string/styledComponent.d.ts +11 -0
- package/dist/types/core/server/string/types.d.ts +12 -0
- package/dist/types/core/server/tracer.d.ts +21 -0
- package/dist/types/core/server/utils.d.ts +19 -0
- package/dist/types/core/types.d.ts +35 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/router/cli/code/index.d.ts +3 -4
- package/dist/types/router/cli/code/templates.d.ts +9 -1
- package/dist/types/router/cli/constants.d.ts +2 -0
- package/dist/types/router/cli/handler.d.ts +1 -0
- package/dist/types/router/runtime/index.d.ts +1 -0
- package/dist/types/router/runtime/plugin.d.ts +1 -1
- package/dist/types/router/runtime/plugin.node.d.ts +2 -2
- package/dist/types/router/runtime/types.d.ts +1 -2
- package/dist/types/state/runtime/plugin.d.ts +2 -2
- package/package.json +49 -42
- package/types/router.d.ts +7 -2
- package/dist/cjs/ssr/index.js +0 -183
- package/dist/cjs/ssr/index.node.js +0 -86
- package/dist/cjs/ssr/prefetch.js +0 -92
- package/dist/cjs/ssr/serverRender/index.js +0 -39
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -74
- package/dist/cjs/ssr/serverRender/renderToStream/index.js +0 -74
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +0 -104
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -108
- package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +0 -52
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -179
- package/dist/cjs/ssr/serverRender/renderToString/render.js +0 -61
- package/dist/cjs/ssr/serverRender/tracker.js +0 -113
- package/dist/cjs/ssr/utils.js +0 -94
- package/dist/esm/ssr/cli/index.js +0 -194
- package/dist/esm/ssr/index.js +0 -169
- package/dist/esm/ssr/index.node.js +0 -78
- package/dist/esm/ssr/serverRender/index.js +0 -55
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -48
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -12
- package/dist/esm/ssr/serverRender/renderToStream/index.js +0 -49
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -164
- package/dist/esm/ssr/serverRender/renderToStream/template.js +0 -46
- package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +0 -34
- package/dist/esm/ssr/serverRender/renderToString/entry.js +0 -257
- package/dist/esm/ssr/serverRender/renderToString/index.js +0 -34
- package/dist/esm/ssr/serverRender/renderToString/render.js +0 -55
- package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +0 -25
- package/dist/esm/ssr/serverRender/tracker.js +0 -82
- package/dist/esm/ssr/serverRender/utils.js +0 -21
- package/dist/esm/ssr/utils.js +0 -59
- package/dist/esm-node/ssr/cli/index.js +0 -166
- package/dist/esm-node/ssr/index.js +0 -147
- package/dist/esm-node/ssr/index.node.js +0 -50
- package/dist/esm-node/ssr/prefetch.js +0 -72
- package/dist/esm-node/ssr/serverRender/index.js +0 -19
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -50
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -8
- package/dist/esm-node/ssr/serverRender/renderToStream/index.js +0 -40
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -88
- package/dist/esm-node/ssr/serverRender/renderToStream/template.js +0 -19
- package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +0 -24
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +0 -149
- package/dist/esm-node/ssr/serverRender/renderToString/index.js +0 -17
- package/dist/esm-node/ssr/serverRender/renderToString/render.js +0 -27
- package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +0 -20
- package/dist/esm-node/ssr/serverRender/tracker.js +0 -87
- package/dist/esm-node/ssr/serverRender/utils.js +0 -17
- package/dist/esm-node/ssr/utils.js +0 -57
- package/dist/types/ssr/index.d.ts +0 -11
- package/dist/types/ssr/index.node.d.ts +0 -5
- package/dist/types/ssr/prefetch.d.ts +0 -16
- package/dist/types/ssr/serverRender/helmet.d.ts +0 -2
- package/dist/types/ssr/serverRender/index.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -7
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +0 -3
- package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToStream/index.d.ts +0 -3
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +0 -7
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +0 -12
- package/dist/types/ssr/serverRender/renderToStream/template.d.ts +0 -6
- package/dist/types/ssr/serverRender/renderToString/buildHtml.d.ts +0 -6
- package/dist/types/ssr/serverRender/renderToString/entry.d.ts +0 -24
- package/dist/types/ssr/serverRender/renderToString/index.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +0 -26
- package/dist/types/ssr/serverRender/renderToString/render.d.ts +0 -16
- package/dist/types/ssr/serverRender/renderToString/styledComponent.d.ts +0 -15
- package/dist/types/ssr/serverRender/tracker.d.ts +0 -20
- package/dist/types/ssr/serverRender/types.d.ts +0 -49
- package/dist/types/ssr/serverRender/utils.d.ts +0 -9
- package/dist/types/ssr/utils.d.ts +0 -10
- /package/dist/cjs/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +0 -0
- /package/dist/cjs/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +0 -0
- /package/dist/cjs/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
- /package/dist/cjs/{ssr/serverRender → core/server}/constants.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/index.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/nossr/index.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/prerender/index.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/prerender/type.js +0 -0
- /package/dist/cjs/{ssr → core/server}/react/prerender/util.js +0 -0
- /package/dist/esm/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
- /package/dist/esm/{ssr/serverRender/types.js → core/constants.js} +0 -0
- /package/dist/esm/{ssr/serverRender → core/server}/constants.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/index.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/nossr/index.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/prerender/index.js +0 -0
- /package/dist/esm/{ssr → core/server}/react/prerender/util.js +0 -0
- /package/dist/esm-node/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
- /package/dist/esm-node/{ssr/serverRender/types.js → core/constants.js} +0 -0
- /package/dist/esm-node/{ssr/serverRender → core/server}/constants.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/index.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/nossr/index.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/prerender/index.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/prerender/type.js +0 -0
- /package/dist/esm-node/{ssr → core/server}/react/prerender/util.js +0 -0
- /package/dist/{esm/ssr/react/prerender/type.js → esm-node/core/server/string/types.js} +0 -0
- /package/dist/types/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.d.ts +0 -0
- /package/dist/types/{ssr/cli → cli/ssr}/index.d.ts +0 -0
- /package/dist/types/{ssr/cli → cli/ssr}/loadable-bundler-plugin.d.ts +0 -0
- /package/dist/types/{ssr/react/withCallback/index.d.ts → core/browser/withCallback.d.ts} +0 -0
- /package/dist/types/{ssr/serverRender → core/server}/constants.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/index.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/nossr/index.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/prerender/index.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/prerender/type.d.ts +0 -0
- /package/dist/types/{ssr → core/server}/react/prerender/util.d.ts +0 -0
|
@@ -26,26 +26,37 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
31
|
-
|
|
29
|
+
var alias_exports = {};
|
|
30
|
+
__export(alias_exports, {
|
|
31
|
+
builderPluginAlias: () => builderPluginAlias
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
module.exports = __toCommonJS(alias_exports);
|
|
34
|
+
var import_path = __toESM(require("path"));
|
|
35
|
+
var import_constants = require("./constants");
|
|
36
|
+
const builderPluginAlias = ({ entrypoints, internalDirectory, metaName }) => ({
|
|
37
|
+
name: "runtime:alias",
|
|
38
|
+
setup(api) {
|
|
39
|
+
api.modifyRsbuildConfig((userConfig, { mergeRsbuildConfig }) => {
|
|
40
|
+
const entrypointsAlias = {};
|
|
41
|
+
const mainEntrypointsAlias = {};
|
|
42
|
+
entrypoints.forEach((entrypoint) => {
|
|
43
|
+
entrypointsAlias[`@${metaName}/runtime/registry/${entrypoint.entryName}`] = import_path.default.join(internalDirectory, entrypoint.entryName, import_constants.ENTRY_POINT_REGISTER_FILE_NAME);
|
|
44
|
+
if (entrypoint.isMainEntry) {
|
|
45
|
+
mainEntrypointsAlias[`@${metaName}/runtime/registry`] = import_path.default.join(internalDirectory, entrypoint.entryName, import_constants.ENTRY_POINT_REGISTER_FILE_NAME);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return mergeRsbuildConfig(userConfig, {
|
|
49
|
+
source: {
|
|
50
|
+
alias: {
|
|
51
|
+
...entrypointsAlias,
|
|
52
|
+
...mainEntrypointsAlias
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
43
56
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
};
|
|
57
|
+
}
|
|
58
|
+
});
|
|
48
59
|
// Annotate the CommonJS export names for ESM import in node:
|
|
49
60
|
0 && (module.exports = {
|
|
50
|
-
|
|
61
|
+
builderPluginAlias
|
|
51
62
|
});
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var code_exports = {};
|
|
30
|
+
__export(code_exports, {
|
|
31
|
+
generateCode: () => generateCode
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(code_exports);
|
|
34
|
+
var import_path = __toESM(require("path"));
|
|
35
|
+
var import_utils = require("@modern-js/utils");
|
|
36
|
+
var import_constants = require("./constants");
|
|
37
|
+
var template = __toESM(require("./template"));
|
|
38
|
+
var serverTemplate = __toESM(require("./template.server"));
|
|
39
|
+
function getSSRMode(entry = import_utils.MAIN_ENTRY_NAME, config) {
|
|
40
|
+
const { ssr, ssrByEntries } = config.server;
|
|
41
|
+
if (config.output.ssg) {
|
|
42
|
+
return "string";
|
|
43
|
+
}
|
|
44
|
+
return checkSSRMode((ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[entry]) || ssr);
|
|
45
|
+
function checkSSRMode(ssr2) {
|
|
46
|
+
if (!ssr2) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
if (typeof ssr2 === "boolean") {
|
|
50
|
+
return ssr2 ? "string" : false;
|
|
51
|
+
}
|
|
52
|
+
return ssr2.mode === "stream" ? "stream" : "string";
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const generateCode = async (entrypoints, appContext, config, onCollectRuntimePlugins) => {
|
|
56
|
+
const { mountId } = config.html;
|
|
57
|
+
const { enableAsyncEntry } = config.source;
|
|
58
|
+
const { runtimeConfigFile, internalDirectory, internalSrcAlias, metaName, srcDirectory } = appContext;
|
|
59
|
+
await Promise.all(entrypoints.map(async (entrypoint) => {
|
|
60
|
+
const { entryName, isAutoMount, entry, customEntry, customBootstrap, customServerEntry } = entrypoint;
|
|
61
|
+
const { plugins: runtimePlugins } = await onCollectRuntimePlugins({
|
|
62
|
+
entrypoint,
|
|
63
|
+
plugins: []
|
|
64
|
+
});
|
|
65
|
+
if (isAutoMount) {
|
|
66
|
+
const indexCode = template.index({
|
|
67
|
+
srcDirectory,
|
|
68
|
+
internalSrcAlias,
|
|
69
|
+
metaName,
|
|
70
|
+
entry,
|
|
71
|
+
entryName,
|
|
72
|
+
customEntry,
|
|
73
|
+
customBootstrap,
|
|
74
|
+
mountId
|
|
75
|
+
});
|
|
76
|
+
const indexFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_FILE_NAME}`);
|
|
77
|
+
import_utils.fs.outputFileSync(indexFile, indexCode, "utf8");
|
|
78
|
+
if (enableAsyncEntry) {
|
|
79
|
+
const bootstrapFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_BOOTSTRAP_FILE_NAME}`);
|
|
80
|
+
import_utils.fs.outputFileSync(bootstrapFile, `import('./${import_constants.INDEX_FILE_NAME}');`, "utf8");
|
|
81
|
+
}
|
|
82
|
+
const ssrMode = getSSRMode(entryName, config);
|
|
83
|
+
if (ssrMode) {
|
|
84
|
+
const indexServerCode = serverTemplate.serverIndex({
|
|
85
|
+
entry,
|
|
86
|
+
entryName,
|
|
87
|
+
internalSrcAlias,
|
|
88
|
+
metaName,
|
|
89
|
+
mode: ssrMode,
|
|
90
|
+
customServerEntry,
|
|
91
|
+
srcDirectory
|
|
92
|
+
});
|
|
93
|
+
const indexServerFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.SERVER_ENTRY_POINT_FILE_NAME}`);
|
|
94
|
+
import_utils.fs.outputFileSync(indexServerFile, indexServerCode, "utf8");
|
|
95
|
+
}
|
|
96
|
+
const registerCode = template.register();
|
|
97
|
+
const registerFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_REGISTER_FILE_NAME}`);
|
|
98
|
+
import_utils.fs.outputFileSync(registerFile, registerCode, "utf8");
|
|
99
|
+
const registerRuntimeCode = template.runtimeRegister({
|
|
100
|
+
entryName,
|
|
101
|
+
srcDirectory,
|
|
102
|
+
internalSrcAlias,
|
|
103
|
+
metaName,
|
|
104
|
+
runtimeConfigFile,
|
|
105
|
+
runtimePlugins
|
|
106
|
+
});
|
|
107
|
+
const registerRuntimeFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME}`);
|
|
108
|
+
import_utils.fs.outputFileSync(registerRuntimeFile, registerRuntimeCode, "utf8");
|
|
109
|
+
const contextCode = template.runtimeGlobalContext({
|
|
110
|
+
srcDirectory,
|
|
111
|
+
internalSrcAlias,
|
|
112
|
+
metaName,
|
|
113
|
+
entry,
|
|
114
|
+
customEntry
|
|
115
|
+
});
|
|
116
|
+
const contextFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}`);
|
|
117
|
+
import_utils.fs.outputFileSync(contextFile, contextCode, "utf8");
|
|
118
|
+
}
|
|
119
|
+
}));
|
|
120
|
+
};
|
|
121
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
122
|
+
0 && (module.exports = {
|
|
123
|
+
generateCode
|
|
124
|
+
});
|
|
@@ -18,11 +18,32 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var constants_exports = {};
|
|
20
20
|
__export(constants_exports, {
|
|
21
|
-
APP_FILE_NAME: () => APP_FILE_NAME
|
|
21
|
+
APP_FILE_NAME: () => APP_FILE_NAME,
|
|
22
|
+
ENTRY_BOOTSTRAP_FILE_NAME: () => ENTRY_BOOTSTRAP_FILE_NAME,
|
|
23
|
+
ENTRY_POINT_FILE_NAME: () => ENTRY_POINT_FILE_NAME,
|
|
24
|
+
ENTRY_POINT_REGISTER_FILE_NAME: () => ENTRY_POINT_REGISTER_FILE_NAME,
|
|
25
|
+
ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME: () => ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME,
|
|
26
|
+
ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME: () => ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME,
|
|
27
|
+
INDEX_FILE_NAME: () => INDEX_FILE_NAME,
|
|
28
|
+
SERVER_ENTRY_POINT_FILE_NAME: () => SERVER_ENTRY_POINT_FILE_NAME
|
|
22
29
|
});
|
|
23
30
|
module.exports = __toCommonJS(constants_exports);
|
|
24
31
|
const APP_FILE_NAME = "App";
|
|
32
|
+
const ENTRY_POINT_FILE_NAME = "index.jsx";
|
|
33
|
+
const SERVER_ENTRY_POINT_FILE_NAME = "index.server.jsx";
|
|
34
|
+
const INDEX_FILE_NAME = "index";
|
|
35
|
+
const ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.jsx";
|
|
36
|
+
const ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME = "runtime-register.js";
|
|
37
|
+
const ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME = "runtime-global-context.js";
|
|
38
|
+
const ENTRY_POINT_REGISTER_FILE_NAME = "register.js";
|
|
25
39
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
40
|
0 && (module.exports = {
|
|
27
|
-
APP_FILE_NAME
|
|
41
|
+
APP_FILE_NAME,
|
|
42
|
+
ENTRY_BOOTSTRAP_FILE_NAME,
|
|
43
|
+
ENTRY_POINT_FILE_NAME,
|
|
44
|
+
ENTRY_POINT_REGISTER_FILE_NAME,
|
|
45
|
+
ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME,
|
|
46
|
+
ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME,
|
|
47
|
+
INDEX_FILE_NAME,
|
|
48
|
+
SERVER_ENTRY_POINT_FILE_NAME
|
|
28
49
|
});
|
package/dist/cjs/cli/index.js
CHANGED
|
@@ -29,18 +29,27 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
var cli_exports = {};
|
|
30
30
|
__export(cli_exports, {
|
|
31
31
|
default: () => cli_default,
|
|
32
|
+
documentPlugin: () => import_cli3.documentPlugin,
|
|
32
33
|
isRuntimeEntry: () => import_entry2.isRuntimeEntry,
|
|
33
|
-
|
|
34
|
+
routerPlugin: () => import_cli2.routerPlugin,
|
|
35
|
+
runtimePlugin: () => runtimePlugin,
|
|
36
|
+
ssrPlugin: () => import_ssr.ssrPlugin,
|
|
37
|
+
statePlugin: () => import_cli.statePlugin
|
|
34
38
|
});
|
|
35
39
|
module.exports = __toCommonJS(cli_exports);
|
|
40
|
+
var import_path = __toESM(require("path"));
|
|
36
41
|
var import_utils = require("@modern-js/utils");
|
|
42
|
+
var import_core = require("@rsbuild/core");
|
|
37
43
|
var import_cli = require("../state/cli");
|
|
38
|
-
var import_cli2 = require("../
|
|
39
|
-
var import_cli3 = require("../
|
|
40
|
-
var
|
|
44
|
+
var import_cli2 = require("../router/cli");
|
|
45
|
+
var import_cli3 = require("../document/cli");
|
|
46
|
+
var import_ssr = require("./ssr");
|
|
41
47
|
var import_entry = require("./entry");
|
|
48
|
+
var import_constants = require("./constants");
|
|
49
|
+
var import_code = require("./code");
|
|
50
|
+
var import_alias = require("./alias");
|
|
42
51
|
var import_entry2 = require("./entry");
|
|
43
|
-
const runtimePlugin = () => ({
|
|
52
|
+
const runtimePlugin = (params) => ({
|
|
44
53
|
name: "@modern-js/runtime",
|
|
45
54
|
post: [
|
|
46
55
|
"@modern-js/plugin-ssr",
|
|
@@ -50,23 +59,58 @@ const runtimePlugin = () => ({
|
|
|
50
59
|
"@modern-js/plugin-design-token"
|
|
51
60
|
],
|
|
52
61
|
// the order of runtime plugins is affected by runtime hooks, mainly `init` and `hoc` hooks
|
|
53
|
-
usePlugins: [
|
|
54
|
-
(0,
|
|
62
|
+
usePlugins: (params === null || params === void 0 ? void 0 : params.plugins) || [
|
|
63
|
+
(0, import_ssr.ssrPlugin)(),
|
|
64
|
+
(0, import_cli2.routerPlugin)(),
|
|
55
65
|
(0, import_cli.statePlugin)(),
|
|
56
|
-
(0, import_cli3.
|
|
57
|
-
(0, import_cli4.documentPlugin)()
|
|
66
|
+
(0, import_cli3.documentPlugin)()
|
|
58
67
|
],
|
|
59
68
|
setup: (api) => {
|
|
60
69
|
return {
|
|
61
|
-
checkEntryPoint({ path, entry }) {
|
|
70
|
+
checkEntryPoint({ path: path2, entry }) {
|
|
62
71
|
return {
|
|
63
|
-
path,
|
|
64
|
-
entry: entry || (0, import_entry.isRuntimeEntry)(
|
|
72
|
+
path: path2,
|
|
73
|
+
entry: entry || (0, import_entry.isRuntimeEntry)(path2)
|
|
65
74
|
};
|
|
66
75
|
},
|
|
76
|
+
modifyEntrypoints({ entrypoints }) {
|
|
77
|
+
const { internalDirectory } = api.useAppContext();
|
|
78
|
+
const { source: { enableAsyncEntry } } = api.useResolvedConfigContext();
|
|
79
|
+
const newEntryPoints = entrypoints.map((entrypoint) => {
|
|
80
|
+
if (entrypoint.isAutoMount) {
|
|
81
|
+
entrypoint.internalEntry = import_path.default.resolve(internalDirectory, `./${entrypoint.entryName}/${enableAsyncEntry ? import_constants.ENTRY_BOOTSTRAP_FILE_NAME : import_constants.ENTRY_POINT_FILE_NAME}`);
|
|
82
|
+
}
|
|
83
|
+
return entrypoint;
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
entrypoints: newEntryPoints
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
async generateEntryCode({ entrypoints }) {
|
|
90
|
+
const appContext = api.useAppContext();
|
|
91
|
+
const resolvedConfig = api.useResolvedConfigContext();
|
|
92
|
+
const runners = api.useHookRunners();
|
|
93
|
+
await (0, import_code.generateCode)(entrypoints, appContext, resolvedConfig, runners._internalRuntimePlugins);
|
|
94
|
+
},
|
|
95
|
+
/* Note that the execution time of the config hook is before prepare.
|
|
96
|
+
/* This means that the entry information cannot be obtained in the config hook.
|
|
97
|
+
/* Therefore, aliases cannot be set directly in the config.
|
|
98
|
+
*/
|
|
99
|
+
prepare() {
|
|
100
|
+
const { builder, entrypoints, internalDirectory, metaName } = api.useAppContext();
|
|
101
|
+
builder === null || builder === void 0 ? void 0 : builder.addPlugins([
|
|
102
|
+
(0, import_alias.builderPluginAlias)({
|
|
103
|
+
entrypoints,
|
|
104
|
+
internalDirectory,
|
|
105
|
+
metaName
|
|
106
|
+
})
|
|
107
|
+
]);
|
|
108
|
+
},
|
|
67
109
|
config() {
|
|
68
|
-
const
|
|
69
|
-
|
|
110
|
+
const { appDirectory, metaName, internalDirectory } = api.useAppContext();
|
|
111
|
+
const isReact18 = (0, import_utils.isReact18)(appDirectory);
|
|
112
|
+
process.env.IS_REACT18 = isReact18.toString();
|
|
113
|
+
const pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(internalDirectory, "plugins");
|
|
70
114
|
return {
|
|
71
115
|
runtime: {},
|
|
72
116
|
runtimeByEntries: {},
|
|
@@ -77,7 +121,11 @@ const runtimePlugin = () => ({
|
|
|
77
121
|
* But it will not be installed under the user project.
|
|
78
122
|
* So need to add alias
|
|
79
123
|
*/
|
|
80
|
-
"styled-components": require.resolve("styled-components")
|
|
124
|
+
"styled-components": require.resolve("styled-components"),
|
|
125
|
+
/**
|
|
126
|
+
* Compatible with the reference path of the old version of the plugin.
|
|
127
|
+
*/
|
|
128
|
+
[`@${metaName}/runtime/plugins`]: pluginsExportsUtils.getPath()
|
|
81
129
|
},
|
|
82
130
|
globalVars: {
|
|
83
131
|
"process.env.IS_REACT18": process.env.IS_REACT18
|
|
@@ -89,6 +137,29 @@ const runtimePlugin = () => ({
|
|
|
89
137
|
topLevelImportPaths: [
|
|
90
138
|
"@modern-js/runtime/styled"
|
|
91
139
|
]
|
|
140
|
+
},
|
|
141
|
+
/**
|
|
142
|
+
* Add IgnorePlugin to fix react-dom/client import error when use react17
|
|
143
|
+
*/
|
|
144
|
+
webpackChain: (chain, { webpack }) => {
|
|
145
|
+
if (!isReact18) {
|
|
146
|
+
chain.plugin("ignore-plugin").use(webpack.IgnorePlugin, [
|
|
147
|
+
{
|
|
148
|
+
resourceRegExp: /^react-dom\/client$/,
|
|
149
|
+
contextRegExp: /./
|
|
150
|
+
}
|
|
151
|
+
]);
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
rspack: (_config, { appendPlugins }) => {
|
|
155
|
+
if (!isReact18) {
|
|
156
|
+
appendPlugins([
|
|
157
|
+
new import_core.rspack.IgnorePlugin({
|
|
158
|
+
resourceRegExp: /^react-dom\/client$/,
|
|
159
|
+
contextRegExp: /./
|
|
160
|
+
})
|
|
161
|
+
]);
|
|
162
|
+
}
|
|
92
163
|
}
|
|
93
164
|
}
|
|
94
165
|
};
|
|
@@ -97,7 +168,7 @@ const runtimePlugin = () => ({
|
|
|
97
168
|
(0, import_utils.cleanRequireCache)([
|
|
98
169
|
require.resolve("../state/cli"),
|
|
99
170
|
require.resolve("../router/cli"),
|
|
100
|
-
require.resolve("
|
|
171
|
+
require.resolve("./ssr")
|
|
101
172
|
]);
|
|
102
173
|
}
|
|
103
174
|
};
|
|
@@ -106,6 +177,10 @@ const runtimePlugin = () => ({
|
|
|
106
177
|
var cli_default = runtimePlugin;
|
|
107
178
|
// Annotate the CommonJS export names for ESM import in node:
|
|
108
179
|
0 && (module.exports = {
|
|
180
|
+
documentPlugin,
|
|
109
181
|
isRuntimeEntry,
|
|
110
|
-
|
|
182
|
+
routerPlugin,
|
|
183
|
+
runtimePlugin,
|
|
184
|
+
ssrPlugin,
|
|
185
|
+
statePlugin
|
|
111
186
|
});
|
|
@@ -26,15 +26,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
31
|
-
default: () =>
|
|
29
|
+
var ssr_exports = {};
|
|
30
|
+
__export(ssr_exports, {
|
|
31
|
+
default: () => ssr_default,
|
|
32
32
|
ssrPlugin: () => ssrPlugin
|
|
33
33
|
});
|
|
34
|
-
module.exports = __toCommonJS(
|
|
34
|
+
module.exports = __toCommonJS(ssr_exports);
|
|
35
35
|
var import_path = __toESM(require("path"));
|
|
36
36
|
var import_utils = require("@modern-js/utils");
|
|
37
|
-
const PLUGIN_IDENTIFIER = "ssr";
|
|
38
37
|
const hasStringSSREntry = (userConfig) => {
|
|
39
38
|
const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
|
|
40
39
|
const { server, output } = userConfig;
|
|
@@ -60,12 +59,9 @@ const ssrPlugin = () => ({
|
|
|
60
59
|
"@modern-js/runtime"
|
|
61
60
|
],
|
|
62
61
|
setup: (api) => {
|
|
63
|
-
const ssrConfigMap = /* @__PURE__ */ new Map();
|
|
64
|
-
let pluginsExportsUtils;
|
|
65
62
|
return {
|
|
63
|
+
// for bundle
|
|
66
64
|
config() {
|
|
67
|
-
const appContext = api.useAppContext();
|
|
68
|
-
pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(appContext.internalDirectory, "plugins");
|
|
69
65
|
const { bundlerType = "webpack" } = api.useAppContext();
|
|
70
66
|
const babelHandler = (() => {
|
|
71
67
|
if (bundlerType === "webpack") {
|
|
@@ -93,8 +89,7 @@ const ssrPlugin = () => ({
|
|
|
93
89
|
source: {
|
|
94
90
|
alias: {
|
|
95
91
|
// ensure that all packages use the same storage in @modern-js/runtime-utils/node
|
|
96
|
-
"@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node")
|
|
97
|
-
"@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
|
|
92
|
+
"@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node")
|
|
98
93
|
},
|
|
99
94
|
globalVars: (values, { target }) => {
|
|
100
95
|
values["process.env.MODERN_TARGET"] = target === "node" || target === "service-worker" ? "node" : "browser";
|
|
@@ -115,85 +110,11 @@ const ssrPlugin = () => ({
|
|
|
115
110
|
babel: babelHandler
|
|
116
111
|
}
|
|
117
112
|
};
|
|
118
|
-
},
|
|
119
|
-
modifyEntryImports({ entrypoint, imports }) {
|
|
120
|
-
const { entryName, isMainEntry, fileSystemRoutes } = entrypoint;
|
|
121
|
-
const userConfig = api.useResolvedConfigContext();
|
|
122
|
-
const { packageName, entrypoints } = api.useAppContext();
|
|
123
|
-
pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
|
|
124
|
-
const ssrConfig = (0, import_utils.getEntryOptions)(entryName, isMainEntry, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
|
|
125
|
-
if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
|
|
126
|
-
var _this;
|
|
127
|
-
const runtimeConfig = (0, import_utils.getEntryOptions)(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
128
|
-
if (((_this = runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) === null || _this === void 0 ? void 0 : _this.mode) === "react-router-5") {
|
|
129
|
-
throw new Error(`router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'`);
|
|
130
|
-
}
|
|
131
|
-
if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
|
|
132
|
-
throw new Error("You should switch to file-system based router to support streaming SSR.");
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
const useSSG = (0, import_utils.isSSGEntry)(userConfig, entryName, entrypoints);
|
|
136
|
-
ssrConfigMap.set(entryName, ssrConfig || useSSG);
|
|
137
|
-
if (ssrConfig || useSSG) {
|
|
138
|
-
imports.push({
|
|
139
|
-
value: "@modern-js/runtime/plugins",
|
|
140
|
-
specifiers: [
|
|
141
|
-
{
|
|
142
|
-
imported: PLUGIN_IDENTIFIER
|
|
143
|
-
}
|
|
144
|
-
]
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
entrypoint,
|
|
149
|
-
imports
|
|
150
|
-
};
|
|
151
|
-
},
|
|
152
|
-
modifyEntryRuntimePlugins({ entrypoint, plugins, bundlerConfigs }) {
|
|
153
|
-
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
154
|
-
var _bundlerConfigs_find_output, _bundlerConfigs_find;
|
|
155
|
-
const chunkLoadingGlobal = bundlerConfigs === null || bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = bundlerConfigs.find((config2) => config2.name === "client")) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
|
|
156
|
-
const config = api.useResolvedConfigContext();
|
|
157
|
-
const { enableInlineScripts, enableInlineStyles } = config.output;
|
|
158
|
-
const { crossorigin, scriptLoading } = config.html;
|
|
159
|
-
plugins.push({
|
|
160
|
-
name: PLUGIN_IDENTIFIER,
|
|
161
|
-
options: JSON.stringify({
|
|
162
|
-
scriptLoading,
|
|
163
|
-
...ssrConfigMap.get(entrypoint.entryName) || {},
|
|
164
|
-
crossorigin,
|
|
165
|
-
chunkLoadingGlobal,
|
|
166
|
-
enableInlineScripts: typeof enableInlineScripts === "function" ? void 0 : enableInlineScripts,
|
|
167
|
-
enableInlineStyles: typeof enableInlineStyles === "function" ? void 0 : enableInlineStyles
|
|
168
|
-
})
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
return {
|
|
172
|
-
entrypoint,
|
|
173
|
-
plugins
|
|
174
|
-
};
|
|
175
|
-
},
|
|
176
|
-
modifyEntryExport({ entrypoint, exportStatement }) {
|
|
177
|
-
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
178
|
-
return {
|
|
179
|
-
entrypoint,
|
|
180
|
-
exportStatement: [
|
|
181
|
-
`export function ${import_utils.SERVER_RENDER_FUNCTION_NAME}(context) {
|
|
182
|
-
return bootstrap(AppWrapper, context)
|
|
183
|
-
}`,
|
|
184
|
-
exportStatement
|
|
185
|
-
].join("\n")
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
return {
|
|
189
|
-
entrypoint,
|
|
190
|
-
exportStatement
|
|
191
|
-
};
|
|
192
113
|
}
|
|
193
114
|
};
|
|
194
115
|
}
|
|
195
116
|
});
|
|
196
|
-
var
|
|
117
|
+
var ssr_default = ssrPlugin;
|
|
197
118
|
// Annotate the CommonJS export names for ESM import in node:
|
|
198
119
|
0 && (module.exports = {
|
|
199
120
|
ssrPlugin
|
|
@@ -0,0 +1,101 @@
|
|
|
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 template_exports = {};
|
|
30
|
+
__export(template_exports, {
|
|
31
|
+
index: () => index,
|
|
32
|
+
register: () => register,
|
|
33
|
+
runtimeGlobalContext: () => runtimeGlobalContext,
|
|
34
|
+
runtimeRegister: () => runtimeRegister
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(template_exports);
|
|
37
|
+
var import_path = __toESM(require("path"));
|
|
38
|
+
var import_utils = require("@modern-js/utils");
|
|
39
|
+
var import_constants = require("./constants");
|
|
40
|
+
const genRenderCode = ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry, customBootstrap, mountId }) => {
|
|
41
|
+
if (customEntry) {
|
|
42
|
+
return `import '${(0, import_utils.formatImportPath)(entry.replace(srcDirectory, internalSrcAlias))}'`;
|
|
43
|
+
}
|
|
44
|
+
return `import { createRoot } from '@${metaName}/runtime/react';
|
|
45
|
+
import { render } from '@${metaName}/runtime/browser';
|
|
46
|
+
${customBootstrap ? `import customBootstrap from '${(0, import_utils.formatImportPath)(customBootstrap.replace(srcDirectory, internalSrcAlias))}';` : ""}
|
|
47
|
+
|
|
48
|
+
const ModernRoot = createRoot();
|
|
49
|
+
|
|
50
|
+
${customBootstrap ? `customBootstrap(ModernRoot, () => render(<ModernRoot />, '${mountId || "root"}'));` : `render(<ModernRoot />, '${mountId || "root"}');`}`;
|
|
51
|
+
};
|
|
52
|
+
const index = ({ srcDirectory, internalSrcAlias, metaName, entry, entryName, customEntry, customBootstrap, mountId }) => `import '@${metaName}/runtime/registry/${entryName}';
|
|
53
|
+
${genRenderCode({
|
|
54
|
+
srcDirectory,
|
|
55
|
+
internalSrcAlias,
|
|
56
|
+
metaName,
|
|
57
|
+
entry,
|
|
58
|
+
customEntry,
|
|
59
|
+
customBootstrap,
|
|
60
|
+
mountId
|
|
61
|
+
})}
|
|
62
|
+
`;
|
|
63
|
+
const register = () => `import './${import_constants.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}';
|
|
64
|
+
import './${import_constants.ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME}';
|
|
65
|
+
`;
|
|
66
|
+
const getImportRuntimeConfigCode = (srcDirectory, internalSrcAlias, runtimeConfigFile) => {
|
|
67
|
+
if (runtimeConfigFile && (0, import_utils.findExists)(import_utils.JS_EXTENSIONS.map((ext) => import_path.default.resolve(srcDirectory, `${runtimeConfigFile}${ext}`)))) {
|
|
68
|
+
return `import runtimeConfig from '${internalSrcAlias}/${runtimeConfigFile}';`;
|
|
69
|
+
}
|
|
70
|
+
return `let runtimeConfig;`;
|
|
71
|
+
};
|
|
72
|
+
const getRegisterRuntimePluginCode = (entryName, name, config) => `plugins.push(${name}Plugin(mergeConfig(${JSON.stringify(config)}, (runtimeConfig || {})['${name}'], ((runtimeConfig || {})['${name}ByEntries'] || {})['${entryName}'], (getGlobalAppConfig() || {})['${name}'])));`;
|
|
73
|
+
const runtimeRegister = ({ entryName, srcDirectory, internalSrcAlias, metaName, runtimeConfigFile, runtimePlugins }) => `import { registerPlugin, mergeConfig } from '@${metaName}/runtime/plugin';
|
|
74
|
+
import { getGlobalAppConfig, getGlobalLayoutApp } from '@${metaName}/runtime/context';
|
|
75
|
+
${getImportRuntimeConfigCode(srcDirectory, internalSrcAlias, runtimeConfigFile)}
|
|
76
|
+
|
|
77
|
+
const plugins = [];
|
|
78
|
+
|
|
79
|
+
${runtimePlugins.map(({ name, path: path2, config }) => `import { ${name}Plugin } from '${path2}';
|
|
80
|
+
|
|
81
|
+
${getRegisterRuntimePluginCode(entryName, name, config)}
|
|
82
|
+
`).join("\n")}
|
|
83
|
+
registerPlugin(plugins, runtimeConfig);
|
|
84
|
+
`;
|
|
85
|
+
const runtimeGlobalContext = ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry }) => {
|
|
86
|
+
return `import { setGlobalContext } from '@${metaName}/runtime/context'
|
|
87
|
+
|
|
88
|
+
import App from '${// We need to get the path of App.tsx here, but the entry is `src/entry.tsx`
|
|
89
|
+
(0, import_utils.formatImportPath)(customEntry ? entry.replace("entry.tsx", "App.tsx").replace(srcDirectory, internalSrcAlias) : entry.replace(srcDirectory, internalSrcAlias))}';
|
|
90
|
+
|
|
91
|
+
setGlobalContext({
|
|
92
|
+
App,
|
|
93
|
+
});`;
|
|
94
|
+
};
|
|
95
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
96
|
+
0 && (module.exports = {
|
|
97
|
+
index,
|
|
98
|
+
register,
|
|
99
|
+
runtimeGlobalContext,
|
|
100
|
+
runtimeRegister
|
|
101
|
+
});
|