@modern-js/runtime 2.5.0-alpha.0 → 2.6.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 +27 -0
- package/dist/cjs/cli/index.js +9 -0
- package/dist/cjs/common.js +0 -6
- package/dist/cjs/core/app-config.js +5 -1
- package/dist/cjs/core/compatible.js +8 -7
- 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 +4 -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 +7 -1
- 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/index.js +3 -52
- package/dist/cjs/router/runtime/plugin.js +6 -14
- package/dist/cjs/router/runtime/plugin.node.js +54 -10
- package/dist/cjs/router/runtime/utils.js +80 -28
- package/dist/cjs/router/runtime/withRouter.js +9 -6
- package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +4 -0
- package/dist/cjs/ssr/cli/index.js +4 -0
- package/dist/cjs/ssr/index.js +10 -24
- package/dist/cjs/ssr/index.node.js +4 -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 +19 -5
- 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 +7 -22
- package/dist/cjs/ssr/serverRender/renderToStream/template.js +1 -2
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +14 -12
- 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 +1 -3
- package/dist/esm/core/app-config.js +3 -1
- package/dist/esm/core/compatible.js +3 -1
- package/dist/esm/core/loader/loaderManager.js +3 -1
- package/dist/esm/document/cli/index.js +3 -1
- package/dist/esm/router/cli/index.js +1 -5
- package/dist/esm/router/runtime/index.js +2 -3
- package/dist/esm/router/runtime/plugin.js +2 -5
- package/dist/esm/router/runtime/plugin.node.js +65 -8
- package/dist/esm/router/runtime/utils.js +106 -5
- package/dist/esm/ssr/prefetch.js +1 -0
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +39 -8
- package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +8 -19
- package/dist/esm/ssr/serverRender/renderToStream/template.js +1 -2
- package/dist/esm/ssr/serverRender/renderToString/entry.js +29 -16
- 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 +0 -4
- package/dist/esm-node/core/app-config.js +5 -1
- package/dist/esm-node/core/compatible.js +4 -7
- package/dist/esm-node/core/loader/loaderManager.js +2 -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 +3 -1
- 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/index.js +2 -51
- package/dist/esm-node/router/runtime/plugin.js +2 -14
- package/dist/esm-node/router/runtime/plugin.node.js +53 -10
- package/dist/esm-node/router/runtime/utils.js +80 -22
- package/dist/esm-node/router/runtime/withRouter.js +9 -6
- package/dist/esm-node/ssr/index.js +6 -24
- package/dist/esm-node/ssr/prefetch.js +3 -6
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +9 -5
- package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +7 -22
- package/dist/esm-node/ssr/serverRender/renderToStream/template.js +1 -2
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +10 -12
- 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 +1 -3
- package/dist/types/core/index.d.ts +0 -1
- package/dist/types/core/loader/index.d.ts +2 -1
- package/dist/types/core/loader/useLoader.d.ts +15 -1
- package/dist/types/router/runtime/index.d.ts +2 -4
- package/dist/types/runtime-context.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -2
- package/dist/types/ssr/serverRender/renderToString/type.d.ts +1 -0
- package/package.json +17 -12
- package/dist/cjs/core/types.js +0 -15
- package/dist/cjs/router/index.node.js +0 -31
- package/dist/cjs/router/runtime/DeferredDataScripts.js +0 -148
- 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/core/types.js +0 -1
- package/dist/esm/router/index.node.js +0 -4
- package/dist/esm/router/runtime/DeferredDataScripts.js +0 -158
- 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/core/types.js +0 -0
- package/dist/esm-node/router/index.node.js +0 -7
- package/dist/esm-node/router/runtime/DeferredDataScripts.js +0 -131
- 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/core/types.d.ts +0 -21
- package/dist/types/router/index.node.d.ts +0 -3
- package/dist/types/router/runtime/DeferredDataScripts.d.ts +0 -8
- 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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @modern-js/runtime
|
|
2
2
|
|
|
3
|
+
## 2.6.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 671477d: chore(CI): make CI faster
|
|
8
|
+
|
|
9
|
+
chore(CI): 提升 CI 执行速度
|
|
10
|
+
|
|
11
|
+
- 7915ab3: fix: should not assign nestedRoutesEntry to entrypoint if use v5 router
|
|
12
|
+
fix: 使用 v5 路由的时候,不应该在 entrypoint 上挂载 nestedRoutesEntry 属性
|
|
13
|
+
- a909ad1: feat: revert worker use async_hooks
|
|
14
|
+
|
|
15
|
+
feat: 还原 worker 使用 async_hooks 代码
|
|
16
|
+
|
|
17
|
+
- 49fa0b1: fix: remove header info from SSR ctx to avoid security issues, reserved a switch
|
|
18
|
+
fix: 移除 SSR 上下文中的 header 信息,避免造成安全问题,预留一个字段开启
|
|
19
|
+
- 1906d7b: fix: document param output get undefined in default template
|
|
20
|
+
fix: 修复 Document param 中 output 参数取值问题
|
|
21
|
+
- Updated dependencies [e1f799e]
|
|
22
|
+
- Updated dependencies [7915ab3]
|
|
23
|
+
- Updated dependencies [49fa0b1]
|
|
24
|
+
- Updated dependencies [0fe658a]
|
|
25
|
+
- Updated dependencies [62930b9]
|
|
26
|
+
- @modern-js/utils@2.6.0
|
|
27
|
+
- @modern-js/types@2.6.0
|
|
28
|
+
- @modern-js/plugin@2.6.0
|
|
29
|
+
|
|
3
30
|
## 2.5.0
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
package/dist/cjs/cli/index.js
CHANGED
|
@@ -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
|
));
|
|
@@ -52,6 +56,11 @@ var cli_default = () => ({
|
|
|
52
56
|
runtimeByEntries: {},
|
|
53
57
|
source: {
|
|
54
58
|
alias: {
|
|
59
|
+
/**
|
|
60
|
+
* twin.macro inserts styled-components into the code during the compilation process
|
|
61
|
+
* But it will not be installed under the user project.
|
|
62
|
+
* So need to add alias
|
|
63
|
+
*/
|
|
55
64
|
"styled-components": require.resolve("styled-components")
|
|
56
65
|
},
|
|
57
66
|
globalVars: {
|
package/dist/cjs/common.js
CHANGED
|
@@ -17,17 +17,11 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
18
|
var common_exports = {};
|
|
19
19
|
__export(common_exports, {
|
|
20
|
-
ESCAPED_SHELL_STREAM_END_MARK: () => ESCAPED_SHELL_STREAM_END_MARK,
|
|
21
|
-
JSX_SHELL_STREAM_END_MARK: () => JSX_SHELL_STREAM_END_MARK,
|
|
22
20
|
isBrowser: () => isBrowser
|
|
23
21
|
});
|
|
24
22
|
module.exports = __toCommonJS(common_exports);
|
|
25
23
|
const isBrowser = () => typeof window !== "undefined" && window.name !== "nodejs";
|
|
26
|
-
const JSX_SHELL_STREAM_END_MARK = "<!--<?- SHELL_STREAM_END ?>-->";
|
|
27
|
-
const ESCAPED_SHELL_STREAM_END_MARK = "<!--<?- SHELL_STREAM_END ?>-->";
|
|
28
24
|
// Annotate the CommonJS export names for ESM import in node:
|
|
29
25
|
0 && (module.exports = {
|
|
30
|
-
ESCAPED_SHELL_STREAM_END_MARK,
|
|
31
|
-
JSX_SHELL_STREAM_END_MARK,
|
|
32
26
|
isBrowser
|
|
33
27
|
});
|
|
@@ -22,7 +22,11 @@ __export(app_config_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(app_config_exports);
|
|
24
24
|
const APP_CONFIG_SYMBOL = "config";
|
|
25
|
-
const getConfig = (Component) =>
|
|
25
|
+
const getConfig = (Component) => (
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
27
|
+
// @ts-expect-error
|
|
28
|
+
Component[APP_CONFIG_SYMBOL]
|
|
29
|
+
);
|
|
26
30
|
const defineConfig = (Component, config) => {
|
|
27
31
|
Component[APP_CONFIG_SYMBOL] = config;
|
|
28
32
|
return Component;
|
|
@@ -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
|
));
|
|
@@ -86,12 +90,7 @@ const createApp = ({ plugins }) => {
|
|
|
86
90
|
}
|
|
87
91
|
);
|
|
88
92
|
}
|
|
89
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_runtime_context.RuntimeReactContext.Provider, {
|
|
90
|
-
value: contextValue,
|
|
91
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App2, {
|
|
92
|
-
...props
|
|
93
|
-
})
|
|
94
|
-
});
|
|
93
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_runtime_context.RuntimeReactContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App2, { ...props }) });
|
|
95
94
|
};
|
|
96
95
|
return (0, import_hoist_non_react_statics.default)(WrapComponent, App2);
|
|
97
96
|
}
|
|
@@ -218,12 +217,14 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
218
217
|
{},
|
|
219
218
|
{
|
|
220
219
|
skipNonStatic: id.staticGenerate,
|
|
220
|
+
// if not static generate, only non-static loader can exec on prod env
|
|
221
221
|
skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
|
|
222
222
|
}
|
|
223
223
|
)
|
|
224
224
|
});
|
|
225
225
|
const isRedirectResponse = (result) => {
|
|
226
|
-
if (typeof Response !== "undefined" &&
|
|
226
|
+
if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
|
|
227
|
+
result instanceof Response && result.status >= 300 && result.status <= 399) {
|
|
227
228
|
const { status } = result;
|
|
228
229
|
const redirectUrl = result.headers.get("Location") || "/";
|
|
229
230
|
const { ssrContext } = context;
|
|
@@ -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
|
));
|
|
@@ -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
|
));
|
|
@@ -88,6 +92,7 @@ const createLoader = (id, initialData = {
|
|
|
88
92
|
reloading: hasLoaded && status === 1 /* loading */,
|
|
89
93
|
data,
|
|
90
94
|
error: error instanceof Error ? `${error.message}` : error,
|
|
95
|
+
// redundant fields for ssr log
|
|
91
96
|
_error: error
|
|
92
97
|
});
|
|
93
98
|
const notify = () => {
|
|
@@ -128,6 +133,7 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
|
|
|
128
133
|
id,
|
|
129
134
|
typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : { data: loaderOptions.initialData },
|
|
130
135
|
loaderFn,
|
|
136
|
+
// Todo whether static loader is exec when CSR
|
|
131
137
|
skipExec
|
|
132
138
|
);
|
|
133
139
|
loadersMap.set(id, loader);
|
|
@@ -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
|
));
|
|
@@ -28,14 +28,12 @@ var import_Root = require("./Root");
|
|
|
28
28
|
function Body(props) {
|
|
29
29
|
const { hasSetRoot } = (0, import_react.useContext)(import_DocumentStructureContext.DocumentStructureContext);
|
|
30
30
|
const { children } = props;
|
|
31
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
]
|
|
38
|
-
});
|
|
31
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", { children: [
|
|
32
|
+
hasSetRoot ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Root.DefaultRoot, {}),
|
|
33
|
+
children,
|
|
34
|
+
`${import_constants.DOCUMENT_CHUNKSMAP_PLACEHOLDER}`,
|
|
35
|
+
`${import_constants.DOCUMENT_SSRDATASCRIPT_PLACEHOLDER}`
|
|
36
|
+
] });
|
|
39
37
|
}
|
|
40
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
41
39
|
0 && (module.exports = {
|
|
@@ -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
|
));
|
|
@@ -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,19 +30,15 @@ var import_constants = require("./constants");
|
|
|
30
30
|
function Head(props) {
|
|
31
31
|
const { hasSetScripts, hasSetLinks } = (0, import_react.useContext)(import_DocumentStructureContext.DocumentStructureContext);
|
|
32
32
|
const { children } = props;
|
|
33
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("head", {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
]
|
|
40
|
-
});
|
|
33
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("head", { children: [
|
|
34
|
+
`${import_constants.DOCUMENT_META_PLACEHOLDER}`,
|
|
35
|
+
!hasSetLinks && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Links.Links, {}),
|
|
36
|
+
!hasSetScripts && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scripts.Scripts, {}),
|
|
37
|
+
children
|
|
38
|
+
] });
|
|
41
39
|
}
|
|
42
40
|
function DefaultHead() {
|
|
43
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("head", {
|
|
44
|
-
children: `${import_constants.DOCUMENT_META_PLACEHOLDER}`
|
|
45
|
-
});
|
|
41
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("head", { children: `${import_constants.DOCUMENT_META_PLACEHOLDER}` });
|
|
46
42
|
}
|
|
47
43
|
// Annotate the CommonJS export names for ESM import in node:
|
|
48
44
|
0 && (module.exports = {
|
|
@@ -56,29 +56,31 @@ function Html(props) {
|
|
|
56
56
|
const notMissMustChild = [
|
|
57
57
|
hasSetHead,
|
|
58
58
|
hasSetBody
|
|
59
|
+
// hasSetScripts,
|
|
60
|
+
// hasSetRoot,
|
|
59
61
|
].every((item) => item);
|
|
60
62
|
if (!notMissMustChild) {
|
|
61
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
63
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", { style: { color: "red" }, children: [
|
|
64
|
+
`Miss the `,
|
|
65
|
+
[
|
|
66
|
+
hasSetHead,
|
|
67
|
+
hasSetBody
|
|
68
|
+
// hasSetScripts,
|
|
69
|
+
// hasSetRoot,
|
|
70
|
+
].map((item, index) => {
|
|
71
|
+
return item ? null : [
|
|
72
|
+
"Head",
|
|
73
|
+
"Body"
|
|
74
|
+
// 'Scripts',
|
|
75
|
+
// 'Root',
|
|
76
|
+
][index];
|
|
77
|
+
}),
|
|
78
|
+
` Element`
|
|
79
|
+
] }) });
|
|
79
80
|
}
|
|
80
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", {
|
|
81
|
-
|
|
81
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
82
|
+
import_DocumentStructureContext.DocumentStructureContext.Provider,
|
|
83
|
+
{
|
|
82
84
|
value: {
|
|
83
85
|
hasSetHead,
|
|
84
86
|
hasSetScripts,
|
|
@@ -92,8 +94,8 @@ function Html(props) {
|
|
|
92
94
|
!hasSetBody && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Body.Body, {}),
|
|
93
95
|
children
|
|
94
96
|
]
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
+
}
|
|
98
|
+
) });
|
|
97
99
|
}
|
|
98
100
|
// Annotate the CommonJS export names for ESM import in node:
|
|
99
101
|
0 && (module.exports = {
|
|
@@ -23,9 +23,7 @@ module.exports = __toCommonJS(Links_exports);
|
|
|
23
23
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
24
24
|
var import_constants = require("./constants");
|
|
25
25
|
function Links() {
|
|
26
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
27
|
-
children: import_constants.DOCUMENT_LINKS_PLACEHOLDER
|
|
28
|
-
});
|
|
26
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: import_constants.DOCUMENT_LINKS_PLACEHOLDER });
|
|
29
27
|
}
|
|
30
28
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
29
|
0 && (module.exports = {
|
|
@@ -30,25 +30,19 @@ function Root(props) {
|
|
|
30
30
|
const {
|
|
31
31
|
templateParams: { mountId = "root" }
|
|
32
32
|
} = (0, import_react.useContext)(import_DocumentContext.DocumentContext);
|
|
33
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
34
|
-
|
|
35
|
-
children
|
|
36
|
-
|
|
37
|
-
children
|
|
38
|
-
]
|
|
39
|
-
});
|
|
33
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { id: `${rootId || mountId}`, children: [
|
|
34
|
+
`${import_constants.DOCUMENT_SSR_PLACEHOLDER}`,
|
|
35
|
+
children
|
|
36
|
+
] });
|
|
40
37
|
}
|
|
41
38
|
function DefaultRoot(props) {
|
|
42
39
|
const {
|
|
43
40
|
templateParams: { mountId = "root" }
|
|
44
41
|
} = (0, import_react.useContext)(import_DocumentContext.DocumentContext);
|
|
45
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
46
|
-
|
|
47
|
-
children
|
|
48
|
-
|
|
49
|
-
props.children
|
|
50
|
-
]
|
|
51
|
-
});
|
|
42
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { id: `${mountId}`, children: [
|
|
43
|
+
`${import_constants.DOCUMENT_SSR_PLACEHOLDER}`,
|
|
44
|
+
props.children
|
|
45
|
+
] });
|
|
52
46
|
}
|
|
53
47
|
// Annotate the CommonJS export names for ESM import in node:
|
|
54
48
|
0 && (module.exports = {
|
|
@@ -26,13 +26,11 @@ function Script(props) {
|
|
|
26
26
|
const { content } = props;
|
|
27
27
|
const contentStr = content.toString();
|
|
28
28
|
const contentIIFE = encodeURIComponent(`(${contentStr})()`);
|
|
29
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
]
|
|
35
|
-
});
|
|
29
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
30
|
+
`${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_START}`,
|
|
31
|
+
`${contentIIFE}`,
|
|
32
|
+
`${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_END}`
|
|
33
|
+
] });
|
|
36
34
|
}
|
|
37
35
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
36
|
0 && (module.exports = {
|
|
@@ -23,9 +23,7 @@ module.exports = __toCommonJS(Scripts_exports);
|
|
|
23
23
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
24
24
|
var import_constants = require("./constants");
|
|
25
25
|
function Scripts() {
|
|
26
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
27
|
-
children: `${import_constants.DOCUMENT_SCRIPTS_PLACEHOLDER}`
|
|
28
|
-
});
|
|
26
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: `${import_constants.DOCUMENT_SCRIPTS_PLACEHOLDER}` });
|
|
29
27
|
}
|
|
30
28
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
29
|
0 && (module.exports = {
|
|
@@ -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
|
));
|
|
@@ -107,6 +111,7 @@ var cli_default = () => ({
|
|
|
107
111
|
entryPoints: [documentFilePath],
|
|
108
112
|
outfile: htmlOutputFile,
|
|
109
113
|
platform: "node",
|
|
114
|
+
// change esbuild use the rootDir tsconfig.json as default to tempTsConfigFile
|
|
110
115
|
tsconfig: tempTsConfigFile,
|
|
111
116
|
target: "es6",
|
|
112
117
|
loader: {
|
|
@@ -163,7 +168,7 @@ var cli_default = () => ({
|
|
|
163
168
|
`${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_START}(.*?)${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_END}`,
|
|
164
169
|
"g"
|
|
165
170
|
),
|
|
166
|
-
(_scriptStr, $1) => `<script>${decodeURIComponent($1)}
|
|
171
|
+
(_scriptStr, $1) => `<script>${decodeURIComponent($1)}</script>`
|
|
167
172
|
);
|
|
168
173
|
}
|
|
169
174
|
const finalHtml = `<!DOCTYPE html>${html}`.replace(import_constants.DOCUMENT_META_PLACEHOLDER, metas).replace(import_constants.DOCUMENT_SSR_PLACEHOLDER, import_constants.HTML_SEPARATOR).replace(import_constants.DOCUMENT_SCRIPTS_PLACEHOLDER, scripts).replace(import_constants.DOCUMENT_LINKS_PLACEHOLDER, links).replace(
|
|
@@ -189,6 +194,7 @@ var cli_default = () => ({
|
|
|
189
194
|
) : { ...options == null ? void 0 : options.templateParameters };
|
|
190
195
|
const templateContent = documentEntry(
|
|
191
196
|
entry.entryName,
|
|
197
|
+
// options,
|
|
192
198
|
hackParameters
|
|
193
199
|
);
|
|
194
200
|
const documentHtmlOptions = templateContent ? {
|
package/dist/cjs/exports/head.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
|
));
|
|
@@ -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
|
));
|
|
@@ -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
|
));
|
|
@@ -23,10 +23,6 @@ module.exports = __toCommonJS(cli_exports);
|
|
|
23
23
|
var import_utils = require("@modern-js/utils");
|
|
24
24
|
const PLUGIN_IDENTIFIER = "router";
|
|
25
25
|
const ROUTES_IDENTIFIER = "routes";
|
|
26
|
-
const isV5 = (config) => {
|
|
27
|
-
var _a, _b;
|
|
28
|
-
return ((_b = (_a = config == null ? void 0 : config.runtime) == null ? void 0 : _a.router) == null ? void 0 : _b.mode) === "react-router-5";
|
|
29
|
-
};
|
|
30
26
|
var cli_default = () => ({
|
|
31
27
|
name: "@modern-js/plugin-router",
|
|
32
28
|
required: ["@modern-js/runtime"],
|
|
@@ -63,7 +59,7 @@ var cli_default = () => ({
|
|
|
63
59
|
);
|
|
64
60
|
runtimeConfigMap.set(entryName, runtimeConfig);
|
|
65
61
|
if (runtimeConfig == null ? void 0 : runtimeConfig.router) {
|
|
66
|
-
if (!
|
|
62
|
+
if (!(0, import_utils.isRouterV5)(userConfig)) {
|
|
67
63
|
imports.push({
|
|
68
64
|
value: "@modern-js/runtime/plugins",
|
|
69
65
|
specifiers: [{ imported: PLUGIN_IDENTIFIER }]
|
|
@@ -84,7 +80,7 @@ var cli_default = () => ({
|
|
|
84
80
|
const { serverRoutes } = api.useAppContext();
|
|
85
81
|
const userConfig = api.useResolvedConfigContext();
|
|
86
82
|
const runtimeConfig = runtimeConfigMap.get(entryName);
|
|
87
|
-
if (runtimeConfig.router && !
|
|
83
|
+
if (runtimeConfig.router && !(0, import_utils.isRouterV5)(userConfig)) {
|
|
88
84
|
const serverBase = serverRoutes.filter((route) => route.entryName === entryName).map((route) => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
|
|
89
85
|
plugins.push({
|
|
90
86
|
name: PLUGIN_IDENTIFIER,
|
|
@@ -105,7 +101,7 @@ var cli_default = () => ({
|
|
|
105
101
|
},
|
|
106
102
|
addRuntimeExports() {
|
|
107
103
|
const userConfig = api.useResolvedConfigContext();
|
|
108
|
-
if (!
|
|
104
|
+
if (!(0, import_utils.isRouterV5)(userConfig)) {
|
|
109
105
|
pluginsExportsUtils.addExport(
|
|
110
106
|
`export { default as router } from '@modern-js/runtime/router'`
|
|
111
107
|
);
|
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
|
|
@@ -18,65 +18,16 @@ 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
|
-
Form: () => import_react_router_dom.Form,
|
|
22
|
-
Outlet: () => import_react_router_dom.Outlet,
|
|
23
21
|
default: () => runtime_default,
|
|
24
|
-
|
|
25
|
-
isRouteErrorResponse: () => import_react_router_dom.isRouteErrorResponse,
|
|
26
|
-
modifyRoutes: () => import_plugin2.modifyRoutes,
|
|
27
|
-
unstable_useBlocker: () => import_react_router_dom.unstable_useBlocker,
|
|
28
|
-
unstable_usePrompt: () => import_react_router_dom.unstable_usePrompt,
|
|
29
|
-
useAsyncError: () => import_react_router_dom.useAsyncError,
|
|
30
|
-
useAsyncValue: () => import_react_router_dom.useAsyncValue,
|
|
31
|
-
useBeforeUnload: () => import_react_router_dom.useBeforeUnload,
|
|
32
|
-
useFormAction: () => import_react_router_dom.useFormAction,
|
|
33
|
-
useHref: () => import_react_router_dom.useHref,
|
|
34
|
-
useLocation: () => import_react_router_dom.useLocation,
|
|
35
|
-
useNavigate: () => import_react_router_dom.useNavigate,
|
|
36
|
-
useNavigation: () => import_react_router_dom.useNavigation,
|
|
37
|
-
useNavigationType: () => import_react_router_dom.useNavigationType,
|
|
38
|
-
useOutlet: () => import_react_router_dom.useOutlet,
|
|
39
|
-
useOutletContext: () => import_react_router_dom.useOutletContext,
|
|
40
|
-
useParams: () => import_react_router_dom.useParams,
|
|
41
|
-
useResolvedPath: () => import_react_router_dom.useResolvedPath,
|
|
42
|
-
useRevalidator: () => import_react_router_dom.useRevalidator,
|
|
43
|
-
useRouteError: () => import_react_router_dom.useRouteError,
|
|
44
|
-
useRouteLoaderData: () => import_react_router_dom.useRouteLoaderData,
|
|
45
|
-
useSearchParams: () => import_react_router_dom.useSearchParams,
|
|
46
|
-
useSubmit: () => import_react_router_dom.useSubmit
|
|
22
|
+
modifyRoutes: () => import_plugin2.modifyRoutes
|
|
47
23
|
});
|
|
48
24
|
module.exports = __toCommonJS(runtime_exports);
|
|
49
25
|
var import_plugin = require("./plugin");
|
|
50
26
|
var import_plugin2 = require("./plugin");
|
|
27
|
+
__reExport(runtime_exports, require("react-router-dom"), module.exports);
|
|
51
28
|
__reExport(runtime_exports, require("./withRouter"), module.exports);
|
|
52
|
-
var import_react_router_dom = require("react-router-dom");
|
|
53
|
-
var import_remix_router = require("@modern-js/utils/remix-router");
|
|
54
29
|
var runtime_default = import_plugin.routerPlugin;
|
|
55
30
|
// Annotate the CommonJS export names for ESM import in node:
|
|
56
31
|
0 && (module.exports = {
|
|
57
|
-
|
|
58
|
-
Outlet,
|
|
59
|
-
defer,
|
|
60
|
-
isRouteErrorResponse,
|
|
61
|
-
modifyRoutes,
|
|
62
|
-
unstable_useBlocker,
|
|
63
|
-
unstable_usePrompt,
|
|
64
|
-
useAsyncError,
|
|
65
|
-
useAsyncValue,
|
|
66
|
-
useBeforeUnload,
|
|
67
|
-
useFormAction,
|
|
68
|
-
useHref,
|
|
69
|
-
useLocation,
|
|
70
|
-
useNavigate,
|
|
71
|
-
useNavigation,
|
|
72
|
-
useNavigationType,
|
|
73
|
-
useOutlet,
|
|
74
|
-
useOutletContext,
|
|
75
|
-
useParams,
|
|
76
|
-
useResolvedPath,
|
|
77
|
-
useRevalidator,
|
|
78
|
-
useRouteError,
|
|
79
|
-
useRouteLoaderData,
|
|
80
|
-
useSearchParams,
|
|
81
|
-
useSubmit
|
|
32
|
+
modifyRoutes
|
|
82
33
|
});
|