@modern-js/runtime 2.5.0 → 2.7.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 +55 -0
- package/dist/cjs/cli/index.js +9 -0
- package/dist/cjs/common.js +6 -0
- package/dist/cjs/core/{app-config.js → appConfig.js} +8 -4
- package/dist/cjs/core/compatible.js +11 -10
- package/dist/cjs/core/index.js +6 -6
- package/dist/cjs/core/loader/index.js +4 -0
- package/dist/cjs/core/loader/loaderManager.js +6 -0
- package/dist/cjs/core/loader/useLoader.js +6 -2
- package/dist/cjs/core/types.js +15 -0
- package/dist/cjs/document/Body.js +6 -8
- package/dist/cjs/document/DocumentContext.js +4 -0
- package/dist/cjs/document/DocumentStructureContext.js +4 -0
- package/dist/cjs/document/Head.js +7 -11
- package/dist/cjs/document/Html.js +24 -22
- package/dist/cjs/document/Links.js +1 -3
- package/dist/cjs/document/Root.js +8 -14
- package/dist/cjs/document/Script.js +5 -7
- package/dist/cjs/document/Scripts.js +1 -3
- package/dist/cjs/document/cli/index.js +8 -2
- package/dist/cjs/exports/head.js +4 -0
- package/dist/cjs/exports/loadable.js +4 -0
- package/dist/cjs/exports/styled.js +4 -0
- package/dist/cjs/router/cli/index.js +3 -7
- package/dist/cjs/router/index.js +4 -0
- package/dist/cjs/router/runtime/DefaultNotFound.js +13 -10
- package/dist/cjs/router/runtime/DeferredDataScripts.js +165 -0
- package/dist/cjs/router/runtime/index.js +116 -3
- package/dist/cjs/router/runtime/plugin.js +18 -6
- package/dist/cjs/router/runtime/plugin.node.js +16 -49
- package/dist/cjs/router/runtime/utils.js +79 -101
- package/dist/cjs/router/runtime/withRouter.js +9 -6
- package/dist/cjs/{runtime-context.js → runtimeContext.js} +3 -3
- package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +4 -0
- package/dist/cjs/ssr/cli/index.js +6 -0
- package/dist/cjs/ssr/index.js +10 -24
- package/dist/cjs/ssr/index.node.js +5 -0
- package/dist/cjs/ssr/prefetch.js +3 -6
- package/dist/cjs/ssr/react/nossr/index.js +4 -0
- package/dist/cjs/ssr/react/prerender/index.js +4 -0
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +7 -13
- package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +5 -0
- package/dist/cjs/ssr/serverRender/renderToStream/index.js +4 -0
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +22 -7
- package/dist/cjs/ssr/serverRender/renderToStream/template.js +2 -1
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +28 -11
- package/dist/cjs/ssr/serverRender/renderToString/index.js +4 -0
- package/dist/cjs/ssr/serverRender/renderToString/loadable.js +1 -1
- package/dist/cjs/ssr/serverRender/time.worker.js +1 -1
- package/dist/cjs/ssr/serverRender/utils.js +1 -1
- package/dist/cjs/ssr/utils.js +16 -4
- package/dist/cjs/state/index.js +4 -0
- package/dist/cjs/state/plugins.js +4 -0
- package/dist/cjs/state/runtime/index.js +4 -0
- package/dist/cjs/state/runtime/plugin.js +5 -7
- package/dist/esm/cli/index.js +5 -1
- package/dist/esm/common.js +3 -1
- package/dist/esm/core/{app-config.js → appConfig.js} +3 -1
- package/dist/esm/core/compatible.js +4 -2
- package/dist/esm/core/index.js +2 -2
- package/dist/esm/core/loader/loaderManager.js +3 -1
- package/dist/esm/core/loader/useLoader.js +1 -1
- package/dist/esm/core/types.js +1 -0
- package/dist/esm/document/cli/index.js +4 -2
- package/dist/esm/router/cli/index.js +1 -5
- package/dist/esm/router/runtime/DeferredDataScripts.js +166 -0
- package/dist/esm/router/runtime/index.js +3 -2
- package/dist/esm/router/runtime/plugin.js +11 -3
- package/dist/esm/router/runtime/plugin.node.js +11 -68
- package/dist/esm/router/runtime/utils.js +138 -81
- package/dist/esm/ssr/cli/index.js +2 -0
- package/dist/esm/ssr/index.node.js +1 -0
- package/dist/esm/ssr/prefetch.js +1 -0
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +37 -10
- package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +19 -8
- package/dist/esm/ssr/serverRender/renderToStream/template.js +2 -1
- package/dist/esm/ssr/serverRender/renderToString/entry.js +37 -13
- package/dist/esm/ssr/serverRender/time.worker.js +1 -1
- package/dist/esm/ssr/utils.js +6 -4
- package/dist/esm-node/cli/index.js +5 -0
- package/dist/esm-node/common.js +4 -0
- package/dist/esm-node/core/{app-config.js → appConfig.js} +5 -1
- package/dist/esm-node/core/compatible.js +5 -8
- package/dist/esm-node/core/index.js +2 -2
- package/dist/esm-node/core/loader/loaderManager.js +2 -0
- package/dist/esm-node/core/loader/useLoader.js +1 -1
- package/dist/esm-node/core/types.js +0 -0
- package/dist/esm-node/document/Body.js +6 -8
- package/dist/esm-node/document/Head.js +7 -11
- package/dist/esm-node/document/Html.js +24 -22
- package/dist/esm-node/document/Links.js +1 -3
- package/dist/esm-node/document/Root.js +8 -14
- package/dist/esm-node/document/Script.js +5 -7
- package/dist/esm-node/document/Scripts.js +1 -3
- package/dist/esm-node/document/cli/index.js +4 -2
- package/dist/esm-node/router/cli/index.js +2 -5
- package/dist/esm-node/router/runtime/DefaultNotFound.js +13 -10
- package/dist/esm-node/router/runtime/DeferredDataScripts.js +148 -0
- package/dist/esm-node/router/runtime/index.js +113 -2
- package/dist/esm-node/router/runtime/plugin.js +15 -7
- package/dist/esm-node/router/runtime/plugin.node.js +12 -52
- package/dist/esm-node/router/runtime/utils.js +70 -101
- package/dist/esm-node/router/runtime/withRouter.js +9 -6
- package/dist/esm-node/ssr/cli/index.js +2 -0
- package/dist/esm-node/ssr/index.js +6 -24
- package/dist/esm-node/ssr/index.node.js +1 -0
- package/dist/esm-node/ssr/prefetch.js +3 -6
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +7 -7
- package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +22 -7
- package/dist/esm-node/ssr/serverRender/renderToStream/template.js +2 -1
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +24 -11
- package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +1 -1
- package/dist/esm-node/ssr/serverRender/time.worker.js +1 -1
- package/dist/esm-node/ssr/serverRender/utils.js +1 -1
- package/dist/esm-node/ssr/utils.js +6 -4
- package/dist/esm-node/state/runtime/plugin.js +1 -7
- package/dist/types/common.d.ts +3 -1
- package/dist/types/core/compatible.d.ts +1 -1
- package/dist/types/core/index.d.ts +4 -3
- package/dist/types/core/loader/index.d.ts +1 -2
- package/dist/types/core/loader/useLoader.d.ts +1 -15
- package/dist/types/core/plugin.d.ts +15 -15
- package/dist/types/core/types.d.ts +22 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/router/runtime/DeferredDataScripts.d.ts +8 -0
- package/dist/types/router/runtime/index.d.ts +4 -2
- package/dist/types/router/runtime/utils.d.ts +23 -4
- package/dist/types/{runtime-context.d.ts → runtimeContext.d.ts} +2 -0
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +2 -0
- package/dist/types/ssr/serverRender/renderToString/type.d.ts +1 -0
- package/package.json +14 -15
- package/dist/cjs/ssr/prefetch.worker.js +0 -67
- package/dist/cjs/ssr/serverRender/renderToStream/index.worker.js +0 -64
- package/dist/cjs/ssr/serverRender/renderToString/index.worker.js +0 -58
- package/dist/esm/ssr/prefetch.worker.js +0 -191
- package/dist/esm/ssr/serverRender/renderToStream/index.worker.js +0 -32
- package/dist/esm/ssr/serverRender/renderToString/index.worker.js +0 -167
- package/dist/esm-node/ssr/prefetch.worker.js +0 -46
- package/dist/esm-node/ssr/serverRender/renderToStream/index.worker.js +0 -35
- package/dist/esm-node/ssr/serverRender/renderToString/index.worker.js +0 -29
- package/dist/types/ssr/prefetch.worker.d.ts +0 -13
- package/dist/types/ssr/serverRender/renderToStream/index.worker.d.ts +0 -6
- package/dist/types/ssr/serverRender/renderToString/index.worker.d.ts +0 -6
- /package/dist/esm/{runtime-context.js → runtimeContext.js} +0 -0
- /package/dist/esm-node/{runtime-context.js → runtimeContext.js} +0 -0
- /package/dist/types/core/{app-config.d.ts → appConfig.d.ts} +0 -0
package/dist/cjs/router/index.js
CHANGED
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
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.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -21,16 +21,19 @@ __export(DefaultNotFound_exports, {
|
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(DefaultNotFound_exports);
|
|
23
23
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
24
|
-
const DefaultNotFound = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
24
|
+
const DefaultNotFound = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
style: {
|
|
28
|
+
margin: "150px auto",
|
|
29
|
+
textAlign: "center",
|
|
30
|
+
display: "flex",
|
|
31
|
+
alignItems: "center",
|
|
32
|
+
justifyContent: "center"
|
|
33
|
+
},
|
|
34
|
+
children: "404"
|
|
35
|
+
}
|
|
36
|
+
);
|
|
34
37
|
// Annotate the CommonJS export names for ESM import in node:
|
|
35
38
|
0 && (module.exports = {
|
|
36
39
|
DefaultNotFound
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var DeferredDataScripts_exports = {};
|
|
19
|
+
__export(DeferredDataScripts_exports, {
|
|
20
|
+
default: () => DeferredDataScripts_default
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(DeferredDataScripts_exports);
|
|
23
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
24
|
+
var import_react = require("react");
|
|
25
|
+
var import_react_router_dom = require("react-router-dom");
|
|
26
|
+
var import_serialize = require("@modern-js/utils/serialize");
|
|
27
|
+
var import_common = require("../../common");
|
|
28
|
+
var import_utils = require("./utils");
|
|
29
|
+
const setupFnStr = `function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};`;
|
|
30
|
+
const resolveFnStr = `function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};`;
|
|
31
|
+
const preResolvedFnStr = `function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resovle(e)};`;
|
|
32
|
+
const DeferredDataScripts = () => {
|
|
33
|
+
const context = (0, import_react.useContext)(import_react_router_dom.UNSAFE_DataRouterContext);
|
|
34
|
+
const { staticContext } = context || {};
|
|
35
|
+
const hydratedRef = (0, import_react.useRef)(false);
|
|
36
|
+
(0, import_react.useEffect)(() => {
|
|
37
|
+
hydratedRef.current = true;
|
|
38
|
+
}, []);
|
|
39
|
+
const deferredScripts = (0, import_react.useMemo)(() => {
|
|
40
|
+
if (!staticContext) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const activeDeferreds = staticContext.activeDeferreds || [];
|
|
44
|
+
const _ROUTER_DATA = {
|
|
45
|
+
loaderData: staticContext.loaderData,
|
|
46
|
+
errors: (0, import_utils.serializeErrors)(staticContext.errors)
|
|
47
|
+
};
|
|
48
|
+
let initialScripts = [
|
|
49
|
+
`_ROUTER_DATA = ${(0, import_serialize.serializeJson)(_ROUTER_DATA)};`,
|
|
50
|
+
`_ROUTER_DATA.s = ${setupFnStr}`,
|
|
51
|
+
`_ROUTER_DATA.r = ${resolveFnStr}`,
|
|
52
|
+
`_ROUTER_DATA.p = ${preResolvedFnStr}`
|
|
53
|
+
].join("\n");
|
|
54
|
+
const deferredDataScripts = [];
|
|
55
|
+
initialScripts += Object.entries(activeDeferreds).map(([routeId, deferredData]) => {
|
|
56
|
+
const pendingKeys = new Set(deferredData.pendingKeys);
|
|
57
|
+
const { deferredKeys } = deferredData;
|
|
58
|
+
const deferredKeyPromiseStr = deferredKeys.map((key) => {
|
|
59
|
+
if (pendingKeys.has(key)) {
|
|
60
|
+
deferredDataScripts.push(
|
|
61
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
62
|
+
DeferredDataScript,
|
|
63
|
+
{
|
|
64
|
+
data: deferredData.data[key],
|
|
65
|
+
dataKey: key,
|
|
66
|
+
routeId
|
|
67
|
+
},
|
|
68
|
+
`${routeId} | ${key}`
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
return `${JSON.stringify(key)}: _ROUTER_DATA.s(${JSON.stringify(
|
|
72
|
+
routeId
|
|
73
|
+
)},${JSON.stringify(key)}) `;
|
|
74
|
+
} else {
|
|
75
|
+
const trackedPromise = deferredData.data[key];
|
|
76
|
+
if (typeof trackedPromise._error !== "undefined") {
|
|
77
|
+
const error = {
|
|
78
|
+
message: trackedPromise._error.message,
|
|
79
|
+
stack: process.env.NODE_ENV !== "production" ? trackedPromise._error.stack : void 0
|
|
80
|
+
};
|
|
81
|
+
return `${JSON.stringify(
|
|
82
|
+
key
|
|
83
|
+
)}: _ROUTER_DATA.p(${void 0}, ${(0, import_serialize.serializeJson)(error)})`;
|
|
84
|
+
} else {
|
|
85
|
+
if (typeof trackedPromise._data === "undefined") {
|
|
86
|
+
throw new Error(
|
|
87
|
+
`The deferred data for ${key} was not resolved, did you forget to return data from a deferred promise`
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
return `${JSON.stringify(key)}: _ROUTER_DATA.p(${(0, import_serialize.serializeJson)(
|
|
91
|
+
trackedPromise._data
|
|
92
|
+
)})`;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}).join(",\n");
|
|
96
|
+
return `Object.assign(_ROUTER_DATA.loaderData[${JSON.stringify(
|
|
97
|
+
routeId
|
|
98
|
+
)}], {${deferredKeyPromiseStr}});`;
|
|
99
|
+
}).join("\n");
|
|
100
|
+
return [initialScripts, deferredDataScripts];
|
|
101
|
+
}, []);
|
|
102
|
+
if (!deferredScripts) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
106
|
+
!hydratedRef.current && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
107
|
+
"script",
|
|
108
|
+
{
|
|
109
|
+
async: true,
|
|
110
|
+
suppressHydrationWarning: true,
|
|
111
|
+
dangerouslySetInnerHTML: { __html: deferredScripts[0] }
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
!hydratedRef.current && deferredScripts[1],
|
|
115
|
+
import_common.JSX_SHELL_STREAM_END_MARK
|
|
116
|
+
] });
|
|
117
|
+
};
|
|
118
|
+
const DeferredDataScript = ({
|
|
119
|
+
data,
|
|
120
|
+
routeId,
|
|
121
|
+
dataKey
|
|
122
|
+
}) => {
|
|
123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { children: typeof document === "undefined" && data && dataKey && routeId ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
124
|
+
import_react_router_dom.Await,
|
|
125
|
+
{
|
|
126
|
+
resolve: data,
|
|
127
|
+
errorElement: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ErrorDeferredDataScript, { routeId, dataKey }),
|
|
128
|
+
children: (data2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
129
|
+
"script",
|
|
130
|
+
{
|
|
131
|
+
async: true,
|
|
132
|
+
suppressHydrationWarning: true,
|
|
133
|
+
dangerouslySetInnerHTML: {
|
|
134
|
+
__html: `_ROUTER_DATA.r(${JSON.stringify(
|
|
135
|
+
routeId
|
|
136
|
+
)}, ${JSON.stringify(dataKey)}, ${(0, import_serialize.serializeJson)(data2)});`
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
) : null });
|
|
142
|
+
};
|
|
143
|
+
const ErrorDeferredDataScript = ({
|
|
144
|
+
routeId,
|
|
145
|
+
dataKey
|
|
146
|
+
}) => {
|
|
147
|
+
const error = (0, import_react_router_dom.useAsyncError)();
|
|
148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
149
|
+
"script",
|
|
150
|
+
{
|
|
151
|
+
suppressHydrationWarning: true,
|
|
152
|
+
dangerouslySetInnerHTML: {
|
|
153
|
+
__html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(
|
|
154
|
+
dataKey
|
|
155
|
+
)}, ${void 0}, ${(0, import_serialize.serializeJson)({
|
|
156
|
+
message: error.message,
|
|
157
|
+
stack: error.stack
|
|
158
|
+
})});`
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
};
|
|
163
|
+
var DeferredDataScripts_default = DeferredDataScripts;
|
|
164
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
165
|
+
0 && (module.exports = {});
|
|
@@ -18,16 +18,129 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var runtime_exports = {};
|
|
20
20
|
__export(runtime_exports, {
|
|
21
|
+
Await: () => import_react_router_dom.Await,
|
|
22
|
+
BrowserRouter: () => import_react_router_dom.BrowserRouter,
|
|
23
|
+
Form: () => import_react_router_dom.Form,
|
|
24
|
+
HashRouter: () => import_react_router_dom.HashRouter,
|
|
25
|
+
Link: () => import_react_router_dom.Link,
|
|
26
|
+
MemoryRouter: () => import_react_router_dom.MemoryRouter,
|
|
27
|
+
NavLink: () => import_react_router_dom.NavLink,
|
|
28
|
+
Navigate: () => import_react_router_dom.Navigate,
|
|
29
|
+
Outlet: () => import_react_router_dom.Outlet,
|
|
30
|
+
Route: () => import_react_router_dom.Route,
|
|
31
|
+
Router: () => import_react_router_dom.Router,
|
|
32
|
+
RouterProvider: () => import_react_router_dom.RouterProvider,
|
|
33
|
+
Routes: () => import_react_router_dom.Routes,
|
|
34
|
+
ScrollRestoration: () => import_react_router_dom.ScrollRestoration,
|
|
35
|
+
createBrowserRouter: () => import_react_router_dom.createBrowserRouter,
|
|
36
|
+
createHashRouter: () => import_react_router_dom.createHashRouter,
|
|
37
|
+
createMemoryRouter: () => import_react_router_dom.createMemoryRouter,
|
|
38
|
+
createRoutesFromChildren: () => import_react_router_dom.createRoutesFromChildren,
|
|
39
|
+
createRoutesFromElements: () => import_react_router_dom.createRoutesFromElements,
|
|
40
|
+
createSearchParams: () => import_react_router_dom.createSearchParams,
|
|
21
41
|
default: () => runtime_default,
|
|
22
|
-
|
|
42
|
+
defer: () => import_remix_router.defer,
|
|
43
|
+
generatePath: () => import_react_router_dom.generatePath,
|
|
44
|
+
isRouteErrorResponse: () => import_react_router_dom.isRouteErrorResponse,
|
|
45
|
+
json: () => import_remix_router.json,
|
|
46
|
+
matchPath: () => import_react_router_dom.matchPath,
|
|
47
|
+
matchRoutes: () => import_react_router_dom.matchRoutes,
|
|
48
|
+
modifyRoutes: () => import_plugin2.modifyRoutes,
|
|
49
|
+
redirect: () => import_remix_router.redirect,
|
|
50
|
+
renderMatches: () => import_react_router_dom.renderMatches,
|
|
51
|
+
resolvePath: () => import_react_router_dom.resolvePath,
|
|
52
|
+
useActionData: () => import_react_router_dom.useActionData,
|
|
53
|
+
useAsyncError: () => import_react_router_dom.useAsyncError,
|
|
54
|
+
useAsyncValue: () => import_react_router_dom.useAsyncValue,
|
|
55
|
+
useBeforeUnload: () => import_react_router_dom.useBeforeUnload,
|
|
56
|
+
useFetcher: () => import_react_router_dom.useFetcher,
|
|
57
|
+
useFetchers: () => import_react_router_dom.useFetchers,
|
|
58
|
+
useFormAction: () => import_react_router_dom.useFormAction,
|
|
59
|
+
useHref: () => import_react_router_dom.useHref,
|
|
60
|
+
useInRouterContext: () => import_react_router_dom.useInRouterContext,
|
|
61
|
+
useLinkClickHandler: () => import_react_router_dom.useLinkClickHandler,
|
|
62
|
+
useLoaderData: () => import_react_router_dom.useLoaderData,
|
|
63
|
+
useLocation: () => import_react_router_dom.useLocation,
|
|
64
|
+
useMatch: () => import_react_router_dom.useMatch,
|
|
65
|
+
useMatches: () => import_react_router_dom.useMatches,
|
|
66
|
+
useNavigate: () => import_react_router_dom.useNavigate,
|
|
67
|
+
useNavigation: () => import_react_router_dom.useNavigation,
|
|
68
|
+
useNavigationType: () => import_react_router_dom.useNavigationType,
|
|
69
|
+
useOutlet: () => import_react_router_dom.useOutlet,
|
|
70
|
+
useOutletContext: () => import_react_router_dom.useOutletContext,
|
|
71
|
+
useParams: () => import_react_router_dom.useParams,
|
|
72
|
+
useResolvedPath: () => import_react_router_dom.useResolvedPath,
|
|
73
|
+
useRevalidator: () => import_react_router_dom.useRevalidator,
|
|
74
|
+
useRouteError: () => import_react_router_dom.useRouteError,
|
|
75
|
+
useRouteLoaderData: () => import_react_router_dom.useRouteLoaderData,
|
|
76
|
+
useRoutes: () => import_react_router_dom.useRoutes,
|
|
77
|
+
useSearchParams: () => import_react_router_dom.useSearchParams,
|
|
78
|
+
useSubmit: () => import_react_router_dom.useSubmit
|
|
23
79
|
});
|
|
24
80
|
module.exports = __toCommonJS(runtime_exports);
|
|
25
81
|
var import_plugin = require("./plugin");
|
|
26
82
|
var import_plugin2 = require("./plugin");
|
|
27
|
-
__reExport(runtime_exports, require("react-router-dom"), module.exports);
|
|
28
83
|
__reExport(runtime_exports, require("./withRouter"), module.exports);
|
|
84
|
+
var import_react_router_dom = require("react-router-dom");
|
|
85
|
+
var import_remix_router = require("@modern-js/utils/remix-router");
|
|
29
86
|
var runtime_default = import_plugin.routerPlugin;
|
|
30
87
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
88
|
0 && (module.exports = {
|
|
32
|
-
|
|
89
|
+
Await,
|
|
90
|
+
BrowserRouter,
|
|
91
|
+
Form,
|
|
92
|
+
HashRouter,
|
|
93
|
+
Link,
|
|
94
|
+
MemoryRouter,
|
|
95
|
+
NavLink,
|
|
96
|
+
Navigate,
|
|
97
|
+
Outlet,
|
|
98
|
+
Route,
|
|
99
|
+
Router,
|
|
100
|
+
RouterProvider,
|
|
101
|
+
Routes,
|
|
102
|
+
ScrollRestoration,
|
|
103
|
+
createBrowserRouter,
|
|
104
|
+
createHashRouter,
|
|
105
|
+
createMemoryRouter,
|
|
106
|
+
createRoutesFromChildren,
|
|
107
|
+
createRoutesFromElements,
|
|
108
|
+
createSearchParams,
|
|
109
|
+
defer,
|
|
110
|
+
generatePath,
|
|
111
|
+
isRouteErrorResponse,
|
|
112
|
+
json,
|
|
113
|
+
matchPath,
|
|
114
|
+
matchRoutes,
|
|
115
|
+
modifyRoutes,
|
|
116
|
+
redirect,
|
|
117
|
+
renderMatches,
|
|
118
|
+
resolvePath,
|
|
119
|
+
useActionData,
|
|
120
|
+
useAsyncError,
|
|
121
|
+
useAsyncValue,
|
|
122
|
+
useBeforeUnload,
|
|
123
|
+
useFetcher,
|
|
124
|
+
useFetchers,
|
|
125
|
+
useFormAction,
|
|
126
|
+
useHref,
|
|
127
|
+
useInRouterContext,
|
|
128
|
+
useLinkClickHandler,
|
|
129
|
+
useLoaderData,
|
|
130
|
+
useLocation,
|
|
131
|
+
useMatch,
|
|
132
|
+
useMatches,
|
|
133
|
+
useNavigate,
|
|
134
|
+
useNavigation,
|
|
135
|
+
useNavigationType,
|
|
136
|
+
useOutlet,
|
|
137
|
+
useOutletContext,
|
|
138
|
+
useParams,
|
|
139
|
+
useResolvedPath,
|
|
140
|
+
useRevalidator,
|
|
141
|
+
useRouteError,
|
|
142
|
+
useRouteLoaderData,
|
|
143
|
+
useRoutes,
|
|
144
|
+
useSearchParams,
|
|
145
|
+
useSubmit
|
|
33
146
|
});
|
|
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
19
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
24
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
25
|
mod
|
|
22
26
|
));
|
|
@@ -79,13 +83,21 @@ const routerPlugin = ({
|
|
|
79
83
|
const routes = createRoutes ? createRoutes() : (0, import_react_router_dom.createRoutesFromElements)((0, import_utils.renderRoutes)(finalRouteConfig));
|
|
80
84
|
const baseUrl = ((_a = window._SERVER_DATA) == null ? void 0 : _a.router.baseUrl) || select(location.pathname);
|
|
81
85
|
const _basename = baseUrl === "/" ? (0, import_utils.urlJoin)(baseUrl, basename) : baseUrl;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
86
|
+
let hydrationData = window._ROUTER_DATA;
|
|
87
|
+
if (hydrationData == null ? void 0 : hydrationData.errors) {
|
|
88
|
+
hydrationData = {
|
|
89
|
+
...hydrationData,
|
|
90
|
+
errors: (0, import_utils.deserializeErrors)(hydrationData.errors)
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const router = supportHtml5History ? (0, import_react_router_dom.createBrowserRouter)(routes, {
|
|
94
|
+
basename: _basename,
|
|
95
|
+
hydrationData
|
|
96
|
+
}) : (0, import_react_router_dom.createHashRouter)(routes, {
|
|
97
|
+
basename: _basename,
|
|
98
|
+
hydrationData
|
|
88
99
|
});
|
|
100
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.RouterProvider, { router }) });
|
|
89
101
|
};
|
|
90
102
|
};
|
|
91
103
|
const RouteApp = getRouteApp();
|
|
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
19
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
24
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
25
|
mod
|
|
22
26
|
));
|
|
@@ -30,8 +34,7 @@ __export(plugin_node_exports, {
|
|
|
30
34
|
module.exports = __toCommonJS(plugin_node_exports);
|
|
31
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
36
|
var import_react = require("react");
|
|
33
|
-
var
|
|
34
|
-
var import_router = require("@remix-run/router");
|
|
37
|
+
var import_remix_router = require("@modern-js/utils/remix-router");
|
|
35
38
|
var import_server = require("react-router-dom/server");
|
|
36
39
|
var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
|
|
37
40
|
var import_react_router_dom = require("react-router-dom");
|
|
@@ -65,26 +68,6 @@ function createFetchHeaders(requestHeaders) {
|
|
|
65
68
|
}
|
|
66
69
|
return headers;
|
|
67
70
|
}
|
|
68
|
-
function serializeErrors(errors) {
|
|
69
|
-
if (!errors) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
const entries = Object.entries(errors);
|
|
73
|
-
const serialized = {};
|
|
74
|
-
for (const [key, val] of entries) {
|
|
75
|
-
if ((0, import_router.isRouteErrorResponse)(val)) {
|
|
76
|
-
serialized[key] = { ...val, __type: "RouteErrorResponse" };
|
|
77
|
-
} else if (val instanceof Error) {
|
|
78
|
-
serialized[key] = {
|
|
79
|
-
message: val.message,
|
|
80
|
-
__type: "Error"
|
|
81
|
-
};
|
|
82
|
-
} else {
|
|
83
|
-
serialized[key] = val;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return serialized;
|
|
87
|
-
}
|
|
88
71
|
const routerPlugin = ({
|
|
89
72
|
basename = "",
|
|
90
73
|
routesConfig,
|
|
@@ -98,11 +81,11 @@ const routerPlugin = ({
|
|
|
98
81
|
if (!routesConfig && !createRoutes) {
|
|
99
82
|
return next({ context });
|
|
100
83
|
}
|
|
101
|
-
const { request } = context.ssrContext;
|
|
84
|
+
const { request, mode: ssrMode } = context.ssrContext;
|
|
102
85
|
const baseUrl = request.baseUrl;
|
|
103
86
|
const _basename = baseUrl === "/" ? (0, import_utils.urlJoin)(baseUrl, basename) : baseUrl;
|
|
104
|
-
const routes = createRoutes ? createRoutes() : (0, import_react_router_dom.createRoutesFromElements)((0, import_utils.renderRoutes)(routesConfig));
|
|
105
|
-
const { query } = (0,
|
|
87
|
+
const routes = createRoutes ? createRoutes() : (0, import_react_router_dom.createRoutesFromElements)((0, import_utils.renderRoutes)(routesConfig, ssrMode));
|
|
88
|
+
const { query } = (0, import_remix_router.createStaticHandler)(routes, {
|
|
106
89
|
basename: _basename
|
|
107
90
|
});
|
|
108
91
|
const remixRequest = createFetchRequest(request);
|
|
@@ -124,30 +107,14 @@ const routerPlugin = ({
|
|
|
124
107
|
const getRouteApp = () => {
|
|
125
108
|
return (props) => {
|
|
126
109
|
const { router, routerContext } = (0, import_react.useContext)(import_core.RuntimeReactContext);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
)};`;
|
|
136
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(App, {
|
|
137
|
-
...props,
|
|
138
|
-
children: [
|
|
139
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_server.StaticRouterProvider, {
|
|
140
|
-
router,
|
|
141
|
-
context: routerContext,
|
|
142
|
-
hydrate: false
|
|
143
|
-
}),
|
|
144
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
|
|
145
|
-
suppressHydrationWarning: true,
|
|
146
|
-
id: "the-nonce",
|
|
147
|
-
dangerouslySetInnerHTML: { __html: hydrateScript }
|
|
148
|
-
})
|
|
149
|
-
]
|
|
150
|
-
});
|
|
110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
111
|
+
import_server.StaticRouterProvider,
|
|
112
|
+
{
|
|
113
|
+
router,
|
|
114
|
+
context: routerContext,
|
|
115
|
+
hydrate: false
|
|
116
|
+
}
|
|
117
|
+
) });
|
|
151
118
|
};
|
|
152
119
|
};
|
|
153
120
|
const RouteApp = getRouteApp();
|