@modern-js/plugin-router-v5 2.63.6 → 2.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/runtime/hooks.js +2 -2
- package/dist/cjs/runtime/plugin.js +60 -62
- package/dist/esm/runtime/hooks.js +2 -2
- package/dist/esm/runtime/plugin.js +61 -63
- package/dist/esm-node/runtime/hooks.js +2 -2
- package/dist/esm-node/runtime/plugin.js +60 -62
- package/dist/types/runtime/hooks.d.ts +2 -3
- package/dist/types/runtime/index.d.ts +1 -1
- package/dist/types/runtime/plugin.d.ts +8 -2
- package/package.json +12 -12
@@ -21,8 +21,8 @@ __export(hooks_exports, {
|
|
21
21
|
modifyRoutesHook: () => modifyRoutesHook
|
22
22
|
});
|
23
23
|
module.exports = __toCommonJS(hooks_exports);
|
24
|
-
var
|
25
|
-
const modifyRoutesHook = (0,
|
24
|
+
var import_plugin_v2 = require("@modern-js/plugin-v2");
|
25
|
+
const modifyRoutesHook = (0, import_plugin_v2.createSyncHook)();
|
26
26
|
// Annotate the CommonJS export names for ESM import in node:
|
27
27
|
0 && (module.exports = {
|
28
28
|
modifyRoutesHook
|
@@ -34,71 +34,46 @@ let routes = [];
|
|
34
34
|
const routerPlugin = (userConfig = {}) => {
|
35
35
|
return {
|
36
36
|
name: "@modern-js/plugin-router",
|
37
|
-
|
37
|
+
registryHooks: {
|
38
38
|
modifyRoutes: import_hooks.modifyRoutesHook
|
39
39
|
},
|
40
40
|
setup: (api) => {
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
if (isBrow) {
|
67
|
-
return (props) => {
|
68
|
-
const runtimeContext = (0, import_react.useContext)(import_runtime.RuntimeReactContext);
|
69
|
-
const baseUrl = select(location.pathname).replace(/^\/*/, "/");
|
70
|
-
const basename = baseUrl === "/" ? (0, import_utils.urlJoin)(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
71
|
-
historyOptions.basename = basename;
|
72
|
-
const history = customHistory || (supportHtml5History ? (0, import_history.createBrowserHistory)(historyOptions) : (0, import_history.createHashHistory)(historyOptions));
|
73
|
-
const runner = api.useHookRunners();
|
74
|
-
routes = runner.modifyRoutes(originRoutes);
|
75
|
-
finalRouteConfig && (finalRouteConfig.routes = routes);
|
76
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.Router, {
|
77
|
-
history,
|
78
|
-
children: createRoutes ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
|
79
|
-
Component: createRoutes()
|
80
|
-
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
|
81
|
-
...props
|
82
|
-
}) : (0, import_utils.renderRoutes)(finalRouteConfig, props)
|
83
|
-
});
|
84
|
-
};
|
85
|
-
}
|
41
|
+
api.onBeforeRender((context) => {
|
42
|
+
context.router = {
|
43
|
+
useRouteMatch: import_react_router_dom.useRouteMatch,
|
44
|
+
useLocation: import_react_router_dom.useLocation,
|
45
|
+
useHistory: import_react_router_dom.useHistory
|
46
|
+
};
|
47
|
+
Object.defineProperty(context, "routes", {
|
48
|
+
get() {
|
49
|
+
return routes;
|
50
|
+
}
|
51
|
+
});
|
52
|
+
});
|
53
|
+
api.wrapRoot((App) => {
|
54
|
+
const pluginConfig = api.getRuntimeConfig();
|
55
|
+
const { serverBase = [], history: customHistory, supportHtml5History = true, routesConfig, createRoutes, historyOptions = {} } = (0, import_merge.merge)(pluginConfig.router || {}, userConfig);
|
56
|
+
const finalRouteConfig = {
|
57
|
+
routes: (0, import_context.getGlobalRoutes)(),
|
58
|
+
globalApp: (0, import_context.getGlobalLayoutApp)(),
|
59
|
+
...routesConfig
|
60
|
+
};
|
61
|
+
const originRoutes = finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes;
|
62
|
+
const isBrow = (0, import_runtime.isBrowser)();
|
63
|
+
const select = (pathname) => serverBase.find((baseUrl) => pathname.search(baseUrl) === 0) || "/";
|
64
|
+
const getRouteApp = () => {
|
65
|
+
if (isBrow) {
|
86
66
|
return (props) => {
|
87
|
-
var _request_baseUrl;
|
88
67
|
const runtimeContext = (0, import_react.useContext)(import_runtime.RuntimeReactContext);
|
89
|
-
const
|
90
|
-
const location1 = (0, import_utils.getLocation)(ssrContext);
|
91
|
-
const routerContext = (ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.redirection) || {};
|
92
|
-
const request = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.request;
|
93
|
-
const baseUrl = request === null || request === void 0 ? void 0 : (_request_baseUrl = request.baseUrl) === null || _request_baseUrl === void 0 ? void 0 : _request_baseUrl.replace(/^\/*/, "/");
|
68
|
+
const baseUrl = select(location.pathname).replace(/^\/*/, "/");
|
94
69
|
const basename = baseUrl === "/" ? (0, import_utils.urlJoin)(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
95
|
-
|
96
|
-
const
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
70
|
+
historyOptions.basename = basename;
|
71
|
+
const history = customHistory || (supportHtml5History ? (0, import_history.createBrowserHistory)(historyOptions) : (0, import_history.createHashHistory)(historyOptions));
|
72
|
+
const hooks = api.getHooks();
|
73
|
+
routes = hooks.modifyRoutes.call(originRoutes);
|
74
|
+
finalRouteConfig && (finalRouteConfig.routes = routes);
|
75
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.Router, {
|
76
|
+
history,
|
102
77
|
children: createRoutes ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
|
103
78
|
Component: createRoutes()
|
104
79
|
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
|
@@ -106,10 +81,33 @@ const routerPlugin = (userConfig = {}) => {
|
|
106
81
|
}) : (0, import_utils.renderRoutes)(finalRouteConfig, props)
|
107
82
|
});
|
108
83
|
};
|
84
|
+
}
|
85
|
+
return (props) => {
|
86
|
+
var _request_baseUrl;
|
87
|
+
const runtimeContext = (0, import_react.useContext)(import_runtime.RuntimeReactContext);
|
88
|
+
const { ssrContext } = runtimeContext;
|
89
|
+
const location1 = (0, import_utils.getLocation)(ssrContext);
|
90
|
+
const routerContext = (ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.redirection) || {};
|
91
|
+
const request = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.request;
|
92
|
+
const baseUrl = request === null || request === void 0 ? void 0 : (_request_baseUrl = request.baseUrl) === null || _request_baseUrl === void 0 ? void 0 : _request_baseUrl.replace(/^\/*/, "/");
|
93
|
+
const basename = baseUrl === "/" ? (0, import_utils.urlJoin)(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
94
|
+
const hooks = api.getHooks();
|
95
|
+
const routes2 = hooks.modifyRoutes.call(originRoutes);
|
96
|
+
finalRouteConfig && (finalRouteConfig.routes = routes2);
|
97
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.StaticRouter, {
|
98
|
+
basename: basename === "/" ? "" : basename,
|
99
|
+
location: location1,
|
100
|
+
context: routerContext,
|
101
|
+
children: createRoutes ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
|
102
|
+
Component: createRoutes()
|
103
|
+
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {
|
104
|
+
...props
|
105
|
+
}) : (0, import_utils.renderRoutes)(finalRouteConfig, props)
|
106
|
+
});
|
109
107
|
};
|
110
|
-
|
111
|
-
|
112
|
-
};
|
108
|
+
};
|
109
|
+
return getRouteApp();
|
110
|
+
});
|
113
111
|
}
|
114
112
|
};
|
115
113
|
};
|
@@ -13,81 +13,79 @@ var routerPlugin = function() {
|
|
13
13
|
var userConfig = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
14
14
|
return {
|
15
15
|
name: "@modern-js/plugin-router",
|
16
|
-
|
16
|
+
registryHooks: {
|
17
17
|
modifyRoutes: modifyRoutesHook
|
18
18
|
},
|
19
19
|
setup: function(api) {
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
return
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
if (isBrow) {
|
49
|
-
return function(props) {
|
50
|
-
var runtimeContext = useContext(RuntimeReactContext);
|
51
|
-
var baseUrl = select(location.pathname).replace(/^\/*/, "/");
|
52
|
-
var basename = baseUrl === "/" ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
53
|
-
historyOptions.basename = basename;
|
54
|
-
var history = customHistory || (supportHtml5History ? createBrowserHistory(historyOptions) : createHashHistory(historyOptions));
|
55
|
-
var runner = api.useHookRunners();
|
56
|
-
routes = runner.modifyRoutes(originRoutes);
|
57
|
-
finalRouteConfig && (finalRouteConfig.routes = routes);
|
58
|
-
return /* @__PURE__ */ _jsx(Router, {
|
59
|
-
history,
|
60
|
-
children: createRoutes ? /* @__PURE__ */ _jsx(App, {
|
61
|
-
Component: createRoutes()
|
62
|
-
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ _jsx(App, _object_spread({}, props)) : renderRoutes(finalRouteConfig, props)
|
63
|
-
});
|
64
|
-
};
|
65
|
-
}
|
20
|
+
api.onBeforeRender(function(context) {
|
21
|
+
context.router = {
|
22
|
+
useRouteMatch,
|
23
|
+
useLocation,
|
24
|
+
useHistory
|
25
|
+
};
|
26
|
+
Object.defineProperty(context, "routes", {
|
27
|
+
get: function get() {
|
28
|
+
return routes;
|
29
|
+
}
|
30
|
+
});
|
31
|
+
});
|
32
|
+
api.wrapRoot(function(App) {
|
33
|
+
var pluginConfig = api.getRuntimeConfig();
|
34
|
+
var _merge = merge(pluginConfig.router || {}, userConfig), _merge_serverBase = _merge.serverBase, serverBase = _merge_serverBase === void 0 ? [] : _merge_serverBase, customHistory = _merge.history, _merge_supportHtml5History = _merge.supportHtml5History, supportHtml5History = _merge_supportHtml5History === void 0 ? true : _merge_supportHtml5History, routesConfig = _merge.routesConfig, createRoutes = _merge.createRoutes, _merge_historyOptions = _merge.historyOptions, historyOptions = _merge_historyOptions === void 0 ? {} : _merge_historyOptions;
|
35
|
+
var finalRouteConfig = _object_spread({
|
36
|
+
routes: getGlobalRoutes(),
|
37
|
+
globalApp: getGlobalLayoutApp()
|
38
|
+
}, routesConfig);
|
39
|
+
var originRoutes = finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes;
|
40
|
+
var isBrow = isBrowser();
|
41
|
+
var select = function(pathname) {
|
42
|
+
return serverBase.find(function(baseUrl) {
|
43
|
+
return pathname.search(baseUrl) === 0;
|
44
|
+
}) || "/";
|
45
|
+
};
|
46
|
+
var getRouteApp = function() {
|
47
|
+
if (isBrow) {
|
66
48
|
return function(props) {
|
67
|
-
var _request_baseUrl;
|
68
49
|
var runtimeContext = useContext(RuntimeReactContext);
|
69
|
-
var
|
70
|
-
var location1 = getLocation(ssrContext);
|
71
|
-
var routerContext = (ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.redirection) || {};
|
72
|
-
var request = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.request;
|
73
|
-
var baseUrl = request === null || request === void 0 ? void 0 : (_request_baseUrl = request.baseUrl) === null || _request_baseUrl === void 0 ? void 0 : _request_baseUrl.replace(/^\/*/, "/");
|
50
|
+
var baseUrl = select(location.pathname).replace(/^\/*/, "/");
|
74
51
|
var basename = baseUrl === "/" ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
75
|
-
|
76
|
-
var
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
52
|
+
historyOptions.basename = basename;
|
53
|
+
var history = customHistory || (supportHtml5History ? createBrowserHistory(historyOptions) : createHashHistory(historyOptions));
|
54
|
+
var hooks = api.getHooks();
|
55
|
+
routes = hooks.modifyRoutes.call(originRoutes);
|
56
|
+
finalRouteConfig && (finalRouteConfig.routes = routes);
|
57
|
+
return /* @__PURE__ */ _jsx(Router, {
|
58
|
+
history,
|
82
59
|
children: createRoutes ? /* @__PURE__ */ _jsx(App, {
|
83
60
|
Component: createRoutes()
|
84
61
|
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ _jsx(App, _object_spread({}, props)) : renderRoutes(finalRouteConfig, props)
|
85
62
|
});
|
86
63
|
};
|
64
|
+
}
|
65
|
+
return function(props) {
|
66
|
+
var _request_baseUrl;
|
67
|
+
var runtimeContext = useContext(RuntimeReactContext);
|
68
|
+
var ssrContext = runtimeContext.ssrContext;
|
69
|
+
var location1 = getLocation(ssrContext);
|
70
|
+
var routerContext = (ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.redirection) || {};
|
71
|
+
var request = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.request;
|
72
|
+
var baseUrl = request === null || request === void 0 ? void 0 : (_request_baseUrl = request.baseUrl) === null || _request_baseUrl === void 0 ? void 0 : _request_baseUrl.replace(/^\/*/, "/");
|
73
|
+
var basename = baseUrl === "/" ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
74
|
+
var hooks = api.getHooks();
|
75
|
+
var routes2 = hooks.modifyRoutes.call(originRoutes);
|
76
|
+
finalRouteConfig && (finalRouteConfig.routes = routes2);
|
77
|
+
return /* @__PURE__ */ _jsx(StaticRouter, {
|
78
|
+
basename: basename === "/" ? "" : basename,
|
79
|
+
location: location1,
|
80
|
+
context: routerContext,
|
81
|
+
children: createRoutes ? /* @__PURE__ */ _jsx(App, {
|
82
|
+
Component: createRoutes()
|
83
|
+
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ _jsx(App, _object_spread({}, props)) : renderRoutes(finalRouteConfig, props)
|
84
|
+
});
|
87
85
|
};
|
88
|
-
|
89
|
-
|
90
|
-
};
|
86
|
+
};
|
87
|
+
return getRouteApp();
|
88
|
+
});
|
91
89
|
}
|
92
90
|
};
|
93
91
|
};
|
@@ -11,71 +11,46 @@ let routes = [];
|
|
11
11
|
const routerPlugin = (userConfig = {}) => {
|
12
12
|
return {
|
13
13
|
name: "@modern-js/plugin-router",
|
14
|
-
|
14
|
+
registryHooks: {
|
15
15
|
modifyRoutes: modifyRoutesHook
|
16
16
|
},
|
17
17
|
setup: (api) => {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
if (isBrow) {
|
44
|
-
return (props) => {
|
45
|
-
const runtimeContext = useContext(RuntimeReactContext);
|
46
|
-
const baseUrl = select(location.pathname).replace(/^\/*/, "/");
|
47
|
-
const basename = baseUrl === "/" ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
48
|
-
historyOptions.basename = basename;
|
49
|
-
const history = customHistory || (supportHtml5History ? createBrowserHistory(historyOptions) : createHashHistory(historyOptions));
|
50
|
-
const runner = api.useHookRunners();
|
51
|
-
routes = runner.modifyRoutes(originRoutes);
|
52
|
-
finalRouteConfig && (finalRouteConfig.routes = routes);
|
53
|
-
return /* @__PURE__ */ _jsx(Router, {
|
54
|
-
history,
|
55
|
-
children: createRoutes ? /* @__PURE__ */ _jsx(App, {
|
56
|
-
Component: createRoutes()
|
57
|
-
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ _jsx(App, {
|
58
|
-
...props
|
59
|
-
}) : renderRoutes(finalRouteConfig, props)
|
60
|
-
});
|
61
|
-
};
|
62
|
-
}
|
18
|
+
api.onBeforeRender((context) => {
|
19
|
+
context.router = {
|
20
|
+
useRouteMatch,
|
21
|
+
useLocation,
|
22
|
+
useHistory
|
23
|
+
};
|
24
|
+
Object.defineProperty(context, "routes", {
|
25
|
+
get() {
|
26
|
+
return routes;
|
27
|
+
}
|
28
|
+
});
|
29
|
+
});
|
30
|
+
api.wrapRoot((App) => {
|
31
|
+
const pluginConfig = api.getRuntimeConfig();
|
32
|
+
const { serverBase = [], history: customHistory, supportHtml5History = true, routesConfig, createRoutes, historyOptions = {} } = merge(pluginConfig.router || {}, userConfig);
|
33
|
+
const finalRouteConfig = {
|
34
|
+
routes: getGlobalRoutes(),
|
35
|
+
globalApp: getGlobalLayoutApp(),
|
36
|
+
...routesConfig
|
37
|
+
};
|
38
|
+
const originRoutes = finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes;
|
39
|
+
const isBrow = isBrowser();
|
40
|
+
const select = (pathname) => serverBase.find((baseUrl) => pathname.search(baseUrl) === 0) || "/";
|
41
|
+
const getRouteApp = () => {
|
42
|
+
if (isBrow) {
|
63
43
|
return (props) => {
|
64
|
-
var _request_baseUrl;
|
65
44
|
const runtimeContext = useContext(RuntimeReactContext);
|
66
|
-
const
|
67
|
-
const location1 = getLocation(ssrContext);
|
68
|
-
const routerContext = (ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.redirection) || {};
|
69
|
-
const request = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.request;
|
70
|
-
const baseUrl = request === null || request === void 0 ? void 0 : (_request_baseUrl = request.baseUrl) === null || _request_baseUrl === void 0 ? void 0 : _request_baseUrl.replace(/^\/*/, "/");
|
45
|
+
const baseUrl = select(location.pathname).replace(/^\/*/, "/");
|
71
46
|
const basename = baseUrl === "/" ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
72
|
-
|
73
|
-
const
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
47
|
+
historyOptions.basename = basename;
|
48
|
+
const history = customHistory || (supportHtml5History ? createBrowserHistory(historyOptions) : createHashHistory(historyOptions));
|
49
|
+
const hooks = api.getHooks();
|
50
|
+
routes = hooks.modifyRoutes.call(originRoutes);
|
51
|
+
finalRouteConfig && (finalRouteConfig.routes = routes);
|
52
|
+
return /* @__PURE__ */ _jsx(Router, {
|
53
|
+
history,
|
79
54
|
children: createRoutes ? /* @__PURE__ */ _jsx(App, {
|
80
55
|
Component: createRoutes()
|
81
56
|
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ _jsx(App, {
|
@@ -83,10 +58,33 @@ const routerPlugin = (userConfig = {}) => {
|
|
83
58
|
}) : renderRoutes(finalRouteConfig, props)
|
84
59
|
});
|
85
60
|
};
|
61
|
+
}
|
62
|
+
return (props) => {
|
63
|
+
var _request_baseUrl;
|
64
|
+
const runtimeContext = useContext(RuntimeReactContext);
|
65
|
+
const { ssrContext } = runtimeContext;
|
66
|
+
const location1 = getLocation(ssrContext);
|
67
|
+
const routerContext = (ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.redirection) || {};
|
68
|
+
const request = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.request;
|
69
|
+
const baseUrl = request === null || request === void 0 ? void 0 : (_request_baseUrl = request.baseUrl) === null || _request_baseUrl === void 0 ? void 0 : _request_baseUrl.replace(/^\/*/, "/");
|
70
|
+
const basename = baseUrl === "/" ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || historyOptions.basename) : baseUrl;
|
71
|
+
const hooks = api.getHooks();
|
72
|
+
const routes2 = hooks.modifyRoutes.call(originRoutes);
|
73
|
+
finalRouteConfig && (finalRouteConfig.routes = routes2);
|
74
|
+
return /* @__PURE__ */ _jsx(StaticRouter, {
|
75
|
+
basename: basename === "/" ? "" : basename,
|
76
|
+
location: location1,
|
77
|
+
context: routerContext,
|
78
|
+
children: createRoutes ? /* @__PURE__ */ _jsx(App, {
|
79
|
+
Component: createRoutes()
|
80
|
+
}) : App && !(finalRouteConfig === null || finalRouteConfig === void 0 ? void 0 : finalRouteConfig.routes) ? /* @__PURE__ */ _jsx(App, {
|
81
|
+
...props
|
82
|
+
}) : renderRoutes(finalRouteConfig, props)
|
83
|
+
});
|
86
84
|
};
|
87
|
-
|
88
|
-
|
89
|
-
};
|
85
|
+
};
|
86
|
+
return getRouteApp();
|
87
|
+
});
|
90
88
|
}
|
91
89
|
};
|
92
90
|
};
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import type { RouteProps } from 'react-router-dom';
|
2
|
-
|
3
|
-
|
4
|
-
}>[]>;
|
2
|
+
import type { SingleRouteConfig } from './plugin';
|
3
|
+
declare const modifyRoutesHook: import("@modern-js/plugin-v2/src/types/hooks").SyncHook<(routes: RouteProps[]) => SingleRouteConfig[]>;
|
5
4
|
export { modifyRoutesHook };
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { routerPlugin } from './plugin';
|
2
|
-
export type { SingleRouteConfig, HistoryConfig, RouterConfig } from './plugin';
|
2
|
+
export type { SingleRouteConfig, HistoryConfig, RouterConfig, RouterExtendsHooks, } from './plugin';
|
3
3
|
export { routerPlugin } from './plugin';
|
4
4
|
export default routerPlugin;
|
5
5
|
export * from 'react-router-dom';
|
@@ -1,7 +1,11 @@
|
|
1
|
-
import type {
|
1
|
+
import type { RuntimePluginFuture } from '@modern-js/runtime';
|
2
2
|
import { type BrowserHistoryBuildOptions, type HashHistoryBuildOptions, type History } from 'history';
|
3
3
|
import type React from 'react';
|
4
4
|
import { type RouteProps } from 'react-router-dom';
|
5
|
+
import { modifyRoutesHook } from './hooks';
|
6
|
+
export type RouterExtendsHooks = {
|
7
|
+
modifyRoutes: typeof modifyRoutesHook;
|
8
|
+
};
|
5
9
|
export type SingleRouteConfig = RouteProps & {
|
6
10
|
redirect?: string;
|
7
11
|
routes?: SingleRouteConfig[];
|
@@ -32,4 +36,6 @@ export type RouterConfig = Partial<HistoryConfig> & {
|
|
32
36
|
history?: History;
|
33
37
|
serverBase?: string[];
|
34
38
|
};
|
35
|
-
export declare const routerPlugin: (userConfig?: RouterConfig) =>
|
39
|
+
export declare const routerPlugin: (userConfig?: RouterConfig) => RuntimePluginFuture<{
|
40
|
+
extendHooks: RouterExtendsHooks;
|
41
|
+
}>;
|
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.
|
18
|
+
"version": "2.64.0",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
20
|
"types": "./dist/types/cli/index.d.ts",
|
21
21
|
"main": "./dist/cjs/cli/index.js",
|
@@ -59,16 +59,16 @@
|
|
59
59
|
"@types/react-router-dom": "^5.1.8",
|
60
60
|
"history": "^4.7.9",
|
61
61
|
"react-router-dom": "^5.3.4",
|
62
|
-
"@modern-js/plugin": "2.
|
63
|
-
"@modern-js/plugin-v2": "2.
|
64
|
-
"@modern-js/runtime-utils": "2.
|
65
|
-
"@modern-js/types": "2.
|
66
|
-
"@modern-js/utils": "2.
|
62
|
+
"@modern-js/plugin": "2.64.0",
|
63
|
+
"@modern-js/plugin-v2": "2.64.0",
|
64
|
+
"@modern-js/runtime-utils": "2.64.0",
|
65
|
+
"@modern-js/types": "2.64.0",
|
66
|
+
"@modern-js/utils": "2.64.0"
|
67
67
|
},
|
68
68
|
"peerDependencies": {
|
69
69
|
"react": ">=17",
|
70
70
|
"react-dom": ">=17",
|
71
|
-
"@modern-js/runtime": "^2.
|
71
|
+
"@modern-js/runtime": "^2.64.0"
|
72
72
|
},
|
73
73
|
"devDependencies": {
|
74
74
|
"@testing-library/react": "^13.4.0",
|
@@ -80,11 +80,11 @@
|
|
80
80
|
"react-dom": "^18.3.1",
|
81
81
|
"ts-jest": "^29.1.0",
|
82
82
|
"typescript": "^5",
|
83
|
-
"@modern-js/app-tools": "2.
|
84
|
-
"@modern-js/core": "2.
|
85
|
-
"@modern-js/runtime": "2.
|
86
|
-
"@scripts/build": "2.
|
87
|
-
"@scripts/jest-config": "2.
|
83
|
+
"@modern-js/app-tools": "2.64.0",
|
84
|
+
"@modern-js/core": "2.64.0",
|
85
|
+
"@modern-js/runtime": "2.64.0",
|
86
|
+
"@scripts/build": "2.64.0",
|
87
|
+
"@scripts/jest-config": "2.64.0"
|
88
88
|
},
|
89
89
|
"sideEffects": false,
|
90
90
|
"publishConfig": {
|