@modern-js/runtime 2.15.1-alpha.2 → 2.16.1-alpha.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/CHANGELOG.md +19 -0
- package/dist/cjs/cli/index.js +32 -48
- package/dist/cjs/common.js +13 -27
- package/dist/cjs/config.js +4 -15
- package/dist/cjs/core/appConfig.js +13 -26
- package/dist/cjs/core/compatible.js +170 -158
- package/dist/cjs/core/index.js +38 -45
- package/dist/cjs/core/loader/index.js +12 -35
- package/dist/cjs/core/loader/loaderManager.js +42 -56
- package/dist/cjs/core/loader/useLoader.js +80 -105
- package/dist/cjs/core/plugin.js +28 -40
- package/dist/cjs/core/types.js +4 -15
- package/dist/cjs/document/Body.js +61 -37
- package/dist/cjs/document/Comment.js +22 -32
- package/dist/cjs/document/DocumentContext.js +14 -37
- package/dist/cjs/document/DocumentStructureContext.js +14 -37
- package/dist/cjs/document/Head.js +71 -40
- package/dist/cjs/document/Html.js +46 -58
- package/dist/cjs/document/Links.js +18 -28
- package/dist/cjs/document/Root.js +73 -44
- package/dist/cjs/document/Script.js +22 -32
- package/dist/cjs/document/Scripts.js +18 -28
- package/dist/cjs/document/cli/index.js +161 -207
- package/dist/cjs/document/constants.js +36 -75
- package/dist/cjs/document/index.js +28 -27
- package/dist/cjs/exports/head.js +27 -37
- package/dist/cjs/exports/loadable.js +27 -37
- package/dist/cjs/exports/server.js +7 -25
- package/dist/cjs/exports/styled.js +27 -37
- package/dist/cjs/index.js +22 -42
- package/dist/cjs/router/cli/index.js +91 -114
- package/dist/cjs/router/index.js +32 -39
- package/dist/cjs/router/runtime/DefaultNotFound.js +23 -38
- package/dist/cjs/router/runtime/DeferredDataScripts.js +8 -24
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +69 -112
- package/dist/cjs/router/runtime/PrefetchLink.js +117 -96
- package/dist/cjs/router/runtime/fetch.js +7 -25
- package/dist/cjs/router/runtime/fetch.node.js +7 -25
- package/dist/cjs/router/runtime/fetch.worker.js +7 -25
- package/dist/cjs/router/runtime/hooks.js +8 -26
- package/dist/cjs/router/runtime/index.js +97 -149
- package/dist/cjs/router/runtime/plugin.js +56 -76
- package/dist/cjs/router/runtime/plugin.node.js +95 -74
- package/dist/cjs/router/runtime/server.js +18 -17
- package/dist/cjs/router/runtime/types.js +4 -15
- package/dist/cjs/router/runtime/utils.js +57 -83
- package/dist/cjs/router/runtime/withRouter.js +24 -39
- package/dist/cjs/runtimeContext.js +14 -27
- package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +75 -59
- package/dist/cjs/ssr/cli/index.js +120 -150
- package/dist/cjs/ssr/index.js +149 -132
- package/dist/cjs/ssr/index.node.js +73 -74
- package/dist/cjs/ssr/prefetch.js +51 -59
- package/dist/cjs/ssr/react/index.js +15 -28
- package/dist/cjs/ssr/react/nossr/index.js +51 -43
- package/dist/cjs/ssr/react/prerender/index.js +93 -59
- package/dist/cjs/ssr/react/prerender/type.js +4 -15
- package/dist/cjs/ssr/react/prerender/util.js +32 -51
- package/dist/cjs/ssr/react/withCallback/index.js +53 -29
- package/dist/cjs/ssr/serverRender/helmet.js +15 -26
- package/dist/cjs/ssr/serverRender/index.js +14 -32
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +15 -34
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +12 -28
- package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +28 -55
- package/dist/cjs/ssr/serverRender/renderToStream/index.js +23 -48
- package/dist/cjs/ssr/serverRender/renderToStream/loadable.js +13 -32
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +33 -64
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +26 -54
- package/dist/cjs/ssr/serverRender/renderToStream/styledComponent.js +9 -27
- package/dist/cjs/ssr/serverRender/renderToStream/template.js +11 -32
- package/dist/cjs/ssr/serverRender/renderToStream/type.js +4 -15
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +133 -99
- package/dist/cjs/ssr/serverRender/renderToString/index.js +21 -48
- package/dist/cjs/ssr/serverRender/renderToString/loadable.js +20 -45
- package/dist/cjs/ssr/serverRender/renderToString/reduce.js +13 -25
- package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +9 -27
- package/dist/cjs/ssr/serverRender/renderToString/template.js +42 -37
- package/dist/cjs/ssr/serverRender/renderToString/type.js +10 -28
- package/dist/cjs/ssr/serverRender/time.js +7 -25
- package/dist/cjs/ssr/serverRender/time.worker.js +11 -26
- package/dist/cjs/ssr/serverRender/types.js +7 -25
- package/dist/cjs/ssr/serverRender/utils.js +12 -27
- package/dist/cjs/ssr/utils.js +26 -51
- package/dist/cjs/state/cli/index.js +71 -95
- package/dist/cjs/state/index.js +32 -39
- package/dist/cjs/state/plugins.js +26 -46
- package/dist/cjs/state/runtime/index.js +27 -37
- package/dist/cjs/state/runtime/plugin.js +82 -84
- package/dist/cjs/state/types.js +4 -15
- package/dist/esm/cli/index.js +184 -176
- package/dist/esm/common.js +4 -5
- package/dist/esm/config.js +1 -1
- package/dist/esm/core/appConfig.js +8 -7
- package/dist/esm/core/compatible.js +470 -448
- package/dist/esm/core/index.js +3 -4
- package/dist/esm/core/loader/index.js +1 -2
- package/dist/esm/core/loader/loaderManager.js +391 -366
- package/dist/esm/core/loader/useLoader.js +173 -162
- package/dist/esm/core/plugin.js +162 -155
- package/dist/esm/core/types.js +1 -1
- package/dist/esm/document/Body.js +12 -13
- package/dist/esm/document/Comment.js +11 -12
- package/dist/esm/document/DocumentContext.js +4 -5
- package/dist/esm/document/DocumentStructureContext.js +6 -7
- package/dist/esm/document/Head.js +16 -17
- package/dist/esm/document/Html.js +84 -85
- package/dist/esm/document/Links.js +5 -6
- package/dist/esm/document/Root.js +20 -21
- package/dist/esm/document/Script.js +12 -13
- package/dist/esm/document/Scripts.js +5 -6
- package/dist/esm/document/cli/index.js +390 -371
- package/dist/esm/document/constants.js +33 -34
- package/dist/esm/exports/head.js +1 -2
- package/dist/esm/exports/loadable.js +1 -2
- package/dist/esm/exports/server.js +2 -3
- package/dist/esm/exports/styled.js +1 -2
- package/dist/esm/index.js +2 -3
- package/dist/esm/router/cli/index.js +141 -141
- package/dist/esm/router/index.js +2 -3
- package/dist/esm/router/runtime/DefaultNotFound.js +12 -13
- package/dist/esm/router/runtime/DeferredDataScripts.js +4 -4
- package/dist/esm/router/runtime/DeferredDataScripts.node.js +154 -143
- package/dist/esm/router/runtime/PrefetchLink.js +418 -394
- package/dist/esm/router/runtime/fetch.js +2 -1
- package/dist/esm/router/runtime/fetch.worker.js +2 -1
- package/dist/esm/router/runtime/index.js +62 -9
- package/dist/esm/router/runtime/plugin.js +141 -142
- package/dist/esm/router/runtime/plugin.node.js +372 -353
- package/dist/esm/router/runtime/types.js +1 -1
- package/dist/esm/router/runtime/utils.js +295 -279
- package/dist/esm/router/runtime/withRouter.js +57 -58
- package/dist/esm/runtimeContext.js +2 -3
- package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +105 -118
- package/dist/esm/ssr/cli/index.js +146 -146
- package/dist/esm/ssr/index.js +303 -297
- package/dist/esm/ssr/index.node.js +227 -221
- package/dist/esm/ssr/prefetch.js +192 -186
- package/dist/esm/ssr/react/index.js +2 -3
- package/dist/esm/ssr/react/nossr/index.js +58 -47
- package/dist/esm/ssr/react/prerender/index.js +214 -206
- package/dist/esm/ssr/react/prerender/type.js +1 -1
- package/dist/esm/ssr/react/prerender/util.js +91 -92
- package/dist/esm/ssr/react/withCallback/index.js +13 -14
- package/dist/esm/ssr/serverRender/helmet.js +34 -35
- package/dist/esm/ssr/serverRender/index.js +167 -160
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +58 -59
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -6
- package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +106 -93
- package/dist/esm/ssr/serverRender/renderToStream/index.js +157 -151
- package/dist/esm/ssr/serverRender/renderToStream/loadable.js +17 -18
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +117 -117
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +286 -279
- package/dist/esm/ssr/serverRender/renderToStream/styledComponent.js +8 -9
- package/dist/esm/ssr/serverRender/renderToStream/template.js +62 -51
- package/dist/esm/ssr/serverRender/renderToStream/type.js +1 -1
- package/dist/esm/ssr/serverRender/renderToString/entry.js +393 -383
- package/dist/esm/ssr/serverRender/renderToString/index.js +158 -152
- package/dist/esm/ssr/serverRender/renderToString/loadable.js +46 -47
- package/dist/esm/ssr/serverRender/renderToString/reduce.js +7 -8
- package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +6 -7
- package/dist/esm/ssr/serverRender/renderToString/template.js +142 -128
- package/dist/esm/ssr/serverRender/renderToString/type.js +6 -7
- package/dist/esm/ssr/serverRender/time.js +57 -46
- package/dist/esm/ssr/serverRender/time.worker.js +72 -61
- package/dist/esm/ssr/serverRender/utils.js +14 -15
- package/dist/esm/ssr/utils.js +128 -117
- package/dist/esm/state/cli/index.js +67 -67
- package/dist/esm/state/index.js +2 -3
- package/dist/esm/state/plugins.js +7 -8
- package/dist/esm/state/runtime/index.js +1 -2
- package/dist/esm/state/runtime/plugin.js +177 -166
- package/dist/esm/state/types.js +1 -1
- package/dist/esm-node/cli/index.js +11 -9
- package/dist/esm-node/common.js +3 -8
- package/dist/esm-node/config.js +1 -0
- package/dist/esm-node/core/appConfig.js +2 -6
- package/dist/esm-node/core/compatible.js +104 -120
- package/dist/esm-node/core/index.js +3 -13
- package/dist/esm-node/core/loader/index.js +1 -4
- package/dist/esm-node/core/loader/loaderManager.js +25 -25
- package/dist/esm-node/core/loader/useLoader.js +60 -74
- package/dist/esm-node/core/plugin.js +9 -15
- package/dist/esm-node/core/types.js +1 -0
- package/dist/esm-node/document/Body.js +11 -15
- package/dist/esm-node/document/Comment.js +10 -14
- package/dist/esm-node/document/DocumentContext.js +1 -4
- package/dist/esm-node/document/DocumentStructureContext.js +1 -4
- package/dist/esm-node/document/Head.js +14 -14
- package/dist/esm-node/document/Html.js +31 -34
- package/dist/esm-node/document/Links.js +5 -6
- package/dist/esm-node/document/Root.js +19 -21
- package/dist/esm-node/document/Script.js +10 -14
- package/dist/esm-node/document/Scripts.js +5 -6
- package/dist/esm-node/document/cli/index.js +136 -184
- package/dist/esm-node/document/constants.js +22 -52
- package/dist/esm-node/exports/head.js +1 -4
- package/dist/esm-node/exports/loadable.js +1 -4
- package/dist/esm-node/exports/server.js +1 -4
- package/dist/esm-node/exports/styled.js +1 -4
- package/dist/esm-node/index.js +2 -22
- package/dist/esm-node/router/cli/index.js +83 -98
- package/dist/esm-node/router/index.js +2 -6
- package/dist/esm-node/router/runtime/DefaultNotFound.js +11 -17
- package/dist/esm-node/router/runtime/DeferredDataScripts.js +1 -4
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +51 -85
- package/dist/esm-node/router/runtime/PrefetchLink.js +53 -59
- package/dist/esm-node/router/runtime/fetch.js +1 -3
- package/dist/esm-node/router/runtime/fetch.node.js +1 -3
- package/dist/esm-node/router/runtime/fetch.worker.js +1 -3
- package/dist/esm-node/router/runtime/hooks.js +1 -3
- package/dist/esm-node/router/runtime/index.js +10 -69
- package/dist/esm-node/router/runtime/plugin.js +27 -41
- package/dist/esm-node/router/runtime/plugin.node.js +24 -32
- package/dist/esm-node/router/runtime/types.js +1 -0
- package/dist/esm-node/router/runtime/utils.js +34 -50
- package/dist/esm-node/router/runtime/withRouter.js +8 -14
- package/dist/esm-node/runtimeContext.js +2 -6
- package/dist/esm-node/ssr/cli/babel-plugin-ssr-loader-id.js +99 -119
- package/dist/esm-node/ssr/cli/index.js +106 -125
- package/dist/esm-node/ssr/index.js +112 -96
- package/dist/esm-node/ssr/index.node.js +39 -39
- package/dist/esm-node/ssr/prefetch.js +40 -35
- package/dist/esm-node/ssr/react/index.js +2 -6
- package/dist/esm-node/ssr/react/nossr/index.js +2 -9
- package/dist/esm-node/ssr/react/prerender/index.js +32 -23
- package/dist/esm-node/ssr/react/prerender/type.js +1 -0
- package/dist/esm-node/ssr/react/prerender/util.js +23 -33
- package/dist/esm-node/ssr/react/withCallback/index.js +4 -5
- package/dist/esm-node/ssr/serverRender/helmet.js +2 -5
- package/dist/esm-node/ssr/serverRender/index.js +5 -10
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +3 -10
- package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -17
- package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -7
- package/dist/esm-node/ssr/serverRender/renderToStream/loadable.js +4 -8
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +21 -39
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +16 -31
- package/dist/esm-node/ssr/serverRender/renderToStream/styledComponent.js +1 -4
- package/dist/esm-node/ssr/serverRender/renderToStream/template.js +2 -8
- package/dist/esm-node/ssr/serverRender/renderToStream/type.js +1 -0
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +50 -39
- package/dist/esm-node/ssr/serverRender/renderToString/index.js +1 -8
- package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +8 -18
- package/dist/esm-node/ssr/serverRender/renderToString/reduce.js +1 -4
- package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +1 -4
- package/dist/esm-node/ssr/serverRender/renderToString/template.js +32 -18
- package/dist/esm-node/ssr/serverRender/renderToString/type.js +3 -6
- package/dist/esm-node/ssr/serverRender/time.js +1 -4
- package/dist/esm-node/ssr/serverRender/time.worker.js +5 -5
- package/dist/esm-node/ssr/serverRender/types.js +1 -3
- package/dist/esm-node/ssr/serverRender/utils.js +4 -10
- package/dist/esm-node/ssr/utils.js +8 -19
- package/dist/esm-node/state/cli/index.js +63 -78
- package/dist/esm-node/state/index.js +2 -6
- package/dist/esm-node/state/plugins.js +4 -10
- package/dist/esm-node/state/runtime/index.js +1 -4
- package/dist/esm-node/state/runtime/plugin.js +47 -44
- package/dist/esm-node/state/types.js +1 -0
- package/dist/types/router/runtime/index.d.ts +1 -1
- package/package.json +14 -10
- package/types/model.d.ts +1 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React, { useContext, useMemo } from "react";
|
|
3
3
|
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
4
4
|
import { ROUTE_MANIFEST } from "@modern-js/utils/universal/constants";
|
|
5
|
-
import {
|
|
6
|
-
RuntimeReactContext
|
|
7
|
-
} from "../runtimeContext";
|
|
5
|
+
import { RuntimeReactContext } from "../runtimeContext";
|
|
8
6
|
import { runtime } from "./plugin";
|
|
9
7
|
import { createLoaderManager } from "./loader/loaderManager";
|
|
10
8
|
const IS_REACT18 = process.env.IS_REACT18 === "true";
|
|
@@ -18,110 +16,116 @@ const getInitialContext = (runner) => ({
|
|
|
18
16
|
isBrowser: true,
|
|
19
17
|
routeManifest: typeof window !== "undefined" && window[ROUTE_MANIFEST]
|
|
20
18
|
});
|
|
21
|
-
const createApp = ({
|
|
22
|
-
plugins,
|
|
23
|
-
props: globalProps
|
|
24
|
-
}) => {
|
|
19
|
+
export const createApp = ({ plugins, props: globalProps }) => {
|
|
25
20
|
const appRuntime = runtime.clone();
|
|
26
21
|
appRuntime.usePlugin(...plugins);
|
|
27
22
|
return (App) => {
|
|
28
23
|
const runner = appRuntime.init();
|
|
29
24
|
const WrapperComponent = (props) => {
|
|
30
|
-
var
|
|
31
|
-
const element = React.createElement(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
})
|
|
38
|
-
);
|
|
25
|
+
var _props_children;
|
|
26
|
+
const element = /* @__PURE__ */ React.createElement(App || React.Fragment, App ? {
|
|
27
|
+
...props
|
|
28
|
+
} : null, App ? props.children : /* @__PURE__ */ React.cloneElement(props.children, {
|
|
29
|
+
...(_props_children = props.children) === null || _props_children === void 0 ? void 0 : _props_children.props,
|
|
30
|
+
...props
|
|
31
|
+
}));
|
|
39
32
|
const context = useContext(RuntimeReactContext);
|
|
40
|
-
return runner.provide(
|
|
41
|
-
|
|
42
|
-
{
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
33
|
+
return runner.provide({
|
|
34
|
+
element,
|
|
35
|
+
props: {
|
|
36
|
+
...props
|
|
37
|
+
},
|
|
38
|
+
context
|
|
39
|
+
}, {
|
|
40
|
+
onLast: ({ element: element2 }) => element2
|
|
41
|
+
});
|
|
46
42
|
};
|
|
47
43
|
if (App) {
|
|
48
44
|
hoistNonReactStatics(WrapperComponent, App);
|
|
49
45
|
}
|
|
50
|
-
const HOCApp = runner.hoc(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
46
|
+
const HOCApp = runner.hoc({
|
|
47
|
+
App: WrapperComponent
|
|
48
|
+
}, {
|
|
49
|
+
onLast: ({ App: App2 }) => {
|
|
50
|
+
const WrapComponent = ({ context, ...props }) => {
|
|
51
|
+
let contextValue = context;
|
|
52
|
+
if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
|
|
53
|
+
contextValue = getInitialContext(runner);
|
|
54
|
+
runner.init({
|
|
55
|
+
context: contextValue
|
|
56
|
+
}, {
|
|
57
|
+
onLast: ({ context: context1 }) => {
|
|
58
|
+
var _App_init;
|
|
59
|
+
return App2 === null || App2 === void 0 ? void 0 : (_App_init = App2.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App2, context1);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
const mergedProps = {
|
|
64
|
+
...props,
|
|
65
|
+
...globalProps
|
|
70
66
|
};
|
|
71
|
-
return
|
|
72
|
-
|
|
67
|
+
return /* @__PURE__ */ _jsx(RuntimeReactContext.Provider, {
|
|
68
|
+
value: contextValue,
|
|
69
|
+
children: /* @__PURE__ */ _jsx(App2, {
|
|
70
|
+
...mergedProps
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
return hoistNonReactStatics(WrapComponent, App2);
|
|
73
75
|
}
|
|
74
|
-
);
|
|
76
|
+
});
|
|
75
77
|
runnerMap.set(HOCApp, runner);
|
|
76
78
|
return HOCApp;
|
|
77
79
|
};
|
|
78
80
|
};
|
|
79
|
-
const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
80
|
-
var _a, _b;
|
|
81
|
+
export const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
81
82
|
let App = BootApp;
|
|
82
83
|
let runner = runnerMap.get(App);
|
|
83
84
|
if (!runner) {
|
|
84
|
-
App = createApp({
|
|
85
|
+
App = createApp({
|
|
86
|
+
plugins: []
|
|
87
|
+
})(App);
|
|
85
88
|
runner = runnerMap.get(App);
|
|
86
89
|
}
|
|
87
90
|
const context = getInitialContext(runner);
|
|
88
|
-
const runInit = (_context) =>
|
|
89
|
-
{
|
|
90
|
-
|
|
91
|
+
const runInit = (_context) => {
|
|
92
|
+
return runner.init({
|
|
93
|
+
context: _context
|
|
94
|
+
}, {
|
|
91
95
|
onLast: ({ context: context1 }) => {
|
|
92
|
-
var
|
|
93
|
-
return
|
|
96
|
+
var _App_init;
|
|
97
|
+
return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
|
|
94
98
|
}
|
|
95
|
-
}
|
|
96
|
-
|
|
99
|
+
});
|
|
100
|
+
};
|
|
97
101
|
if (!id) {
|
|
98
|
-
return React.createElement(App, {
|
|
102
|
+
return /* @__PURE__ */ React.createElement(App, {
|
|
99
103
|
context
|
|
100
104
|
});
|
|
101
105
|
}
|
|
102
106
|
const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
|
|
103
107
|
if (isBrowser) {
|
|
104
108
|
if (isClientArgs(id)) {
|
|
109
|
+
var _ssrData_data, _ssrData_data1;
|
|
105
110
|
const ssrData = window._SSR_DATA;
|
|
106
|
-
const loadersData = (
|
|
107
|
-
const initialLoadersState = Object.keys(loadersData).reduce(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (loaderData.loading !== false) {
|
|
111
|
-
return res;
|
|
112
|
-
}
|
|
113
|
-
res[key] = loaderData;
|
|
111
|
+
const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
112
|
+
const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
|
|
113
|
+
const loaderData = loadersData[key];
|
|
114
|
+
if (loaderData.loading !== false) {
|
|
114
115
|
return res;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
}
|
|
117
|
+
res[key] = loaderData;
|
|
118
|
+
return res;
|
|
119
|
+
}, {});
|
|
118
120
|
Object.assign(context, {
|
|
119
121
|
loaderManager: createLoaderManager(initialLoadersState, {
|
|
120
122
|
skipStatic: true
|
|
121
123
|
}),
|
|
122
|
-
...ssrData ? {
|
|
124
|
+
...ssrData ? {
|
|
125
|
+
ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
|
|
126
|
+
} : {}
|
|
123
127
|
});
|
|
124
|
-
context.initialData =
|
|
128
|
+
context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
|
|
125
129
|
const initialData = await runInit(context);
|
|
126
130
|
if (initialData) {
|
|
127
131
|
context.initialData = initialData;
|
|
@@ -137,15 +141,11 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
137
141
|
} else if (ReactDOM.createRoot) {
|
|
138
142
|
ReactDOM.createRoot(rootElement).render(App2);
|
|
139
143
|
} else {
|
|
140
|
-
throw Error(
|
|
141
|
-
"The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method"
|
|
142
|
-
);
|
|
144
|
+
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method");
|
|
143
145
|
}
|
|
144
146
|
} else {
|
|
145
147
|
if (!ReactDOM.render) {
|
|
146
|
-
throw Error(
|
|
147
|
-
"The `bootstrap` `ReactDOM` parameter needs to provide the `render` method"
|
|
148
|
-
);
|
|
148
|
+
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `render` method");
|
|
149
149
|
}
|
|
150
150
|
ReactDOM.render(App2, rootElement);
|
|
151
151
|
}
|
|
@@ -153,50 +153,40 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
153
153
|
const ModernHydrate = (App2, callback) => {
|
|
154
154
|
if (IS_REACT18) {
|
|
155
155
|
if (!ReactDOM.hydrateRoot) {
|
|
156
|
-
throw Error(
|
|
157
|
-
"The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method"
|
|
158
|
-
);
|
|
156
|
+
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method");
|
|
159
157
|
}
|
|
160
158
|
ReactDOM.hydrateRoot(rootElement, App2);
|
|
161
159
|
} else {
|
|
162
160
|
if (!ReactDOM.hydrate) {
|
|
163
|
-
throw Error(
|
|
164
|
-
"The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method"
|
|
165
|
-
);
|
|
161
|
+
throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
|
|
166
162
|
}
|
|
167
163
|
ReactDOM.hydrate(App2, rootElement, callback);
|
|
168
164
|
}
|
|
169
165
|
};
|
|
170
|
-
return runner.client(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
166
|
+
return runner.client({
|
|
167
|
+
App,
|
|
168
|
+
context,
|
|
169
|
+
ModernRender,
|
|
170
|
+
ModernHydrate
|
|
171
|
+
}, {
|
|
172
|
+
onLast: ({ App: App2 }) => {
|
|
173
|
+
ModernRender(/* @__PURE__ */ React.createElement(App2, {
|
|
174
|
+
context
|
|
175
|
+
}));
|
|
181
176
|
}
|
|
182
|
-
);
|
|
177
|
+
});
|
|
183
178
|
} else {
|
|
184
|
-
throw Error(
|
|
185
|
-
"`bootstrap` needs id in browser environment, it needs to be string or element"
|
|
186
|
-
);
|
|
179
|
+
throw Error("`bootstrap` needs id in browser environment, it needs to be string or element");
|
|
187
180
|
}
|
|
188
181
|
} else {
|
|
189
182
|
Object.assign(context, {
|
|
190
183
|
ssrContext: id,
|
|
191
184
|
isBrowser: false,
|
|
192
|
-
loaderManager: createLoaderManager(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
|
|
198
|
-
}
|
|
199
|
-
)
|
|
185
|
+
loaderManager: createLoaderManager({}, {
|
|
186
|
+
skipNonStatic: id.staticGenerate,
|
|
187
|
+
// if not static generate, only non-static loader can exec on prod env
|
|
188
|
+
skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
|
|
189
|
+
})
|
|
200
190
|
});
|
|
201
191
|
const isRedirectResponse = (result) => {
|
|
202
192
|
if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
|
|
@@ -225,21 +215,15 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
225
215
|
}
|
|
226
216
|
}
|
|
227
217
|
};
|
|
228
|
-
const useRuntimeContext = () => {
|
|
218
|
+
export const useRuntimeContext = () => {
|
|
229
219
|
const context = useContext(RuntimeReactContext);
|
|
230
|
-
const memoizedContext = useMemo(
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
);
|
|
220
|
+
const memoizedContext = useMemo(() => context.runner.pickContext({
|
|
221
|
+
context,
|
|
222
|
+
pickedContext: {}
|
|
223
|
+
}, {
|
|
224
|
+
onLast: ({ pickedContext }) => pickedContext
|
|
225
|
+
}), [
|
|
226
|
+
context
|
|
227
|
+
]);
|
|
239
228
|
return memoizedContext;
|
|
240
229
|
};
|
|
241
|
-
export {
|
|
242
|
-
bootstrap,
|
|
243
|
-
createApp,
|
|
244
|
-
useRuntimeContext
|
|
245
|
-
};
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export { createPlugin, createRuntime, runtime, registerInit } from "./plugin";
|
|
2
|
+
export { defineConfig, getConfig } from "./appConfig";
|
|
3
3
|
export * from "./compatible";
|
|
4
|
-
|
|
4
|
+
export { RuntimeReactContext, ServerRouterContext } from "../runtimeContext";
|
|
5
5
|
export * from "./loader";
|
|
6
6
|
export * from "@modern-js/plugin";
|
|
7
|
-
export {
|
|
8
|
-
RuntimeReactContext,
|
|
9
|
-
ServerRouterContext,
|
|
10
|
-
createPlugin,
|
|
11
|
-
createRuntime,
|
|
12
|
-
defineConfig,
|
|
13
|
-
getConfig,
|
|
14
|
-
registerInit,
|
|
15
|
-
runtime
|
|
16
|
-
};
|
|
@@ -12,13 +12,13 @@ const createGetId = () => {
|
|
|
12
12
|
return id;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
var LoaderStatus
|
|
15
|
+
export var LoaderStatus;
|
|
16
|
+
(function(LoaderStatus2) {
|
|
16
17
|
LoaderStatus2[LoaderStatus2["idle"] = 0] = "idle";
|
|
17
18
|
LoaderStatus2[LoaderStatus2["loading"] = 1] = "loading";
|
|
18
19
|
LoaderStatus2[LoaderStatus2["fulfilled"] = 2] = "fulfilled";
|
|
19
20
|
LoaderStatus2[LoaderStatus2["rejected"] = 3] = "rejected";
|
|
20
|
-
|
|
21
|
-
})(LoaderStatus || {});
|
|
21
|
+
})(LoaderStatus || (LoaderStatus = {}));
|
|
22
22
|
const createLoader = (id, initialData = {
|
|
23
23
|
loading: false,
|
|
24
24
|
reloading: false,
|
|
@@ -26,7 +26,7 @@ const createLoader = (id, initialData = {
|
|
|
26
26
|
error: void 0
|
|
27
27
|
}, loaderFn, skip = false) => {
|
|
28
28
|
let promise;
|
|
29
|
-
let status =
|
|
29
|
+
let status = LoaderStatus.idle;
|
|
30
30
|
let { data, error } = initialData;
|
|
31
31
|
let hasLoaded = false;
|
|
32
32
|
const handlers = /* @__PURE__ */ new Set();
|
|
@@ -34,19 +34,19 @@ const createLoader = (id, initialData = {
|
|
|
34
34
|
if (skip) {
|
|
35
35
|
return promise;
|
|
36
36
|
}
|
|
37
|
-
if (status ===
|
|
37
|
+
if (status === LoaderStatus.loading) {
|
|
38
38
|
return promise;
|
|
39
39
|
}
|
|
40
|
-
status =
|
|
40
|
+
status = LoaderStatus.loading;
|
|
41
41
|
notify();
|
|
42
42
|
promise = loaderFn().then((value) => {
|
|
43
43
|
data = value;
|
|
44
44
|
error = null;
|
|
45
|
-
status =
|
|
45
|
+
status = LoaderStatus.fulfilled;
|
|
46
46
|
}).catch((e) => {
|
|
47
47
|
error = e;
|
|
48
48
|
data = null;
|
|
49
|
-
status =
|
|
49
|
+
status = LoaderStatus.rejected;
|
|
50
50
|
}).finally(() => {
|
|
51
51
|
promise = null;
|
|
52
52
|
hasLoaded = true;
|
|
@@ -55,15 +55,17 @@ const createLoader = (id, initialData = {
|
|
|
55
55
|
return promise;
|
|
56
56
|
};
|
|
57
57
|
const getResult = () => ({
|
|
58
|
-
loading: !hasLoaded && status ===
|
|
59
|
-
reloading: hasLoaded && status ===
|
|
58
|
+
loading: !hasLoaded && status === LoaderStatus.loading,
|
|
59
|
+
reloading: hasLoaded && status === LoaderStatus.loading,
|
|
60
60
|
data,
|
|
61
61
|
error: error instanceof Error ? `${error.message}` : error,
|
|
62
62
|
// redundant fields for ssr log
|
|
63
63
|
_error: error
|
|
64
64
|
});
|
|
65
65
|
const notify = () => {
|
|
66
|
-
[
|
|
66
|
+
[
|
|
67
|
+
...handlers
|
|
68
|
+
].forEach((handler) => {
|
|
67
69
|
handler(status, getResult());
|
|
68
70
|
});
|
|
69
71
|
};
|
|
@@ -84,7 +86,7 @@ const createLoader = (id, initialData = {
|
|
|
84
86
|
load
|
|
85
87
|
};
|
|
86
88
|
};
|
|
87
|
-
const createLoaderManager = (initialDataMap, managerOptions = {}) => {
|
|
89
|
+
export const createLoaderManager = (initialDataMap, managerOptions = {}) => {
|
|
88
90
|
const { skipStatic = false, skipNonStatic = false } = managerOptions;
|
|
89
91
|
const loadersMap = /* @__PURE__ */ new Map();
|
|
90
92
|
const getId = createGetId();
|
|
@@ -98,7 +100,9 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
|
|
|
98
100
|
const skipExec = ignoreNonStatic || ignoreStatic;
|
|
99
101
|
loader = createLoader(
|
|
100
102
|
id,
|
|
101
|
-
typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : {
|
|
103
|
+
typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : {
|
|
104
|
+
data: loaderOptions.initialData
|
|
105
|
+
},
|
|
102
106
|
loaderFn,
|
|
103
107
|
// Todo whether static loader is exec when CSR
|
|
104
108
|
skipExec
|
|
@@ -122,17 +126,17 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
|
|
|
122
126
|
for (const [id, loader] of loadersMap) {
|
|
123
127
|
const { promise } = loader;
|
|
124
128
|
if (promise instanceof Promise) {
|
|
125
|
-
pendingLoaders.push([
|
|
129
|
+
pendingLoaders.push([
|
|
130
|
+
id,
|
|
131
|
+
loader
|
|
132
|
+
]);
|
|
126
133
|
}
|
|
127
134
|
}
|
|
128
135
|
await Promise.all(pendingLoaders.map((item) => item[1].promise));
|
|
129
|
-
return pendingLoaders.reduce(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
},
|
|
134
|
-
{}
|
|
135
|
-
);
|
|
136
|
+
return pendingLoaders.reduce((res, [id, loader]) => {
|
|
137
|
+
res[id] = loader.result;
|
|
138
|
+
return res;
|
|
139
|
+
}, {});
|
|
136
140
|
};
|
|
137
141
|
return {
|
|
138
142
|
hasPendingLoaders,
|
|
@@ -141,7 +145,3 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
|
|
|
141
145
|
get
|
|
142
146
|
};
|
|
143
147
|
};
|
|
144
|
-
export {
|
|
145
|
-
LoaderStatus,
|
|
146
|
-
createLoaderManager
|
|
147
|
-
};
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useContext,
|
|
3
|
-
useRef,
|
|
4
|
-
useMemo,
|
|
5
|
-
useState,
|
|
6
|
-
useCallback,
|
|
7
|
-
useEffect
|
|
8
|
-
} from "react";
|
|
1
|
+
import { useContext, useRef, useMemo, useState, useCallback, useEffect } from "react";
|
|
9
2
|
import invariant from "invariant";
|
|
10
3
|
import { RuntimeReactContext } from "../../runtimeContext";
|
|
11
4
|
import { LoaderStatus } from "./loaderManager";
|
|
12
|
-
const useLoader = (loaderFn, options = {
|
|
5
|
+
const useLoader = (loaderFn, options = {
|
|
6
|
+
params: void 0
|
|
7
|
+
}) => {
|
|
13
8
|
const context = useContext(RuntimeReactContext);
|
|
14
9
|
const isSSRRender = Boolean(context.ssr);
|
|
15
10
|
const { loaderManager } = context;
|
|
@@ -18,80 +13,71 @@ const useLoader = (loaderFn, options = { params: void 0 }) => {
|
|
|
18
13
|
if (isSSRRender && Object.prototype.hasOwnProperty.call(options, "_cache")) {
|
|
19
14
|
delete options._cache;
|
|
20
15
|
}
|
|
21
|
-
const load = useCallback(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return res2;
|
|
33
|
-
}
|
|
34
|
-
return Promise.resolve(res2);
|
|
35
|
-
} catch (e) {
|
|
36
|
-
return Promise.reject(e);
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
...options,
|
|
41
|
-
params
|
|
16
|
+
const load = useCallback((params) => {
|
|
17
|
+
var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA, _window__SSR_DATA_data, _loaderRef_current;
|
|
18
|
+
if (typeof params === "undefined") {
|
|
19
|
+
var _loaderRef_current1;
|
|
20
|
+
return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
|
|
21
|
+
}
|
|
22
|
+
const id = loaderManager.add(() => {
|
|
23
|
+
try {
|
|
24
|
+
const res2 = loaderFn(context, params);
|
|
25
|
+
if (res2 instanceof Promise) {
|
|
26
|
+
return res2;
|
|
42
27
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (isSSRRender) {
|
|
47
|
-
return void 0;
|
|
28
|
+
return Promise.resolve(res2);
|
|
29
|
+
} catch (e) {
|
|
30
|
+
return Promise.reject(e);
|
|
48
31
|
}
|
|
49
|
-
|
|
50
|
-
|
|
32
|
+
}, {
|
|
33
|
+
...options,
|
|
34
|
+
params
|
|
35
|
+
});
|
|
36
|
+
loaderRef.current = loaderManager.get(id);
|
|
37
|
+
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
|
|
38
|
+
if (isSSRRender) {
|
|
39
|
+
return void 0;
|
|
40
|
+
}
|
|
41
|
+
if (options.skip) {
|
|
42
|
+
return void 0;
|
|
43
|
+
}
|
|
44
|
+
if (context._hydration && ((_window__SSR_DATA_data_loadersData_id = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : _window__SSR_DATA_data.loadersData[id]) === null || _window__SSR_DATA_data_loadersData_id === void 0 ? void 0 : _window__SSR_DATA_data_loadersData_id.error) === null) {
|
|
45
|
+
return void 0;
|
|
46
|
+
}
|
|
47
|
+
const res = loaderRef.current.load();
|
|
48
|
+
unlistenLoaderChangeRef.current = (_loaderRef_current = loaderRef.current) === null || _loaderRef_current === void 0 ? void 0 : _loaderRef_current.onChange((_status, _result) => {
|
|
49
|
+
setResult(_result);
|
|
50
|
+
if (_status === LoaderStatus.fulfilled) {
|
|
51
|
+
var _options_onSuccess;
|
|
52
|
+
options === null || options === void 0 ? void 0 : (_options_onSuccess = options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(options, _result.data);
|
|
51
53
|
}
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
+
if (_status === LoaderStatus.rejected) {
|
|
55
|
+
var _options_onError;
|
|
56
|
+
options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, _result.error);
|
|
54
57
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
);
|
|
68
|
-
return res;
|
|
69
|
-
},
|
|
70
|
-
[options.skip]
|
|
71
|
-
);
|
|
72
|
-
useEffect(
|
|
73
|
-
() => () => {
|
|
74
|
-
var _a;
|
|
75
|
-
(_a = unlistenLoaderChangeRef.current) == null ? void 0 : _a.call(unlistenLoaderChangeRef);
|
|
76
|
-
},
|
|
77
|
-
[]
|
|
78
|
-
);
|
|
58
|
+
});
|
|
59
|
+
return res;
|
|
60
|
+
}, [
|
|
61
|
+
options.skip
|
|
62
|
+
]);
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
return () => {
|
|
65
|
+
var _unlistenLoaderChangeRef_current;
|
|
66
|
+
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
|
|
67
|
+
};
|
|
68
|
+
}, []);
|
|
79
69
|
useMemo(() => {
|
|
80
|
-
var
|
|
81
|
-
const p = (
|
|
82
|
-
invariant(
|
|
83
|
-
typeof p !== "undefined" && p !== null,
|
|
84
|
-
"Params is required in useLoader"
|
|
85
|
-
);
|
|
70
|
+
var _options_params;
|
|
71
|
+
const p = (_options_params = options.params) !== null && _options_params !== void 0 ? _options_params : loaderFn.id;
|
|
72
|
+
invariant(typeof p !== "undefined" && p !== null, "Params is required in useLoader");
|
|
86
73
|
load(p);
|
|
87
|
-
}, [
|
|
74
|
+
}, [
|
|
75
|
+
options.params
|
|
76
|
+
]);
|
|
88
77
|
const [result, setResult] = useState(loaderRef.current.result);
|
|
89
78
|
return {
|
|
90
79
|
...result,
|
|
91
80
|
reload: load
|
|
92
81
|
};
|
|
93
82
|
};
|
|
94
|
-
|
|
95
|
-
export {
|
|
96
|
-
useLoader_default as default
|
|
97
|
-
};
|
|
83
|
+
export default useLoader;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createManager,
|
|
3
|
-
createPipeline,
|
|
4
|
-
createAsyncPipeline
|
|
5
|
-
} from "@modern-js/plugin";
|
|
1
|
+
import { createManager, createPipeline, createAsyncPipeline } from "@modern-js/plugin";
|
|
6
2
|
import { createLoaderManager } from "./loader/loaderManager";
|
|
7
3
|
const hoc = createPipeline();
|
|
8
4
|
const provide = createPipeline();
|
|
@@ -18,21 +14,19 @@ const runtimeHooks = {
|
|
|
18
14
|
init,
|
|
19
15
|
pickContext
|
|
20
16
|
};
|
|
21
|
-
const createRuntime = () => createManager(runtimeHooks);
|
|
17
|
+
export const createRuntime = () => createManager(runtimeHooks);
|
|
22
18
|
const registerInit = (App, _init) => {
|
|
23
19
|
const originalInit = App.init;
|
|
24
20
|
App.init = async (context) => {
|
|
25
21
|
if (!context.loaderManager) {
|
|
26
22
|
context.loaderManager = createLoaderManager({});
|
|
27
23
|
}
|
|
28
|
-
await Promise.all([
|
|
24
|
+
await Promise.all([
|
|
25
|
+
originalInit === null || originalInit === void 0 ? void 0 : originalInit(context),
|
|
26
|
+
_init === null || _init === void 0 ? void 0 : _init(context)
|
|
27
|
+
]);
|
|
29
28
|
};
|
|
30
29
|
};
|
|
31
|
-
const runtime = createRuntime();
|
|
32
|
-
const { createPlugin } = runtime;
|
|
33
|
-
export {
|
|
34
|
-
createPlugin,
|
|
35
|
-
createRuntime,
|
|
36
|
-
registerInit,
|
|
37
|
-
runtime
|
|
38
|
-
};
|
|
30
|
+
export const runtime = createRuntime();
|
|
31
|
+
export const { createPlugin } = runtime;
|
|
32
|
+
export { registerInit };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|