@modern-js/runtime 2.58.4-alpha.1 → 2.59.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/core/browser/index.js +0 -5
- package/dist/cjs/core/react/index.js +7 -0
- package/dist/cjs/router/cli/code/index.js +21 -12
- package/dist/esm/core/browser/index.js +1 -6
- package/dist/esm/core/react/index.js +7 -0
- package/dist/esm/router/cli/code/index.js +32 -33
- package/dist/esm-node/core/browser/index.js +0 -5
- package/dist/esm-node/core/react/index.js +7 -0
- package/dist/esm-node/router/cli/code/index.js +21 -12
- package/dist/types/router/runtime/withRouter.d.ts +5 -3
- package/package.json +12 -12
|
@@ -31,9 +31,7 @@ __export(browser_exports, {
|
|
|
31
31
|
render: () => render
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(browser_exports);
|
|
34
|
-
var import_parsed = require("@modern-js/runtime-utils/parsed");
|
|
35
34
|
var import_cookie = __toESM(require("cookie"));
|
|
36
|
-
var import_constants = require("../constants");
|
|
37
35
|
var import_context = require("../context");
|
|
38
36
|
var import_runtime = require("../context/runtime");
|
|
39
37
|
var import_loaderManager = require("../loader/loaderManager");
|
|
@@ -92,9 +90,6 @@ async function render(App, id) {
|
|
|
92
90
|
};
|
|
93
91
|
if (isClientArgs(id)) {
|
|
94
92
|
var _ssrData_data, _ssrData_data1;
|
|
95
|
-
window._SSR_DATA = window._SSR_DATA || (0, import_parsed.parsedJSONFromElement)(import_constants.SSR_DATA_JSON_ID);
|
|
96
|
-
const routeData = (0, import_parsed.parsedJSONFromElement)(import_constants.ROUTER_DATA_JSON_ID);
|
|
97
|
-
window._ROUTER_DATA = window._ROUTER_DATA || routeData;
|
|
98
93
|
const ssrData = getSSRData();
|
|
99
94
|
const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
100
95
|
const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
|
|
@@ -21,10 +21,17 @@ __export(react_exports, {
|
|
|
21
21
|
createRoot: () => createRoot
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(react_exports);
|
|
24
|
+
var import_parsed = require("@modern-js/runtime-utils/parsed");
|
|
25
|
+
var import_common = require("../../common");
|
|
26
|
+
var import_constants = require("../constants");
|
|
24
27
|
var import_context = require("../context");
|
|
25
28
|
var import_runner = require("../plugin/runner");
|
|
26
29
|
function createRoot(UserApp) {
|
|
27
30
|
const App = UserApp || (0, import_context.getGlobalApp)();
|
|
31
|
+
if ((0, import_common.isBrowser)()) {
|
|
32
|
+
window._SSR_DATA = window._SSR_DATA || (0, import_parsed.parsedJSONFromElement)(import_constants.SSR_DATA_JSON_ID);
|
|
33
|
+
window._ROUTER_DATA = window._ROUTER_DATA || (0, import_parsed.parsedJSONFromElement)(import_constants.ROUTER_DATA_JSON_ID);
|
|
34
|
+
}
|
|
28
35
|
const runner = (0, import_runner.getGlobalRunner)();
|
|
29
36
|
const WrapperApp = runner.wrapRoot(App);
|
|
30
37
|
return WrapperApp;
|
|
@@ -84,7 +84,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
84
84
|
const config2 = api.useResolvedConfigContext();
|
|
85
85
|
const ssrByRouteIds = config2.server.ssrByRouteIds || [];
|
|
86
86
|
const clonedRoutes = (0, import_lodash.cloneDeep)(initialRoutes);
|
|
87
|
-
const markedRoutes = ssrByRouteIds.length > 0 ?
|
|
87
|
+
const markedRoutes = ssrByRouteIds.length > 0 ? markRoutes(clonedRoutes, ssrByRouteIds) : initialRoutes;
|
|
88
88
|
const { routes } = await hookRunners.modifyFileSystemRoutes({
|
|
89
89
|
entrypoint,
|
|
90
90
|
routes: markedRoutes
|
|
@@ -115,7 +115,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
115
115
|
})
|
|
116
116
|
});
|
|
117
117
|
if (entrypoint.nestedRoutesEntry && (0, import_utils.isUseSSRBundle)(config2)) {
|
|
118
|
-
var _config_output1
|
|
118
|
+
var _config_output1;
|
|
119
119
|
const routesServerFile = (0, import_utils2.getServerLoadersFile)(internalDirectory, entryName);
|
|
120
120
|
const filtedRoutesForServer = (0, import_utils.filterRoutesForServer)(routes);
|
|
121
121
|
const routesForServerLoaderMatches = (0, import_utils.filterRoutesLoader)(routes);
|
|
@@ -134,16 +134,6 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
134
134
|
splitRouteChunks: config2 === null || config2 === void 0 ? void 0 : (_config_output1 = config2.output) === null || _config_output1 === void 0 ? void 0 : _config_output1.splitRouteChunks
|
|
135
135
|
});
|
|
136
136
|
await import_utils.fs.outputFile(import_path.default.resolve(internalDirectory, `./${entryName}/routes.server.js`), serverRoutesCode, "utf8");
|
|
137
|
-
const mfServerRoutesCode = await templates.fileSystemRoutes({
|
|
138
|
-
metaName,
|
|
139
|
-
routes,
|
|
140
|
-
ssrMode: useSSG ? "string" : mode,
|
|
141
|
-
nestedRoutesEntry: entrypoint.nestedRoutesEntry,
|
|
142
|
-
entryName: entrypoint.entryName,
|
|
143
|
-
internalDirectory,
|
|
144
|
-
splitRouteChunks: config2 === null || config2 === void 0 ? void 0 : (_config_output2 = config2.output) === null || _config_output2 === void 0 ? void 0 : _config_output2.splitRouteChunks
|
|
145
|
-
});
|
|
146
|
-
await import_utils.fs.outputFile(import_path.default.resolve(internalDirectory, `./${entryName}/mf-routes.js`), mfServerRoutesCode, "utf8");
|
|
147
137
|
}
|
|
148
138
|
const serverLoaderCombined = templates.ssrLoaderCombinedModule(entrypoints, entrypoint, config2, appContext);
|
|
149
139
|
if (serverLoaderCombined) {
|
|
@@ -155,6 +145,25 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
155
145
|
}
|
|
156
146
|
}
|
|
157
147
|
};
|
|
148
|
+
function markRoutes(routes, routeIds) {
|
|
149
|
+
return routes.map((route) => {
|
|
150
|
+
if (route.type !== "nested") {
|
|
151
|
+
return route;
|
|
152
|
+
}
|
|
153
|
+
if (route.children && route.children.length > 0) {
|
|
154
|
+
route.children = markRoutes(route.children, routeIds);
|
|
155
|
+
}
|
|
156
|
+
if (route.children && route.children.length > 0) {
|
|
157
|
+
route.inValidSSRRoute = route.children.every((child) => {
|
|
158
|
+
var _child_inValidSSRRoute;
|
|
159
|
+
return (_child_inValidSSRRoute = child.inValidSSRRoute) !== null && _child_inValidSSRRoute !== void 0 ? _child_inValidSSRRoute : false;
|
|
160
|
+
});
|
|
161
|
+
} else if (route.id) {
|
|
162
|
+
route.inValidSSRRoute = !routeIds.includes(route.id);
|
|
163
|
+
}
|
|
164
|
+
return route;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
158
167
|
function generatorRegisterCode(internalDirectory, entryName, code) {
|
|
159
168
|
import_utils.fs.outputFileSync(import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}`), code, "utf8");
|
|
160
169
|
}
|
|
@@ -4,9 +4,7 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
|
4
4
|
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
5
5
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
6
6
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
7
|
-
import { parsedJSONFromElement } from "@modern-js/runtime-utils/parsed";
|
|
8
7
|
import cookieTool from "cookie";
|
|
9
|
-
import { ROUTER_DATA_JSON_ID, SSR_DATA_JSON_ID } from "../constants";
|
|
10
8
|
import { getGlobalAppInit } from "../context";
|
|
11
9
|
import { getInitialContext } from "../context/runtime";
|
|
12
10
|
import { createLoaderManager } from "../loader/loaderManager";
|
|
@@ -56,7 +54,7 @@ function render(App, id) {
|
|
|
56
54
|
}
|
|
57
55
|
function _render() {
|
|
58
56
|
_render = _async_to_generator(function(App, id) {
|
|
59
|
-
var runner, context, runBeforeRender, ModernRender, ModernHydrate, _ssrData_data, _ssrData_data1,
|
|
57
|
+
var runner, context, runBeforeRender, ModernRender, ModernHydrate, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement;
|
|
60
58
|
function _ModernRender() {
|
|
61
59
|
_ModernRender = _async_to_generator(function(App2) {
|
|
62
60
|
var renderFunc;
|
|
@@ -123,9 +121,6 @@ function _render() {
|
|
|
123
121
|
ModernHydrate = function ModernHydrate2(App2, callback) {
|
|
124
122
|
return _ModernHydrate.apply(this, arguments);
|
|
125
123
|
};
|
|
126
|
-
window._SSR_DATA = window._SSR_DATA || parsedJSONFromElement(SSR_DATA_JSON_ID);
|
|
127
|
-
routeData = parsedJSONFromElement(ROUTER_DATA_JSON_ID);
|
|
128
|
-
window._ROUTER_DATA = window._ROUTER_DATA || routeData;
|
|
129
124
|
ssrData = getSSRData();
|
|
130
125
|
loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
131
126
|
initialLoadersState = Object.keys(loadersData).reduce(function(res, key) {
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import { parsedJSONFromElement } from "@modern-js/runtime-utils/parsed";
|
|
2
|
+
import { isBrowser } from "../../common";
|
|
3
|
+
import { ROUTER_DATA_JSON_ID, SSR_DATA_JSON_ID } from "../constants";
|
|
1
4
|
import { getGlobalApp } from "../context";
|
|
2
5
|
import { getGlobalRunner } from "../plugin/runner";
|
|
3
6
|
function createRoot(UserApp) {
|
|
4
7
|
var App = UserApp || getGlobalApp();
|
|
8
|
+
if (isBrowser()) {
|
|
9
|
+
window._SSR_DATA = window._SSR_DATA || parsedJSONFromElement(SSR_DATA_JSON_ID);
|
|
10
|
+
window._ROUTER_DATA = window._ROUTER_DATA || parsedJSONFromElement(ROUTER_DATA_JSON_ID);
|
|
11
|
+
}
|
|
5
12
|
var runner = getGlobalRunner();
|
|
6
13
|
var WrapperApp = runner.wrapRoot(App);
|
|
7
14
|
return WrapperApp;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
3
|
import path from "path";
|
|
4
|
-
import { fs, filterRoutesForServer, filterRoutesLoader, getEntryOptions, isRouterV5, isSSGEntry, isUseSSRBundle, logger
|
|
4
|
+
import { fs, filterRoutesForServer, filterRoutesLoader, getEntryOptions, isRouterV5, isSSGEntry, isUseSSRBundle, logger } from "@modern-js/utils";
|
|
5
5
|
import { cloneDeep } from "@modern-js/utils/lodash";
|
|
6
6
|
import { ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME } from "../../../cli/constants";
|
|
7
7
|
import { FILE_SYSTEM_ROUTES_FILE_NAME } from "../constants";
|
|
@@ -17,7 +17,7 @@ var generateCode = function() {
|
|
|
17
17
|
}
|
|
18
18
|
function _generateEntryCode() {
|
|
19
19
|
_generateEntryCode = _async_to_generator(function(entrypoint) {
|
|
20
|
-
var entryName, isMainEntry, isAutoMount, pageRoutesEntry, nestedRoutesEntry, metaName, _config_output, initialRoutes, nestedRoutes, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, _$config, ssrByRouteIds, clonedRoutes, markedRoutes, routes, ssr, useSSG, mode, hasPageRoute, code, _, _tmp, _config_output1,
|
|
20
|
+
var entryName, isMainEntry, isAutoMount, pageRoutesEntry, nestedRoutesEntry, metaName, _config_output, initialRoutes, nestedRoutes, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, _$config, ssrByRouteIds, clonedRoutes, markedRoutes, routes, ssr, useSSG, mode, hasPageRoute, code, _, _tmp, _config_output1, routesServerFile, filtedRoutesForServer, routesForServerLoaderMatches, code1, serverRoutesCode, serverLoaderCombined, serverLoaderFile;
|
|
21
21
|
return _ts_generator(this, function(_state) {
|
|
22
22
|
switch (_state.label) {
|
|
23
23
|
case 0:
|
|
@@ -26,12 +26,12 @@ var generateCode = function() {
|
|
|
26
26
|
if (!isAutoMount)
|
|
27
27
|
return [
|
|
28
28
|
3,
|
|
29
|
-
|
|
29
|
+
14
|
|
30
30
|
];
|
|
31
31
|
if (!(pageRoutesEntry || nestedRoutesEntry))
|
|
32
32
|
return [
|
|
33
33
|
3,
|
|
34
|
-
|
|
34
|
+
14
|
|
35
35
|
];
|
|
36
36
|
initialRoutes = [];
|
|
37
37
|
nestedRoutes = null;
|
|
@@ -142,7 +142,7 @@ var generateCode = function() {
|
|
|
142
142
|
if (!(entrypoint.nestedRoutesEntry && isUseSSRBundle(_$config)))
|
|
143
143
|
return [
|
|
144
144
|
3,
|
|
145
|
-
|
|
145
|
+
10
|
|
146
146
|
];
|
|
147
147
|
routesServerFile = getServerLoadersFile(internalDirectory, entryName);
|
|
148
148
|
filtedRoutesForServer = filterRoutesForServer(routes);
|
|
@@ -182,51 +182,31 @@ var generateCode = function() {
|
|
|
182
182
|
];
|
|
183
183
|
case 9:
|
|
184
184
|
_state.sent();
|
|
185
|
-
|
|
186
|
-
4,
|
|
187
|
-
templates.fileSystemRoutes({
|
|
188
|
-
metaName,
|
|
189
|
-
routes,
|
|
190
|
-
ssrMode: useSSG ? "string" : mode,
|
|
191
|
-
nestedRoutesEntry: entrypoint.nestedRoutesEntry,
|
|
192
|
-
entryName: entrypoint.entryName,
|
|
193
|
-
internalDirectory,
|
|
194
|
-
splitRouteChunks: _$config === null || _$config === void 0 ? void 0 : (_config_output2 = _$config.output) === null || _config_output2 === void 0 ? void 0 : _config_output2.splitRouteChunks
|
|
195
|
-
})
|
|
196
|
-
];
|
|
185
|
+
_state.label = 10;
|
|
197
186
|
case 10:
|
|
198
|
-
mfServerRoutesCode = _state.sent();
|
|
199
|
-
return [
|
|
200
|
-
4,
|
|
201
|
-
fs.outputFile(path.resolve(internalDirectory, "./".concat(entryName, "/mf-routes.js")), mfServerRoutesCode, "utf8")
|
|
202
|
-
];
|
|
203
|
-
case 11:
|
|
204
|
-
_state.sent();
|
|
205
|
-
_state.label = 12;
|
|
206
|
-
case 12:
|
|
207
187
|
serverLoaderCombined = templates.ssrLoaderCombinedModule(entrypoints, entrypoint, _$config, appContext);
|
|
208
188
|
if (!serverLoaderCombined)
|
|
209
189
|
return [
|
|
210
190
|
3,
|
|
211
|
-
|
|
191
|
+
12
|
|
212
192
|
];
|
|
213
193
|
serverLoaderFile = getServerCombinedModueFile(internalDirectory, entryName);
|
|
214
194
|
return [
|
|
215
195
|
4,
|
|
216
196
|
fs.outputFile(serverLoaderFile, serverLoaderCombined)
|
|
217
197
|
];
|
|
218
|
-
case
|
|
198
|
+
case 11:
|
|
219
199
|
_state.sent();
|
|
220
|
-
_state.label =
|
|
221
|
-
case
|
|
200
|
+
_state.label = 12;
|
|
201
|
+
case 12:
|
|
222
202
|
return [
|
|
223
203
|
4,
|
|
224
204
|
fs.outputFile(path.resolve(internalDirectory, "./".concat(entryName, "/").concat(FILE_SYSTEM_ROUTES_FILE_NAME)), code, "utf8")
|
|
225
205
|
];
|
|
226
|
-
case
|
|
206
|
+
case 13:
|
|
227
207
|
_state.sent();
|
|
228
|
-
_state.label =
|
|
229
|
-
case
|
|
208
|
+
_state.label = 14;
|
|
209
|
+
case 14:
|
|
230
210
|
return [
|
|
231
211
|
2
|
|
232
212
|
];
|
|
@@ -259,6 +239,25 @@ var generateCode = function() {
|
|
|
259
239
|
return _ref.apply(this, arguments);
|
|
260
240
|
};
|
|
261
241
|
}();
|
|
242
|
+
function markRoutes(routes, routeIds) {
|
|
243
|
+
return routes.map(function(route) {
|
|
244
|
+
if (route.type !== "nested") {
|
|
245
|
+
return route;
|
|
246
|
+
}
|
|
247
|
+
if (route.children && route.children.length > 0) {
|
|
248
|
+
route.children = markRoutes(route.children, routeIds);
|
|
249
|
+
}
|
|
250
|
+
if (route.children && route.children.length > 0) {
|
|
251
|
+
route.inValidSSRRoute = route.children.every(function(child) {
|
|
252
|
+
var _child_inValidSSRRoute;
|
|
253
|
+
return (_child_inValidSSRRoute = child.inValidSSRRoute) !== null && _child_inValidSSRRoute !== void 0 ? _child_inValidSSRRoute : false;
|
|
254
|
+
});
|
|
255
|
+
} else if (route.id) {
|
|
256
|
+
route.inValidSSRRoute = !routeIds.includes(route.id);
|
|
257
|
+
}
|
|
258
|
+
return route;
|
|
259
|
+
});
|
|
260
|
+
}
|
|
262
261
|
function generatorRegisterCode(internalDirectory, entryName, code) {
|
|
263
262
|
fs.outputFileSync(path.resolve(internalDirectory, "./".concat(entryName, "/").concat(ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME)), code, "utf8");
|
|
264
263
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { parsedJSONFromElement } from "@modern-js/runtime-utils/parsed";
|
|
2
1
|
import cookieTool from "cookie";
|
|
3
|
-
import { ROUTER_DATA_JSON_ID, SSR_DATA_JSON_ID } from "../constants";
|
|
4
2
|
import { getGlobalAppInit } from "../context";
|
|
5
3
|
import { getInitialContext } from "../context/runtime";
|
|
6
4
|
import { createLoaderManager } from "../loader/loaderManager";
|
|
@@ -59,9 +57,6 @@ async function render(App, id) {
|
|
|
59
57
|
};
|
|
60
58
|
if (isClientArgs(id)) {
|
|
61
59
|
var _ssrData_data, _ssrData_data1;
|
|
62
|
-
window._SSR_DATA = window._SSR_DATA || parsedJSONFromElement(SSR_DATA_JSON_ID);
|
|
63
|
-
const routeData = parsedJSONFromElement(ROUTER_DATA_JSON_ID);
|
|
64
|
-
window._ROUTER_DATA = window._ROUTER_DATA || routeData;
|
|
65
60
|
const ssrData = getSSRData();
|
|
66
61
|
const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
67
62
|
const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import { parsedJSONFromElement } from "@modern-js/runtime-utils/parsed";
|
|
2
|
+
import { isBrowser } from "../../common";
|
|
3
|
+
import { ROUTER_DATA_JSON_ID, SSR_DATA_JSON_ID } from "../constants";
|
|
1
4
|
import { getGlobalApp } from "../context";
|
|
2
5
|
import { getGlobalRunner } from "../plugin/runner";
|
|
3
6
|
function createRoot(UserApp) {
|
|
4
7
|
const App = UserApp || getGlobalApp();
|
|
8
|
+
if (isBrowser()) {
|
|
9
|
+
window._SSR_DATA = window._SSR_DATA || parsedJSONFromElement(SSR_DATA_JSON_ID);
|
|
10
|
+
window._ROUTER_DATA = window._ROUTER_DATA || parsedJSONFromElement(ROUTER_DATA_JSON_ID);
|
|
11
|
+
}
|
|
5
12
|
const runner = getGlobalRunner();
|
|
6
13
|
const WrapperApp = runner.wrapRoot(App);
|
|
7
14
|
return WrapperApp;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "path";
|
|
2
|
-
import { fs, filterRoutesForServer, filterRoutesLoader, getEntryOptions, isRouterV5, isSSGEntry, isUseSSRBundle, logger
|
|
2
|
+
import { fs, filterRoutesForServer, filterRoutesLoader, getEntryOptions, isRouterV5, isSSGEntry, isUseSSRBundle, logger } from "@modern-js/utils";
|
|
3
3
|
import { cloneDeep } from "@modern-js/utils/lodash";
|
|
4
4
|
import { ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME } from "../../../cli/constants";
|
|
5
5
|
import { FILE_SYSTEM_ROUTES_FILE_NAME } from "../constants";
|
|
@@ -81,7 +81,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
81
81
|
})
|
|
82
82
|
});
|
|
83
83
|
if (entrypoint.nestedRoutesEntry && isUseSSRBundle(config2)) {
|
|
84
|
-
var _config_output1
|
|
84
|
+
var _config_output1;
|
|
85
85
|
const routesServerFile = getServerLoadersFile(internalDirectory, entryName);
|
|
86
86
|
const filtedRoutesForServer = filterRoutesForServer(routes);
|
|
87
87
|
const routesForServerLoaderMatches = filterRoutesLoader(routes);
|
|
@@ -100,16 +100,6 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
100
100
|
splitRouteChunks: config2 === null || config2 === void 0 ? void 0 : (_config_output1 = config2.output) === null || _config_output1 === void 0 ? void 0 : _config_output1.splitRouteChunks
|
|
101
101
|
});
|
|
102
102
|
await fs.outputFile(path.resolve(internalDirectory, `./${entryName}/routes.server.js`), serverRoutesCode, "utf8");
|
|
103
|
-
const mfServerRoutesCode = await templates.fileSystemRoutes({
|
|
104
|
-
metaName,
|
|
105
|
-
routes,
|
|
106
|
-
ssrMode: useSSG ? "string" : mode,
|
|
107
|
-
nestedRoutesEntry: entrypoint.nestedRoutesEntry,
|
|
108
|
-
entryName: entrypoint.entryName,
|
|
109
|
-
internalDirectory,
|
|
110
|
-
splitRouteChunks: config2 === null || config2 === void 0 ? void 0 : (_config_output2 = config2.output) === null || _config_output2 === void 0 ? void 0 : _config_output2.splitRouteChunks
|
|
111
|
-
});
|
|
112
|
-
await fs.outputFile(path.resolve(internalDirectory, `./${entryName}/mf-routes.js`), mfServerRoutesCode, "utf8");
|
|
113
103
|
}
|
|
114
104
|
const serverLoaderCombined = templates.ssrLoaderCombinedModule(entrypoints, entrypoint, config2, appContext);
|
|
115
105
|
if (serverLoaderCombined) {
|
|
@@ -121,6 +111,25 @@ const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
121
111
|
}
|
|
122
112
|
}
|
|
123
113
|
};
|
|
114
|
+
function markRoutes(routes, routeIds) {
|
|
115
|
+
return routes.map((route) => {
|
|
116
|
+
if (route.type !== "nested") {
|
|
117
|
+
return route;
|
|
118
|
+
}
|
|
119
|
+
if (route.children && route.children.length > 0) {
|
|
120
|
+
route.children = markRoutes(route.children, routeIds);
|
|
121
|
+
}
|
|
122
|
+
if (route.children && route.children.length > 0) {
|
|
123
|
+
route.inValidSSRRoute = route.children.every((child) => {
|
|
124
|
+
var _child_inValidSSRRoute;
|
|
125
|
+
return (_child_inValidSSRRoute = child.inValidSSRRoute) !== null && _child_inValidSSRRoute !== void 0 ? _child_inValidSSRRoute : false;
|
|
126
|
+
});
|
|
127
|
+
} else if (route.id) {
|
|
128
|
+
route.inValidSSRRoute = !routeIds.includes(route.id);
|
|
129
|
+
}
|
|
130
|
+
return route;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
124
133
|
function generatorRegisterCode(internalDirectory, entryName, code) {
|
|
125
134
|
fs.outputFileSync(path.resolve(internalDirectory, `./${entryName}/${ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}`), code, "utf8");
|
|
126
135
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { useLocation, useNavigate } from '@modern-js/runtime-utils/router';
|
|
2
2
|
import type React from 'react';
|
|
3
|
-
export interface WithRouterProps {
|
|
3
|
+
export interface WithRouterProps<Params extends {
|
|
4
|
+
[K in keyof Params]?: string;
|
|
5
|
+
} = {}> {
|
|
4
6
|
location: ReturnType<typeof useLocation>;
|
|
5
|
-
params:
|
|
7
|
+
params: Params;
|
|
6
8
|
navigate: ReturnType<typeof useNavigate>;
|
|
7
9
|
}
|
|
8
|
-
export declare const withRouter: <Props extends WithRouterProps
|
|
10
|
+
export declare const withRouter: <Props extends WithRouterProps<{}>>(Component: React.ComponentType<Props>) => (props: Omit<Props, keyof WithRouterProps<{}>>) => JSX.Element;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.59.0",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=14.17.6"
|
|
21
21
|
},
|
|
@@ -199,11 +199,11 @@
|
|
|
199
199
|
"react-is": "^18",
|
|
200
200
|
"react-side-effect": "^2.1.1",
|
|
201
201
|
"styled-components": "^5.3.1",
|
|
202
|
-
"@modern-js/plugin
|
|
203
|
-
"@modern-js/plugin": "2.
|
|
204
|
-
"@modern-js/utils": "2.
|
|
205
|
-
"@modern-js/
|
|
206
|
-
"@modern-js/types": "2.
|
|
202
|
+
"@modern-js/plugin": "2.59.0",
|
|
203
|
+
"@modern-js/plugin-data-loader": "2.59.0",
|
|
204
|
+
"@modern-js/runtime-utils": "2.59.0",
|
|
205
|
+
"@modern-js/utils": "2.59.0",
|
|
206
|
+
"@modern-js/types": "2.59.0"
|
|
207
207
|
},
|
|
208
208
|
"peerDependencies": {
|
|
209
209
|
"react": ">=17",
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
},
|
|
212
212
|
"devDependencies": {
|
|
213
213
|
"@remix-run/web-fetch": "^4.1.3",
|
|
214
|
-
"@rsbuild/core": "1.0.1-
|
|
214
|
+
"@rsbuild/core": "1.0.1-rc.4",
|
|
215
215
|
"@testing-library/react": "^13.4.0",
|
|
216
216
|
"@types/cookie": "0.5.1",
|
|
217
217
|
"@types/invariant": "^2.2.30",
|
|
@@ -225,11 +225,11 @@
|
|
|
225
225
|
"react-dom": "^18",
|
|
226
226
|
"ts-jest": "^29.1.0",
|
|
227
227
|
"typescript": "^5",
|
|
228
|
-
"webpack": "^5.
|
|
229
|
-
"@modern-js/core": "2.
|
|
230
|
-
"@
|
|
231
|
-
"@scripts/
|
|
232
|
-
"@
|
|
228
|
+
"webpack": "^5.94.0",
|
|
229
|
+
"@modern-js/core": "2.59.0",
|
|
230
|
+
"@scripts/build": "2.59.0",
|
|
231
|
+
"@scripts/jest-config": "2.59.0",
|
|
232
|
+
"@modern-js/app-tools": "2.59.0"
|
|
233
233
|
},
|
|
234
234
|
"sideEffects": false,
|
|
235
235
|
"publishConfig": {
|