@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
|
@@ -1,19 +1,38 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRuntimeExportsUtils, getEntryOptions, isRouterV5 as isV5 } from "@modern-js/utils";
|
|
2
2
|
import { isRouteEntry } from "./entry";
|
|
3
|
-
import { handleFileChange, handleModifyEntrypoints } from "./handler";
|
|
3
|
+
import { handleFileChange, handleGeneratorEntryCode, handleModifyEntrypoints } from "./handler";
|
|
4
4
|
import { isRouteEntry as isRouteEntry2 } from "./entry";
|
|
5
5
|
import { handleFileChange as handleFileChange2, handleModifyEntrypoints as handleModifyEntrypoints2 } from "./handler";
|
|
6
|
-
const PLUGIN_IDENTIFIER = "router";
|
|
7
|
-
const ROUTES_IDENTIFIER = "routes";
|
|
8
6
|
const routerPlugin = () => ({
|
|
9
7
|
name: "@modern-js/plugin-router",
|
|
10
8
|
required: [
|
|
11
9
|
"@modern-js/runtime"
|
|
12
10
|
],
|
|
13
11
|
setup: (api) => {
|
|
14
|
-
const runtimeConfigMap = /* @__PURE__ */ new Map();
|
|
15
|
-
let pluginsExportsUtils;
|
|
16
12
|
return {
|
|
13
|
+
_internalRuntimePlugins({ entrypoint, plugins }) {
|
|
14
|
+
var _getEntryOptions;
|
|
15
|
+
const { packageName, serverRoutes, metaName } = api.useAppContext();
|
|
16
|
+
const serverBase = serverRoutes.filter((route) => route.entryName === entrypoint.entryName).map((route) => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
|
|
17
|
+
const userConfig = api.useResolvedConfigContext();
|
|
18
|
+
const routerConfig = (_getEntryOptions = getEntryOptions(entrypoint.entryName, entrypoint.isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName)) === null || _getEntryOptions === void 0 ? void 0 : _getEntryOptions.router;
|
|
19
|
+
if (routerConfig && !isV5(userConfig)) {
|
|
20
|
+
plugins.push({
|
|
21
|
+
name: "router",
|
|
22
|
+
path: `@${metaName}/runtime/router`,
|
|
23
|
+
config: typeof routerConfig === "boolean" ? {
|
|
24
|
+
serverBase
|
|
25
|
+
} : {
|
|
26
|
+
...routerConfig,
|
|
27
|
+
serverBase
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
entrypoint,
|
|
33
|
+
plugins
|
|
34
|
+
};
|
|
35
|
+
},
|
|
17
36
|
checkEntryPoint({ path, entry }) {
|
|
18
37
|
return {
|
|
19
38
|
path,
|
|
@@ -21,8 +40,6 @@ const routerPlugin = () => ({
|
|
|
21
40
|
};
|
|
22
41
|
},
|
|
23
42
|
config() {
|
|
24
|
-
const appContext = api.useAppContext();
|
|
25
|
-
pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
|
|
26
43
|
return {
|
|
27
44
|
source: {
|
|
28
45
|
include: [
|
|
@@ -32,10 +49,7 @@ const routerPlugin = () => ({
|
|
|
32
49
|
/node_modules\/react-router/,
|
|
33
50
|
/node_modules\/react-router-dom/,
|
|
34
51
|
/node_modules\/@remix-run\/router/
|
|
35
|
-
]
|
|
36
|
-
alias: {
|
|
37
|
-
"@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
|
|
38
|
-
}
|
|
52
|
+
]
|
|
39
53
|
}
|
|
40
54
|
};
|
|
41
55
|
},
|
|
@@ -45,56 +59,15 @@ const routerPlugin = () => ({
|
|
|
45
59
|
entrypoints: newEntryPoints
|
|
46
60
|
};
|
|
47
61
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const userConfig = api.useResolvedConfigContext();
|
|
51
|
-
const { packageName } = api.useAppContext();
|
|
52
|
-
const runtimeConfig = getEntryOptions(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
53
|
-
runtimeConfigMap.set(entryName, runtimeConfig);
|
|
54
|
-
if (runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) {
|
|
55
|
-
if (!isV5(userConfig)) {
|
|
56
|
-
imports.push({
|
|
57
|
-
value: "@modern-js/runtime/plugins",
|
|
58
|
-
specifiers: [
|
|
59
|
-
{
|
|
60
|
-
imported: PLUGIN_IDENTIFIER
|
|
61
|
-
}
|
|
62
|
-
]
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
} else if (fileSystemRoutes) {
|
|
66
|
-
throw new Error(`should enable runtime.router for entry ${entryName}`);
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
entrypoint,
|
|
70
|
-
imports
|
|
71
|
-
};
|
|
72
|
-
},
|
|
73
|
-
modifyEntryRuntimePlugins({ entrypoint, plugins }) {
|
|
74
|
-
const { entryName, fileSystemRoutes } = entrypoint;
|
|
75
|
-
const { serverRoutes } = api.useAppContext();
|
|
76
|
-
const userConfig = api.useResolvedConfigContext();
|
|
77
|
-
const runtimeConfig = runtimeConfigMap.get(entryName);
|
|
78
|
-
if (runtimeConfig.router && !isV5(userConfig)) {
|
|
79
|
-
const serverBase = serverRoutes.filter((route) => route.entryName === entryName).map((route) => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
|
|
80
|
-
plugins.push({
|
|
81
|
-
name: PLUGIN_IDENTIFIER,
|
|
82
|
-
options: JSON.stringify({
|
|
83
|
-
serverBase,
|
|
84
|
-
...runtimeConfig.router,
|
|
85
|
-
routesConfig: fileSystemRoutes ? `{ ${ROUTES_IDENTIFIER}, globalApp: App }` : void 0
|
|
86
|
-
}).replace(/"routesConfig"\s*:\s*"((\S|\s)+)"/g, '"routesConfig": $1,')
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
entrypoint,
|
|
91
|
-
plugins
|
|
92
|
-
};
|
|
62
|
+
async generateEntryCode({ entrypoints }) {
|
|
63
|
+
await handleGeneratorEntryCode(api, entrypoints);
|
|
93
64
|
},
|
|
94
65
|
addRuntimeExports() {
|
|
95
66
|
const userConfig = api.useResolvedConfigContext();
|
|
67
|
+
const { internalDirectory, metaName } = api.useAppContext();
|
|
68
|
+
const pluginsExportsUtils = createRuntimeExportsUtils(internalDirectory, "plugins");
|
|
96
69
|
if (!isV5(userConfig)) {
|
|
97
|
-
pluginsExportsUtils.addExport(`export { default as router } from '
|
|
70
|
+
pluginsExportsUtils.addExport(`export { default as router } from '@${metaName}/runtime/router'`);
|
|
98
71
|
}
|
|
99
72
|
},
|
|
100
73
|
async fileChange(e) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useMemo } from "react";
|
|
3
3
|
import { createBrowserRouter, createHashRouter, RouterProvider, createRoutesFromElements, useMatches, useLocation, useHref } from "@modern-js/runtime-utils/router";
|
|
4
|
-
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
5
4
|
import { parsedJSONFromElement } from "@modern-js/runtime-utils/parsed";
|
|
5
|
+
import { getGlobalLayoutApp, getGlobalRoutes } from "../../core/context";
|
|
6
6
|
import { RuntimeReactContext } from "../../core";
|
|
7
7
|
import { modifyRoutes as modifyRoutesHook } from "./hooks";
|
|
8
8
|
import { deserializeErrors, renderRoutes, urlJoin } from "./utils";
|
|
@@ -19,19 +19,14 @@ function modifyRoutes(modifyFunction) {
|
|
|
19
19
|
console.error("It is not allowed to modify routes config after create router.");
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
const routerPlugin = ({
|
|
23
|
-
serverBase = [],
|
|
24
|
-
supportHtml5History = true,
|
|
25
|
-
basename = "",
|
|
26
|
-
// when the current child app has multiple entries, there is a problem,
|
|
27
|
-
// so we have added a new parameter, the parameter will replace basename and baseUrl after the major version.
|
|
28
|
-
originalBaseUrl = "",
|
|
29
|
-
routesConfig,
|
|
30
|
-
createRoutes
|
|
31
|
-
}) => {
|
|
22
|
+
const routerPlugin = ({ serverBase = [], supportHtml5History = true, basename = "", routesConfig, createRoutes }) => {
|
|
32
23
|
const select = (pathname) => serverBase.find((baseUrl) => pathname.search(baseUrl) === 0) || "/";
|
|
33
24
|
let routes = [];
|
|
34
|
-
finalRouteConfig =
|
|
25
|
+
finalRouteConfig = {
|
|
26
|
+
routes: getGlobalRoutes(),
|
|
27
|
+
globalApp: getGlobalLayoutApp(),
|
|
28
|
+
...routesConfig
|
|
29
|
+
};
|
|
35
30
|
window._SERVER_DATA = parsedJSONFromElement("__MODERN_SERVER_DATA__");
|
|
36
31
|
return {
|
|
37
32
|
name: "@modern-js/plugin-router",
|
|
@@ -56,7 +51,7 @@ const routerPlugin = ({
|
|
|
56
51
|
});
|
|
57
52
|
},
|
|
58
53
|
hoc: ({ App, config }, next) => {
|
|
59
|
-
if (!finalRouteConfig && !createRoutes) {
|
|
54
|
+
if (!finalRouteConfig.routes && !createRoutes) {
|
|
60
55
|
return next({
|
|
61
56
|
App,
|
|
62
57
|
config
|
|
@@ -64,8 +59,8 @@ const routerPlugin = ({
|
|
|
64
59
|
}
|
|
65
60
|
const getRouteApp = () => {
|
|
66
61
|
const useCreateRouter = (props) => {
|
|
67
|
-
var _window__SERVER_DATA;
|
|
68
|
-
const baseUrl =
|
|
62
|
+
var _config_router, _window__SERVER_DATA;
|
|
63
|
+
const baseUrl = ((config === null || config === void 0 ? void 0 : (_config_router = config.router) === null || _config_router === void 0 ? void 0 : _config_router.basename) || ((_window__SERVER_DATA = window._SERVER_DATA) === null || _window__SERVER_DATA === void 0 ? void 0 : _window__SERVER_DATA.router.baseUrl) || select(location.pathname)).replace(/^\/*/, "/");
|
|
69
64
|
const _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
|
|
70
65
|
let hydrationData = window._ROUTER_DATA;
|
|
71
66
|
const runtimeContext = useContext(RuntimeReactContext);
|
|
@@ -119,24 +114,12 @@ const routerPlugin = ({
|
|
|
119
114
|
return (props) => {
|
|
120
115
|
beforeCreateRouter = false;
|
|
121
116
|
const router = useCreateRouter(props);
|
|
122
|
-
return /* @__PURE__ */ _jsx(
|
|
123
|
-
|
|
124
|
-
children: /* @__PURE__ */ _jsx(RouterProvider, {
|
|
125
|
-
router
|
|
126
|
-
})
|
|
117
|
+
return /* @__PURE__ */ _jsx(RouterProvider, {
|
|
118
|
+
router
|
|
127
119
|
});
|
|
128
120
|
};
|
|
129
121
|
};
|
|
130
|
-
|
|
131
|
-
if (App) {
|
|
132
|
-
RouteApp = hoistNonReactStatics(RouteApp, App);
|
|
133
|
-
}
|
|
134
|
-
if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
|
|
135
|
-
return next({
|
|
136
|
-
App: hoistNonReactStatics(RouteApp, routesConfig.globalApp),
|
|
137
|
-
config
|
|
138
|
-
});
|
|
139
|
-
}
|
|
122
|
+
const RouteApp = getRouteApp();
|
|
140
123
|
return next({
|
|
141
124
|
App: RouteApp,
|
|
142
125
|
config
|
|
@@ -1,28 +1,17 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useContext } from "react";
|
|
3
3
|
import { createStaticHandler } from "@modern-js/runtime-utils/remix-router";
|
|
4
4
|
import { createStaticRouter, StaticRouterProvider } from "@modern-js/runtime-utils/node/router";
|
|
5
|
-
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
6
5
|
import { createRoutesFromElements } from "@modern-js/runtime-utils/router";
|
|
7
6
|
import { reporterCtx, createRequestContext } from "@modern-js/runtime-utils/node";
|
|
8
7
|
import { time } from "@modern-js/runtime-utils/time";
|
|
9
8
|
import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
|
|
10
9
|
import { JSX_SHELL_STREAM_END_MARK } from "../../common";
|
|
11
10
|
import { RuntimeReactContext } from "../../core";
|
|
11
|
+
import { getGlobalLayoutApp, getGlobalRoutes } from "../../core/context";
|
|
12
12
|
import { renderRoutes, urlJoin } from "./utils";
|
|
13
13
|
import { modifyRoutes as modifyRoutesHook } from "./hooks";
|
|
14
14
|
import DeferredDataScripts from "./DeferredDataScripts.node";
|
|
15
|
-
function createFetchRequest(req) {
|
|
16
|
-
const origin = `${req.protocol}://${req.host}`;
|
|
17
|
-
const url = new URL(req.originalUrl || req.url, origin);
|
|
18
|
-
const controller = new AbortController();
|
|
19
|
-
const init = {
|
|
20
|
-
method: req.method,
|
|
21
|
-
headers: createFetchHeaders(req.headers),
|
|
22
|
-
signal: controller.signal
|
|
23
|
-
};
|
|
24
|
-
return new Request(url.href, init);
|
|
25
|
-
}
|
|
26
15
|
function createFetchHeaders(requestHeaders) {
|
|
27
16
|
const headers = new Headers();
|
|
28
17
|
for (const [key, values] of Object.entries(requestHeaders || {})) {
|
|
@@ -38,29 +27,34 @@ function createFetchHeaders(requestHeaders) {
|
|
|
38
27
|
}
|
|
39
28
|
return headers;
|
|
40
29
|
}
|
|
41
|
-
const routerPlugin = ({ basename = "",
|
|
30
|
+
const routerPlugin = ({ basename = "", routesConfig, createRoutes }) => {
|
|
42
31
|
return {
|
|
43
32
|
name: "@modern-js/plugin-router",
|
|
44
33
|
registerHook: {
|
|
45
34
|
modifyRoutes: modifyRoutesHook
|
|
46
35
|
},
|
|
47
36
|
setup: (api) => {
|
|
37
|
+
const finalRouteConfig = {
|
|
38
|
+
routes: getGlobalRoutes(),
|
|
39
|
+
globalApp: getGlobalLayoutApp(),
|
|
40
|
+
...routesConfig
|
|
41
|
+
};
|
|
48
42
|
return {
|
|
49
43
|
async init({ context }, next) {
|
|
50
|
-
var _context_ssrContext;
|
|
51
|
-
if (!
|
|
44
|
+
var _context_ssrContext, _context_ssrContext_onTiming, _context_ssrContext1;
|
|
45
|
+
if (!finalRouteConfig.routes && !createRoutes) {
|
|
52
46
|
return next({
|
|
53
47
|
context
|
|
54
48
|
});
|
|
55
49
|
}
|
|
56
50
|
const { request, mode: ssrMode, nonce, loaderFailureMode = "errorBoundary" } = context.ssrContext;
|
|
57
|
-
const baseUrl =
|
|
51
|
+
const { baseUrl } = request;
|
|
58
52
|
const _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
|
|
59
|
-
const { reporter
|
|
53
|
+
const { reporter } = context.ssrContext;
|
|
60
54
|
const requestContext = createRequestContext((_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.loaderContext);
|
|
61
55
|
requestContext.set(reporterCtx, reporter);
|
|
62
56
|
let routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes({
|
|
63
|
-
routesConfig,
|
|
57
|
+
routesConfig: finalRouteConfig,
|
|
64
58
|
ssrMode,
|
|
65
59
|
props: {
|
|
66
60
|
nonce
|
|
@@ -72,14 +66,13 @@ const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, creat
|
|
|
72
66
|
const { query } = createStaticHandler(routes, {
|
|
73
67
|
basename: _basename
|
|
74
68
|
});
|
|
75
|
-
const remixRequest =
|
|
69
|
+
const remixRequest = context.ssrContext.request.raw;
|
|
76
70
|
const end = time();
|
|
77
71
|
const routerContext = await query(remixRequest, {
|
|
78
72
|
requestContext
|
|
79
73
|
});
|
|
80
74
|
const cost = end();
|
|
81
|
-
|
|
82
|
-
serverTiming.addServeTiming(LOADER_REPORTER_NAME, cost);
|
|
75
|
+
(_context_ssrContext1 = context.ssrContext) === null || _context_ssrContext1 === void 0 ? void 0 : (_context_ssrContext_onTiming = _context_ssrContext1.onTiming) === null || _context_ssrContext_onTiming === void 0 ? void 0 : _context_ssrContext_onTiming.call(_context_ssrContext1, LOADER_REPORTER_NAME, cost);
|
|
83
76
|
if (routerContext instanceof Response) {
|
|
84
77
|
return routerContext;
|
|
85
78
|
}
|
|
@@ -91,24 +84,22 @@ const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, creat
|
|
|
91
84
|
context.remixRouter = router;
|
|
92
85
|
context.routerContext = routerContext;
|
|
93
86
|
context.routes = routes;
|
|
94
|
-
context.routeManifest = context.ssrContext.routeManifest;
|
|
95
87
|
return next({
|
|
96
88
|
context
|
|
97
89
|
});
|
|
98
90
|
},
|
|
99
91
|
hoc: ({ App, config }, next) => {
|
|
100
|
-
if (!
|
|
92
|
+
if (!finalRouteConfig) {
|
|
101
93
|
return next({
|
|
102
94
|
App,
|
|
103
95
|
config
|
|
104
96
|
});
|
|
105
97
|
}
|
|
106
98
|
const getRouteApp = () => {
|
|
107
|
-
return (
|
|
99
|
+
return () => {
|
|
108
100
|
const { remixRouter, routerContext, ssrContext } = useContext(RuntimeReactContext);
|
|
109
101
|
const { nonce, mode } = ssrContext;
|
|
110
|
-
return /* @__PURE__ */ _jsxs(
|
|
111
|
-
...props,
|
|
102
|
+
return /* @__PURE__ */ _jsxs(_Fragment, {
|
|
112
103
|
children: [
|
|
113
104
|
/* @__PURE__ */ _jsx(StaticRouterProvider, {
|
|
114
105
|
router: remixRouter,
|
|
@@ -125,12 +116,6 @@ const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, creat
|
|
|
125
116
|
};
|
|
126
117
|
};
|
|
127
118
|
const RouteApp = getRouteApp();
|
|
128
|
-
if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
|
|
129
|
-
return next({
|
|
130
|
-
App: hoistNonReactStatics(RouteApp, routesConfig.globalApp),
|
|
131
|
-
config
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
119
|
return next({
|
|
135
120
|
App: RouteApp,
|
|
136
121
|
config
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRuntimeExportsUtils, getEntryOptions } from "@modern-js/utils";
|
|
2
2
|
const PLUGIN_IDENTIFIER = "state";
|
|
3
3
|
const statePlugin = () => ({
|
|
4
4
|
name: "@modern-js/plugin-state",
|
|
@@ -6,48 +6,18 @@ const statePlugin = () => ({
|
|
|
6
6
|
"@modern-js/runtime"
|
|
7
7
|
],
|
|
8
8
|
setup: (api) => {
|
|
9
|
-
const stateConfigMap = /* @__PURE__ */ new Map();
|
|
10
|
-
let pluginsExportsUtils;
|
|
11
9
|
return {
|
|
12
|
-
|
|
13
|
-
const appContext = api.useAppContext();
|
|
14
|
-
pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
|
|
15
|
-
return {
|
|
16
|
-
source: {
|
|
17
|
-
alias: {
|
|
18
|
-
"@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
},
|
|
23
|
-
modifyEntryImports({ entrypoint, imports }) {
|
|
10
|
+
_internalRuntimePlugins({ entrypoint, plugins }) {
|
|
24
11
|
var _getEntryOptions;
|
|
25
12
|
const { entryName, isMainEntry } = entrypoint;
|
|
26
13
|
const userConfig = api.useResolvedConfigContext();
|
|
27
|
-
const { packageName } = api.useAppContext();
|
|
14
|
+
const { packageName, metaName } = api.useAppContext();
|
|
28
15
|
const stateConfig = (_getEntryOptions = getEntryOptions(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName)) === null || _getEntryOptions === void 0 ? void 0 : _getEntryOptions.state;
|
|
29
|
-
stateConfigMap.set(entryName, stateConfig);
|
|
30
16
|
if (stateConfig) {
|
|
31
|
-
imports.push({
|
|
32
|
-
value: "@modern-js/runtime/plugins",
|
|
33
|
-
specifiers: [
|
|
34
|
-
{
|
|
35
|
-
imported: PLUGIN_IDENTIFIER
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
entrypoint,
|
|
42
|
-
imports
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
modifyEntryRuntimePlugins({ entrypoint, plugins }) {
|
|
46
|
-
const stateOptions = stateConfigMap.get(entrypoint.entryName);
|
|
47
|
-
if (stateOptions) {
|
|
48
17
|
plugins.push({
|
|
49
18
|
name: PLUGIN_IDENTIFIER,
|
|
50
|
-
|
|
19
|
+
path: `@${metaName}/runtime/model`,
|
|
20
|
+
config: typeof stateConfig === "boolean" ? {} : stateConfig
|
|
51
21
|
});
|
|
52
22
|
}
|
|
53
23
|
return {
|
|
@@ -56,7 +26,9 @@ const statePlugin = () => ({
|
|
|
56
26
|
};
|
|
57
27
|
},
|
|
58
28
|
addRuntimeExports() {
|
|
59
|
-
|
|
29
|
+
const { internalDirectory, metaName } = api.useAppContext();
|
|
30
|
+
const pluginsExportsUtils = createRuntimeExportsUtils(internalDirectory, "plugins");
|
|
31
|
+
pluginsExportsUtils.addExport(`export { default as state } from '@${metaName}/runtime/model'`);
|
|
60
32
|
}
|
|
61
33
|
};
|
|
62
34
|
}
|
|
@@ -2,7 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useContext } from "react";
|
|
3
3
|
import { createStore } from "@modern-js-reduck/store";
|
|
4
4
|
import { Provider } from "@modern-js-reduck/react";
|
|
5
|
-
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
6
5
|
import { immer, effects, autoActions, devtools } from "../plugins";
|
|
7
6
|
import { RuntimeReactContext } from "../../core";
|
|
8
7
|
import { isBrowser } from "../../common";
|
|
@@ -30,7 +29,7 @@ const getStoreConfig = (config) => {
|
|
|
30
29
|
storeConfig.plugins = plugins;
|
|
31
30
|
return storeConfig;
|
|
32
31
|
};
|
|
33
|
-
const
|
|
32
|
+
const statePlugin = (config) => ({
|
|
34
33
|
name: "@modern-js/plugin-state",
|
|
35
34
|
setup: () => {
|
|
36
35
|
const storeConfig = getStoreConfig(config);
|
|
@@ -47,7 +46,7 @@ const state = (config) => ({
|
|
|
47
46
|
});
|
|
48
47
|
};
|
|
49
48
|
return next({
|
|
50
|
-
App:
|
|
49
|
+
App: getStateApp,
|
|
51
50
|
config: config2
|
|
52
51
|
});
|
|
53
52
|
},
|
|
@@ -73,8 +72,9 @@ const state = (config) => ({
|
|
|
73
72
|
};
|
|
74
73
|
}
|
|
75
74
|
});
|
|
76
|
-
var plugin_default =
|
|
75
|
+
var plugin_default = statePlugin;
|
|
77
76
|
export * from "../plugins";
|
|
78
77
|
export {
|
|
79
|
-
plugin_default as default
|
|
78
|
+
plugin_default as default,
|
|
79
|
+
statePlugin
|
|
80
80
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Entrypoint } from '@modern-js/types';
|
|
2
|
+
import type { RsbuildPlugin } from '@rsbuild/core';
|
|
3
|
+
export declare const builderPluginAlias: ({ entrypoints, internalDirectory, metaName, }: {
|
|
4
|
+
entrypoints: Entrypoint[];
|
|
5
|
+
internalDirectory: string;
|
|
6
|
+
metaName: string;
|
|
7
|
+
}) => RsbuildPlugin;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AppTools, IAppContext, NormalizedConfig, RuntimePlugin } from '@modern-js/app-tools';
|
|
2
|
+
import { Entrypoint } from '@modern-js/types';
|
|
3
|
+
import type { MaybeAsync } from '@modern-js/plugin';
|
|
4
|
+
export declare const generateCode: (entrypoints: Entrypoint[], appContext: IAppContext, config: NormalizedConfig<AppTools>, onCollectRuntimePlugins: (params: {
|
|
5
|
+
entrypoint: Entrypoint;
|
|
6
|
+
plugins: RuntimePlugin[];
|
|
7
|
+
}) => MaybeAsync<{
|
|
8
|
+
entrypoint: Entrypoint;
|
|
9
|
+
plugins: RuntimePlugin[];
|
|
10
|
+
}>) => Promise<void>;
|
|
@@ -1 +1,8 @@
|
|
|
1
1
|
export declare const APP_FILE_NAME = "App";
|
|
2
|
+
export declare const ENTRY_POINT_FILE_NAME = "index.jsx";
|
|
3
|
+
export declare const SERVER_ENTRY_POINT_FILE_NAME = "index.server.jsx";
|
|
4
|
+
export declare const INDEX_FILE_NAME = "index";
|
|
5
|
+
export declare const ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.jsx";
|
|
6
|
+
export declare const ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME = "runtime-register.js";
|
|
7
|
+
export declare const ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME = "runtime-global-context.js";
|
|
8
|
+
export declare const ENTRY_POINT_REGISTER_FILE_NAME = "register.js";
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { CliPlugin, AppTools } from '@modern-js/app-tools';
|
|
2
|
+
import { statePlugin } from '../state/cli';
|
|
3
|
+
import { routerPlugin } from '../router/cli';
|
|
4
|
+
import { documentPlugin } from '../document/cli';
|
|
5
|
+
import { ssrPlugin } from './ssr';
|
|
2
6
|
export { isRuntimeEntry } from './entry';
|
|
3
|
-
export
|
|
7
|
+
export { statePlugin, ssrPlugin, routerPlugin, documentPlugin };
|
|
8
|
+
export declare const runtimePlugin: (params?: {
|
|
9
|
+
plugins?: CliPlugin<AppTools>[];
|
|
10
|
+
}) => CliPlugin<AppTools>;
|
|
4
11
|
export default runtimePlugin;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { RuntimePlugin } from '@modern-js/app-tools';
|
|
2
|
+
export declare const index: ({ srcDirectory, internalSrcAlias, metaName, entry, entryName, customEntry, customBootstrap, mountId, }: {
|
|
3
|
+
srcDirectory: string;
|
|
4
|
+
internalSrcAlias: string;
|
|
5
|
+
metaName: string;
|
|
6
|
+
entry: string;
|
|
7
|
+
entryName: string;
|
|
8
|
+
customEntry?: boolean | undefined;
|
|
9
|
+
customBootstrap?: string | false | undefined;
|
|
10
|
+
mountId?: string | undefined;
|
|
11
|
+
}) => string;
|
|
12
|
+
export declare const register: () => string;
|
|
13
|
+
export declare const runtimeRegister: ({ entryName, srcDirectory, internalSrcAlias, metaName, runtimeConfigFile, runtimePlugins, }: {
|
|
14
|
+
entryName: string;
|
|
15
|
+
srcDirectory: string;
|
|
16
|
+
internalSrcAlias: string;
|
|
17
|
+
metaName: string;
|
|
18
|
+
runtimeConfigFile: string | false;
|
|
19
|
+
runtimePlugins: RuntimePlugin[];
|
|
20
|
+
}) => string;
|
|
21
|
+
export declare const runtimeGlobalContext: ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry, }: {
|
|
22
|
+
srcDirectory: string;
|
|
23
|
+
internalSrcAlias: string;
|
|
24
|
+
metaName: string;
|
|
25
|
+
entry: string;
|
|
26
|
+
customEntry?: boolean | undefined;
|
|
27
|
+
}) => string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type ServerIndexOptinos = GenHandlerCodeOptions & {
|
|
2
|
+
entryName: string;
|
|
3
|
+
};
|
|
4
|
+
export declare const serverIndex: (options: ServerIndexOptinos) => string;
|
|
5
|
+
type GenHandlerCodeOptions = {
|
|
6
|
+
customServerEntry?: string | false;
|
|
7
|
+
srcDirectory: string;
|
|
8
|
+
internalSrcAlias: string;
|
|
9
|
+
entry: string;
|
|
10
|
+
} & TransformServerEntryOptions;
|
|
11
|
+
type TransformServerEntryOptions = {
|
|
12
|
+
metaName?: string;
|
|
13
|
+
mode: 'string' | 'stream';
|
|
14
|
+
};
|
|
15
|
+
export {};
|
package/dist/types/common.d.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import type { StateConfig } from './state';
|
|
2
|
+
import type { Plugin } from './core/plugin';
|
|
2
3
|
export declare const isBrowser: () => boolean;
|
|
3
4
|
export interface AppConfig {
|
|
4
5
|
state?: StateConfig | boolean;
|
|
5
6
|
[key: string]: any;
|
|
6
7
|
}
|
|
8
|
+
export interface RuntimeConfig {
|
|
9
|
+
state?: StateConfig;
|
|
10
|
+
stateByEntries?: {
|
|
11
|
+
[name: string]: StateConfig;
|
|
12
|
+
};
|
|
13
|
+
plugins?: Plugin[];
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}
|
|
7
16
|
export declare const JSX_SHELL_STREAM_END_MARK = "<!--<?- SHELL_STREAM_END ?>-->";
|
|
8
17
|
export declare const ESCAPED_SHELL_STREAM_END_MARK = "<!--<?- SHELL_STREAM_END ?>-->";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Root } from 'react-dom/client';
|
|
3
|
+
import { RuntimeContext } from '../context';
|
|
4
|
+
export declare const isReact18: () => boolean;
|
|
5
|
+
export declare function hydrateRoot(App: React.ReactElement, context: RuntimeContext, ModernRender: (App: React.ReactElement) => Promise<HTMLElement | Root>, ModernHydrate: (App: React.ReactElement, callback?: () => void) => Promise<HTMLElement | Root>): Promise<HTMLElement | Root>;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import { AppConfig } from '../common';
|
|
3
|
-
import { Plugin } from './plugin';
|
|
2
|
+
import { AppConfig, RuntimeConfig } from '../common';
|
|
4
3
|
export declare const getConfig: (Component: React.ComponentType<any>) => AppConfig | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated
|
|
6
|
+
* define config in modern.runtime.ts file
|
|
7
|
+
*/
|
|
5
8
|
export declare const defineConfig: (Component: React.ComponentType<any>, config: AppConfig) => React.ComponentType<any>;
|
|
6
|
-
interface RuntimeConfig {
|
|
7
|
-
plugins: Plugin[];
|
|
8
|
-
}
|
|
9
9
|
/**
|
|
10
10
|
* This function helps you to autocomplete configuration types.
|
|
11
11
|
* It accepts a direct config object, or a function that returns a config.
|
|
12
12
|
*/
|
|
13
13
|
export declare const defineRuntimeConfig: (config: RuntimeConfig) => RuntimeConfig;
|
|
14
|
-
export {};
|
|
@@ -1 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { NestedRoute, PageRoute } from '@modern-js/types';
|
|
3
|
+
import { AppConfig } from '../../common';
|
|
4
|
+
export { RuntimeReactContext, type RuntimeContext } from './runtime';
|
|
5
|
+
interface GlobalContext {
|
|
6
|
+
/**
|
|
7
|
+
* App.tsx export default component
|
|
8
|
+
*/
|
|
9
|
+
App?: React.ComponentType;
|
|
10
|
+
/**
|
|
11
|
+
* nest router and page router config
|
|
12
|
+
*/
|
|
13
|
+
routes?: (NestedRoute | PageRoute)[];
|
|
14
|
+
/**
|
|
15
|
+
* nest router init function
|
|
16
|
+
*/
|
|
17
|
+
appInit?: () => Promise<unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* nest router config function
|
|
20
|
+
*/
|
|
21
|
+
appConfig?: AppConfig;
|
|
22
|
+
/**
|
|
23
|
+
* page router _app.tsx export layout app
|
|
24
|
+
*/
|
|
25
|
+
layoutApp?: React.ComponentType;
|
|
26
|
+
}
|
|
27
|
+
export declare function setGlobalContext(context: Omit<GlobalContext, 'appConfig'> & {
|
|
28
|
+
appConfig: () => AppConfig;
|
|
29
|
+
}): void;
|
|
30
|
+
export declare function getGlobalApp(): import("react").ComponentType<{}> | undefined;
|
|
31
|
+
export declare function getGlobalRoutes(): undefined | (NestedRoute | PageRoute)[];
|
|
32
|
+
export declare function getGlobalAppInit(): any;
|
|
33
|
+
export declare function getGlobalAppConfig(): any;
|
|
34
|
+
export declare function getGlobalLayoutApp(): import("react").ComponentType<{}> | undefined;
|
|
@@ -4,7 +4,7 @@ import { type StaticHandlerContext, type Router, type RouterState } from '@moder
|
|
|
4
4
|
import { createLoaderManager } from '../loader/loaderManager';
|
|
5
5
|
import { PluginRunner, runtime } from '../plugin';
|
|
6
6
|
import { RouteManifest } from '../../router/runtime/types';
|
|
7
|
-
import { SSRServerContext } from '
|
|
7
|
+
import { SSRServerContext } from '../types';
|
|
8
8
|
export interface BaseRuntimeContext {
|
|
9
9
|
initialData?: Record<string, unknown>;
|
|
10
10
|
loaderManager: ReturnType<typeof createLoaderManager>;
|
|
@@ -40,4 +40,4 @@ export interface BaseTRuntimeContext {
|
|
|
40
40
|
export interface TRuntimeContext extends BaseTRuntimeContext {
|
|
41
41
|
[key: string]: any;
|
|
42
42
|
}
|
|
43
|
-
export declare const getInitialContext: (runner: PluginRunner) => RuntimeContext;
|
|
43
|
+
export declare const getInitialContext: (runner: PluginRunner, isBrowser?: boolean, routeManifest?: RouteManifest) => RuntimeContext;
|