@modern-js/runtime 1.21.5 → 2.0.0-beta.1
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 +117 -18
- package/dist/js/modern/cli/index.js +3 -5
- package/dist/js/modern/core/app-config.js +2 -1
- package/dist/js/modern/core/compatible.js +47 -48
- package/dist/js/modern/core/index.js +4 -3
- package/dist/js/modern/core/loader/loaderManager.js +12 -34
- package/dist/js/modern/core/loader/useLoader.js +8 -26
- package/dist/js/modern/core/plugin.js +6 -28
- package/dist/js/modern/document/Body.js +17 -0
- package/dist/js/modern/document/DocumentContext.js +6 -0
- package/dist/js/modern/document/DocumentStructrueContext.js +7 -0
- package/dist/js/modern/document/Head.js +24 -0
- package/dist/js/modern/document/Html.js +92 -0
- package/dist/js/modern/document/Root.js +31 -0
- package/dist/js/modern/document/Scripts.js +10 -0
- package/dist/js/modern/document/cli/index.js +130 -0
- package/dist/js/modern/document/constants.js +19 -0
- package/dist/js/modern/document/index.js +8 -0
- package/dist/js/modern/index.js +2 -1
- package/dist/js/modern/router/cli/index.js +20 -20
- package/dist/js/modern/router/runtime/index.js +1 -1
- package/dist/js/modern/router/runtime/plugin.js +25 -52
- package/dist/js/modern/router/runtime/plugin.node.js +137 -0
- package/dist/js/modern/router/runtime/root/index.js +19 -0
- package/dist/js/modern/router/runtime/root/load.js +61 -0
- package/dist/js/modern/router/runtime/types.js +1 -0
- package/dist/js/modern/router/runtime/utils.js +99 -58
- package/dist/js/modern/router/runtime/withRouter.js +20 -0
- package/dist/js/modern/runtime-context.js +2 -1
- package/dist/js/modern/ssr/cli/index.js +35 -17
- package/dist/js/modern/ssr/index.js +64 -51
- package/dist/js/modern/ssr/index.node.js +6 -15
- package/dist/js/modern/ssr/prefetch.js +0 -7
- package/dist/js/modern/ssr/react/prerender/index.js +2 -23
- package/dist/js/modern/ssr/react/prerender/util.js +2 -17
- package/dist/js/modern/ssr/react/withCallback/index.js +0 -1
- package/dist/js/modern/ssr/serverRender/helmet.js +12 -20
- package/dist/js/modern/ssr/serverRender/index.js +12 -27
- package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +38 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +58 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/index.js +40 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +72 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +11 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/template.js +18 -0
- package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
- package/dist/js/modern/ssr/serverRender/{entry.js → renderToString/entry.js} +6 -40
- package/dist/js/modern/ssr/serverRender/renderToString/index.js +29 -0
- package/dist/js/modern/ssr/serverRender/{loadable.js → renderToString/loadable.js} +2 -24
- package/dist/js/modern/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -2
- package/dist/js/modern/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -0
- package/dist/js/modern/ssr/serverRender/{template.js → renderToString/template.js} +0 -15
- package/dist/js/modern/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
- package/dist/js/modern/ssr/serverRender/types.js +2 -0
- package/dist/js/modern/ssr/serverRender/utils.js +20 -0
- package/dist/js/modern/ssr/utils.js +8 -13
- package/dist/js/modern/state/cli/index.js +0 -10
- package/dist/js/modern/state/runtime/plugin.js +1 -14
- package/dist/js/node/cli/index.js +3 -13
- package/dist/js/node/common.js +0 -2
- package/dist/js/node/core/app-config.js +2 -5
- package/dist/js/node/core/compatible.js +47 -66
- package/dist/js/node/core/index.js +8 -17
- package/dist/js/node/core/loader/index.js +0 -2
- package/dist/js/node/core/loader/loaderManager.js +12 -37
- package/dist/js/node/core/loader/useLoader.js +8 -31
- package/dist/js/node/core/plugin.js +5 -34
- package/dist/js/node/document/Body.js +26 -0
- package/dist/js/node/document/DocumentContext.js +14 -0
- package/dist/js/node/document/DocumentStructrueContext.js +15 -0
- package/dist/js/node/document/Head.js +33 -0
- package/dist/js/node/document/Html.js +98 -0
- package/dist/js/node/document/Root.js +41 -0
- package/dist/js/node/document/Scripts.js +17 -0
- package/dist/js/node/document/cli/index.js +140 -0
- package/dist/js/node/document/constants.js +36 -0
- package/dist/js/node/document/index.js +93 -0
- package/dist/js/node/exports/head.js +0 -5
- package/dist/js/node/exports/loadable.js +0 -5
- package/dist/js/node/exports/server.js +0 -2
- package/dist/js/node/exports/styled.js +0 -5
- package/dist/js/node/index.js +5 -5
- package/dist/js/node/router/cli/index.js +20 -24
- package/dist/js/node/router/index.js +0 -4
- package/dist/js/node/router/runtime/DefaultNotFound.js +1 -5
- package/dist/js/node/router/runtime/index.js +4 -9
- package/dist/js/node/router/runtime/plugin.js +23 -65
- package/dist/js/node/router/runtime/plugin.node.js +147 -0
- package/dist/js/node/router/runtime/root/index.js +26 -0
- package/dist/js/node/router/runtime/root/load.js +69 -0
- package/dist/js/node/router/runtime/types.js +5 -0
- package/dist/js/node/router/runtime/utils.js +101 -67
- package/dist/js/node/router/runtime/withRouter.js +26 -0
- package/dist/js/node/runtime-context.js +4 -4
- package/dist/js/node/ssr/cli/index.js +35 -21
- package/dist/js/node/ssr/index.js +63 -62
- package/dist/js/node/ssr/index.node.js +6 -25
- package/dist/js/node/ssr/prefetch.js +0 -11
- package/dist/js/node/ssr/react/index.js +0 -2
- package/dist/js/node/ssr/react/nossr/index.js +0 -6
- package/dist/js/node/ssr/react/prerender/index.js +2 -30
- package/dist/js/node/ssr/react/prerender/util.js +2 -25
- package/dist/js/node/ssr/react/withCallback/index.js +1 -4
- package/dist/js/node/ssr/serverRender/helmet.js +13 -20
- package/dist/js/node/ssr/serverRender/index.js +14 -39
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +45 -0
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +13 -0
- package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +65 -0
- package/dist/js/node/ssr/serverRender/renderToStream/index.js +48 -0
- package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +30 -0
- package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +79 -0
- package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +17 -0
- package/dist/js/node/ssr/serverRender/renderToStream/template.js +25 -0
- package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -0
- package/dist/js/node/ssr/serverRender/{entry.js → renderToString/entry.js} +13 -64
- package/dist/js/node/ssr/serverRender/renderToString/index.js +37 -0
- package/dist/js/node/ssr/serverRender/{loadable.js → renderToString/loadable.js} +3 -28
- package/dist/js/node/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -3
- package/dist/js/node/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -3
- package/dist/js/node/ssr/serverRender/{template.js → renderToString/template.js} +0 -18
- package/dist/js/node/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
- package/dist/js/node/ssr/serverRender/types.js +12 -0
- package/dist/js/node/ssr/serverRender/utils.js +28 -0
- package/dist/js/node/ssr/utils.js +10 -21
- package/dist/js/node/state/cli/index.js +0 -15
- package/dist/js/node/state/index.js +0 -4
- package/dist/js/node/state/plugins.js +0 -11
- package/dist/js/node/state/runtime/index.js +0 -7
- package/dist/js/node/state/runtime/plugin.js +1 -25
- package/dist/js/treeshaking/cli/index.js +3 -3
- package/dist/js/treeshaking/core/app-config.js +2 -1
- package/dist/js/treeshaking/core/compatible.js +50 -65
- package/dist/js/treeshaking/core/index.js +4 -3
- package/dist/js/treeshaking/core/loader/loaderManager.js +19 -51
- package/dist/js/treeshaking/core/loader/useLoader.js +11 -28
- package/dist/js/treeshaking/core/plugin.js +6 -51
- package/dist/js/treeshaking/document/Body.js +14 -0
- package/dist/js/treeshaking/document/DocumentContext.js +6 -0
- package/dist/js/treeshaking/document/DocumentStructrueContext.js +7 -0
- package/dist/js/treeshaking/document/Head.js +21 -0
- package/dist/js/treeshaking/document/Html.js +104 -0
- package/dist/js/treeshaking/document/Root.js +24 -0
- package/dist/js/treeshaking/document/Scripts.js +10 -0
- package/dist/js/treeshaking/document/cli/index.js +170 -0
- package/dist/js/treeshaking/document/constants.js +16 -0
- package/dist/js/treeshaking/document/index.js +8 -0
- package/dist/js/treeshaking/index.js +2 -1
- package/dist/js/treeshaking/router/cli/index.js +26 -22
- package/dist/js/treeshaking/router/runtime/index.js +1 -1
- package/dist/js/treeshaking/router/runtime/plugin.js +28 -54
- package/dist/js/treeshaking/router/runtime/plugin.node.js +161 -0
- package/dist/js/treeshaking/router/runtime/root/index.js +17 -0
- package/dist/js/treeshaking/router/runtime/root/load.js +102 -0
- package/dist/js/treeshaking/router/runtime/types.js +1 -0
- package/dist/js/treeshaking/router/runtime/utils.js +104 -58
- package/dist/js/treeshaking/router/runtime/withRouter.js +18 -0
- package/dist/js/treeshaking/runtime-context.js +2 -1
- package/dist/js/treeshaking/ssr/cli/index.js +43 -23
- package/dist/js/treeshaking/ssr/index.js +74 -59
- package/dist/js/treeshaking/ssr/index.node.js +18 -31
- package/dist/js/treeshaking/ssr/prefetch.js +0 -13
- package/dist/js/treeshaking/ssr/react/nossr/index.js +3 -4
- package/dist/js/treeshaking/ssr/react/prerender/index.js +2 -21
- package/dist/js/treeshaking/ssr/react/prerender/util.js +3 -20
- package/dist/js/treeshaking/ssr/react/withCallback/index.js +1 -2
- package/dist/js/treeshaking/ssr/serverRender/helmet.js +12 -11
- package/dist/js/treeshaking/ssr/serverRender/index.js +33 -55
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +32 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +60 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +50 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +68 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +10 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +22 -0
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -0
- package/dist/js/treeshaking/ssr/serverRender/{entry.js → renderToString/entry.js} +23 -76
- package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +44 -0
- package/dist/js/treeshaking/ssr/serverRender/{loadable.js → renderToString/loadable.js} +7 -34
- package/dist/js/treeshaking/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -2
- package/dist/js/treeshaking/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -0
- package/dist/js/treeshaking/ssr/serverRender/{template.js → renderToString/template.js} +2 -18
- package/dist/js/treeshaking/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
- package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
- package/dist/js/treeshaking/ssr/serverRender/utils.js +28 -0
- package/dist/js/treeshaking/ssr/utils.js +20 -17
- package/dist/js/treeshaking/state/cli/index.js +3 -10
- package/dist/js/treeshaking/state/runtime/plugin.js +2 -10
- package/dist/types/cli/index.d.ts +0 -2
- package/dist/types/common.d.ts +0 -2
- package/dist/types/core/compatible.d.ts +2 -2
- package/dist/types/core/index.d.ts +2 -2
- package/dist/types/core/loader/loaderManager.d.ts +0 -1
- package/dist/types/core/loader/useLoader.d.ts +0 -5
- package/dist/types/core/plugin.d.ts +2 -14
- package/dist/types/document/Body.d.ts +4 -0
- package/dist/types/document/DocumentContext.d.ts +13 -0
- package/dist/types/document/DocumentStructrueContext.d.ts +10 -0
- package/dist/types/document/Head.d.ts +5 -0
- package/dist/types/document/Html.d.ts +4 -0
- package/dist/types/document/Root.d.ts +8 -0
- package/dist/types/document/Scripts.d.ts +2 -0
- package/dist/types/document/cli/index.d.ts +3 -0
- package/dist/types/document/constants.d.ts +14 -0
- package/dist/types/document/index.d.ts +8 -0
- package/dist/types/exports/server.d.ts +21 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/router/cli/index.d.ts +0 -2
- package/dist/types/router/runtime/DefaultNotFound.d.ts +1 -0
- package/dist/types/router/runtime/index.d.ts +3 -3
- package/dist/types/router/runtime/plugin.d.ts +2 -45
- package/dist/types/router/runtime/plugin.node.d.ts +8 -0
- package/dist/types/router/runtime/root/index.d.ts +8 -0
- package/dist/types/router/runtime/root/load.d.ts +22 -0
- package/dist/types/router/runtime/types.d.ts +36 -0
- package/dist/types/router/runtime/utils.d.ts +5 -2
- package/dist/types/router/runtime/withRouter.d.ts +8 -0
- package/dist/types/runtime-context.d.ts +3 -1
- package/dist/types/ssr/cli/index.d.ts +0 -2
- package/dist/types/ssr/index.d.ts +2 -2
- package/dist/types/ssr/index.node.d.ts +1 -1
- package/dist/types/ssr/prefetch.d.ts +2 -2
- package/dist/types/ssr/react/nossr/index.d.ts +3 -1
- package/dist/types/ssr/serverRender/index.d.ts +2 -3
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +7 -0
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +3 -0
- package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +2 -0
- package/dist/types/ssr/serverRender/renderToStream/index.d.ts +6 -0
- package/dist/types/ssr/serverRender/renderToStream/loadable.d.ts +16 -0
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +8 -0
- package/dist/types/ssr/serverRender/renderToStream/styledComponent.d.ts +12 -0
- package/dist/types/ssr/serverRender/renderToStream/template.d.ts +3 -0
- package/dist/types/ssr/serverRender/renderToStream/type.d.ts +4 -0
- package/dist/types/ssr/serverRender/{entry.d.ts → renderToString/entry.d.ts} +2 -2
- package/dist/types/ssr/serverRender/renderToString/index.d.ts +6 -0
- package/dist/types/ssr/serverRender/{loadable.d.ts → renderToString/loadable.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{reduce.d.ts → renderToString/reduce.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{styledComponent.d.ts → renderToString/styledComponent.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{template.d.ts → renderToString/template.d.ts} +0 -0
- package/dist/types/ssr/serverRender/{type.d.ts → renderToString/type.d.ts} +1 -8
- package/dist/types/ssr/serverRender/types.d.ts +15 -0
- package/dist/types/ssr/serverRender/utils.d.ts +3 -0
- package/dist/types/ssr/utils.d.ts +4 -2
- package/dist/types/state/cli/index.d.ts +0 -2
- package/dist/types/state/runtime/plugin.d.ts +1 -1
- package/dist/types/state/types.d.ts +0 -1
- package/package.json +63 -71
- package/types/index.d.ts +13 -0
- package/types/router.d.ts +14 -0
- package/dist/js/modern/ssr/serverRender/measure.js +0 -11
- package/dist/js/node/ssr/serverRender/measure.js +0 -20
- package/dist/js/treeshaking/ssr/serverRender/measure.js +0 -17
- package/dist/types/ssr/serverRender/measure.d.ts +0 -1
- package/lib/types.d.ts +0 -10
- package/type.d.ts +0 -5
|
@@ -4,46 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.routerPlugin = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
|
-
var _history = require("history");
|
|
11
|
-
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
8
|
var _reactRouterDom = require("react-router-dom");
|
|
13
|
-
|
|
14
9
|
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
15
|
-
|
|
16
|
-
var _core = require("../../core");
|
|
17
|
-
|
|
18
|
-
var _common = require("../../common");
|
|
19
|
-
|
|
20
10
|
var _utils = require("./utils");
|
|
21
|
-
|
|
22
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
|
|
24
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
-
|
|
28
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
-
|
|
30
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
31
|
-
|
|
32
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
33
|
-
|
|
34
15
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
35
|
-
|
|
36
16
|
const routerPlugin = ({
|
|
37
17
|
serverBase: _serverBase = [],
|
|
38
|
-
history: customHistory,
|
|
39
18
|
supportHtml5History: _supportHtml5History = true,
|
|
40
19
|
routesConfig,
|
|
41
|
-
|
|
20
|
+
createRoutes
|
|
42
21
|
}) => {
|
|
43
|
-
const isBrow = (0, _common.isBrowser)();
|
|
44
|
-
|
|
45
22
|
const select = pathname => _serverBase.find(baseUrl => pathname.search(baseUrl) === 0) || '/';
|
|
46
|
-
|
|
47
23
|
return {
|
|
48
24
|
name: '@modern-js/plugin-router',
|
|
49
25
|
setup: () => {
|
|
@@ -51,54 +27,37 @@ const routerPlugin = ({
|
|
|
51
27
|
hoc: ({
|
|
52
28
|
App
|
|
53
29
|
}, next) => {
|
|
30
|
+
// can not get routes config, skip wrapping React Router.
|
|
31
|
+
// e.g. App.tsx as the entrypoint
|
|
32
|
+
if (!routesConfig) {
|
|
33
|
+
return next({
|
|
34
|
+
App
|
|
35
|
+
});
|
|
36
|
+
}
|
|
54
37
|
const getRouteApp = () => {
|
|
55
|
-
|
|
38
|
+
return props => {
|
|
56
39
|
var _window$_SERVER_DATA;
|
|
57
|
-
|
|
40
|
+
const routeElements = (0, _utils.renderRoutes)(routesConfig);
|
|
41
|
+
const routes = createRoutes ? createRoutes() : (0, _reactRouterDom.createRoutesFromElements)(routeElements);
|
|
58
42
|
const baseUrl = ((_window$_SERVER_DATA = window._SERVER_DATA) === null || _window$_SERVER_DATA === void 0 ? void 0 : _window$_SERVER_DATA.router.baseUrl) || select(location.pathname);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, _objectSpread(_objectSpread({}, props), {}, {
|
|
64
|
-
children: routesConfig ? (0, _utils.renderRoutes)(routesConfig, props) : null
|
|
65
|
-
}))
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return props => {
|
|
70
|
-
const runtimeContext = (0, _react.useContext)(_core.RuntimeReactContext);
|
|
71
|
-
const {
|
|
72
|
-
ssrContext
|
|
73
|
-
} = runtimeContext;
|
|
74
|
-
const location = (0, _utils.getLocation)(ssrContext);
|
|
75
|
-
const routerContext = (ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.redirection) || {};
|
|
76
|
-
const request = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.request;
|
|
77
|
-
const baseUrl = request === null || request === void 0 ? void 0 : request.baseUrl;
|
|
78
|
-
const basename = baseUrl === '/' ? (0, _utils.urlJoin)(baseUrl, _historyOptions.basename) : baseUrl;
|
|
79
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.StaticRouter, {
|
|
80
|
-
basename: basename === '/' ? '' : basename,
|
|
81
|
-
location: location,
|
|
82
|
-
context: routerContext,
|
|
83
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, _objectSpread(_objectSpread({}, props), {}, {
|
|
84
|
-
children: routesConfig ? (0, _utils.renderRoutes)(routesConfig, props) : null
|
|
85
|
-
}))
|
|
43
|
+
const router = _supportHtml5History ? (0, _reactRouterDom.createBrowserRouter)(routes, {
|
|
44
|
+
basename: baseUrl
|
|
45
|
+
}) : (0, _reactRouterDom.createHashRouter)(routes, {
|
|
46
|
+
basename: baseUrl
|
|
86
47
|
});
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(App, _objectSpread(_objectSpread({}, props), {}, {
|
|
49
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.RouterProvider, {
|
|
50
|
+
router: router
|
|
51
|
+
})
|
|
52
|
+
}));
|
|
87
53
|
};
|
|
88
54
|
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (App) {
|
|
93
|
-
RouteApp = (0, _hoistNonReactStatics.default)(RouteApp, App);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (routesConfig !== null && routesConfig !== void 0 && routesConfig.globalApp) {
|
|
55
|
+
const RouteApp = getRouteApp();
|
|
56
|
+
if (routesConfig.globalApp) {
|
|
97
57
|
return next({
|
|
98
58
|
App: (0, _hoistNonReactStatics.default)(RouteApp, routesConfig.globalApp)
|
|
99
59
|
});
|
|
100
60
|
}
|
|
101
|
-
|
|
102
61
|
return next({
|
|
103
62
|
App: RouteApp
|
|
104
63
|
});
|
|
@@ -107,5 +66,4 @@ const routerPlugin = ({
|
|
|
107
66
|
}
|
|
108
67
|
};
|
|
109
68
|
};
|
|
110
|
-
|
|
111
69
|
exports.routerPlugin = routerPlugin;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createFetchHeaders = createFetchHeaders;
|
|
7
|
+
exports.routerPlugin = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _router = require("@remix-run/router");
|
|
10
|
+
var _server = require("react-router-dom/server");
|
|
11
|
+
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
12
|
+
var _node = require("@remix-run/node");
|
|
13
|
+
var _reactRouterDom = require("react-router-dom");
|
|
14
|
+
var _core = require("../../core");
|
|
15
|
+
var _utils = require("./utils");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
+
// Polyfill Web Fetch API
|
|
24
|
+
(0, _node.installGlobals)();
|
|
25
|
+
|
|
26
|
+
// TODO: polish
|
|
27
|
+
function createFetchRequest(req) {
|
|
28
|
+
// const origin = `${req.protocol}://${req.get('host')}`;
|
|
29
|
+
const origin = `${req.protocol}://${req.host}`;
|
|
30
|
+
// Note: This had to take originalUrl into account for presumably vite's proxying
|
|
31
|
+
const url = new URL(req.originalUrl || req.url, origin);
|
|
32
|
+
const controller = new AbortController();
|
|
33
|
+
|
|
34
|
+
// req.on('close', () => {
|
|
35
|
+
// controller.abort();
|
|
36
|
+
// });
|
|
37
|
+
|
|
38
|
+
const init = {
|
|
39
|
+
method: req.method,
|
|
40
|
+
headers: createFetchHeaders(req.headers),
|
|
41
|
+
signal: controller.signal
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
// if (req.method !== 'GET' && req.method !== 'HEAD') {
|
|
45
|
+
// init.body = req.body;
|
|
46
|
+
// }
|
|
47
|
+
|
|
48
|
+
return new Request(url.href, init);
|
|
49
|
+
}
|
|
50
|
+
function createFetchHeaders(requestHeaders) {
|
|
51
|
+
const headers = new Headers();
|
|
52
|
+
for (const [key, values] of Object.entries(requestHeaders)) {
|
|
53
|
+
if (values) {
|
|
54
|
+
if (Array.isArray(values)) {
|
|
55
|
+
for (const value of values) {
|
|
56
|
+
headers.append(key, value);
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
headers.set(key, values);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return headers;
|
|
64
|
+
}
|
|
65
|
+
const routerPlugin = ({
|
|
66
|
+
routesConfig,
|
|
67
|
+
createRoutes
|
|
68
|
+
}) => {
|
|
69
|
+
return {
|
|
70
|
+
name: '@modern-js/plugin-router',
|
|
71
|
+
setup: () => {
|
|
72
|
+
return {
|
|
73
|
+
async init({
|
|
74
|
+
context
|
|
75
|
+
}, next) {
|
|
76
|
+
// can not get routes config, skip wrapping React Router.
|
|
77
|
+
// e.g. App.tsx as the entrypoint
|
|
78
|
+
if (!routesConfig) {
|
|
79
|
+
return next({
|
|
80
|
+
context
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
const {
|
|
84
|
+
request
|
|
85
|
+
} = context.ssrContext;
|
|
86
|
+
const routeElements = (0, _utils.renderRoutes)(routesConfig);
|
|
87
|
+
const routes = createRoutes ? createRoutes() : (0, _reactRouterDom.createRoutesFromElements)(routeElements);
|
|
88
|
+
const {
|
|
89
|
+
query
|
|
90
|
+
} = (0, _router.unstable_createStaticHandler)(routes);
|
|
91
|
+
const remixRequest = createFetchRequest(request);
|
|
92
|
+
const routerContext = await query(remixRequest);
|
|
93
|
+
if (routerContext instanceof Response) {
|
|
94
|
+
// React Router would return a Response when redirects occur in loader.
|
|
95
|
+
// Throw the Response to bail out and let the server handle it with an HTTP redirect
|
|
96
|
+
return routerContext;
|
|
97
|
+
}
|
|
98
|
+
const router = (0, _server.unstable_createStaticRouter)(routes, routerContext);
|
|
99
|
+
context.router = router;
|
|
100
|
+
context.routerContext = routerContext;
|
|
101
|
+
context.routes = routes;
|
|
102
|
+
// set routeManifest in context to be consistent with csr context
|
|
103
|
+
context.routeManifest = context.ssrContext.routeManifest;
|
|
104
|
+
return next({
|
|
105
|
+
context
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
hoc: ({
|
|
109
|
+
App
|
|
110
|
+
}, next) => {
|
|
111
|
+
// can not get routes config, skip wrapping React Router.
|
|
112
|
+
// e.g. App.tsx as the entrypoint
|
|
113
|
+
if (!routesConfig) {
|
|
114
|
+
return next({
|
|
115
|
+
App
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
const getRouteApp = () => {
|
|
119
|
+
return props => {
|
|
120
|
+
const {
|
|
121
|
+
router,
|
|
122
|
+
routerContext
|
|
123
|
+
} = (0, _react.useContext)(_core.RuntimeReactContext);
|
|
124
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(App, _objectSpread(_objectSpread({}, props), {}, {
|
|
125
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_server.unstable_StaticRouterProvider, {
|
|
126
|
+
router: router,
|
|
127
|
+
context: routerContext,
|
|
128
|
+
nonce: "the-nonce"
|
|
129
|
+
})
|
|
130
|
+
}));
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
const RouteApp = getRouteApp();
|
|
134
|
+
if (routesConfig.globalApp) {
|
|
135
|
+
return next({
|
|
136
|
+
App: (0, _hoistNonReactStatics.default)(RouteApp, routesConfig.globalApp)
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
return next({
|
|
140
|
+
App: RouteApp
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
exports.routerPlugin = routerPlugin;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RootLayout = RootLayout;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactRouterDom = require("react-router-dom");
|
|
9
|
+
var _core = require("../../../core");
|
|
10
|
+
var _load = require("./load");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
function RootLayout(props) {
|
|
15
|
+
const location = (0, _reactRouterDom.useLocation)();
|
|
16
|
+
const context = (0, _react.useContext)(_core.RuntimeReactContext);
|
|
17
|
+
(0, _react.useEffect)(() => {
|
|
18
|
+
const {
|
|
19
|
+
routes
|
|
20
|
+
} = props;
|
|
21
|
+
(0, _load.handleLoad)(routes, location, context.routeManifest);
|
|
22
|
+
}, [location]);
|
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
24
|
+
children: props.children
|
|
25
|
+
});
|
|
26
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.handleLoad = handleLoad;
|
|
7
|
+
exports.loadRouteModule = loadRouteModule;
|
|
8
|
+
exports.matchClientRoutes = matchClientRoutes;
|
|
9
|
+
var _reactRouterDom = require("react-router-dom");
|
|
10
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
class Logger {
|
|
12
|
+
static getLogger(options) {
|
|
13
|
+
if (this.logger) {
|
|
14
|
+
return this.logger;
|
|
15
|
+
}
|
|
16
|
+
this.logger = new Logger(options);
|
|
17
|
+
return this.logger;
|
|
18
|
+
}
|
|
19
|
+
constructor(options) {
|
|
20
|
+
_defineProperty(this, "enableLogging", void 0);
|
|
21
|
+
this.enableLogging = options.enableLogging;
|
|
22
|
+
}
|
|
23
|
+
log(...args) {
|
|
24
|
+
if (this.enableLogging) {
|
|
25
|
+
// eslint-disable-next-line no-console
|
|
26
|
+
console.log(...args);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
_defineProperty(Logger, "logger", void 0);
|
|
31
|
+
function handleLoad(routes, location, routeManifest) {
|
|
32
|
+
if (!routeManifest || !routeManifest.enableFetchParallel === false) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const {
|
|
36
|
+
routeAssets
|
|
37
|
+
} = routeManifest;
|
|
38
|
+
Logger.getLogger({
|
|
39
|
+
enableLogging: routeManifest.enableLogging
|
|
40
|
+
}).log('handle page load');
|
|
41
|
+
const matches = matchClientRoutes(routes, location);
|
|
42
|
+
matches === null || matches === void 0 ? void 0 : matches.forEach(match => loadRouteModule(match.route, routeAssets));
|
|
43
|
+
}
|
|
44
|
+
function matchClientRoutes(routes, location) {
|
|
45
|
+
const matches = (0, _reactRouterDom.matchRoutes)(routes, location);
|
|
46
|
+
return matches;
|
|
47
|
+
}
|
|
48
|
+
async function loadRouteModule(route, routeAssets) {
|
|
49
|
+
const routeId = route.id;
|
|
50
|
+
if (!routeId) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (!routeAssets[routeId]) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const {
|
|
57
|
+
chunkIds
|
|
58
|
+
} = routeAssets[routeId];
|
|
59
|
+
if (!chunkIds) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
await Promise.all(chunkIds.map(chunkId => {
|
|
64
|
+
return __webpack_chunk_load__(String(chunkId));
|
|
65
|
+
}));
|
|
66
|
+
} catch (error) {
|
|
67
|
+
console.error(error);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -4,127 +4,161 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getLocation = getLocation;
|
|
7
|
+
exports.getRouteComponents = getRouteComponents;
|
|
7
8
|
exports.renderRoutes = renderRoutes;
|
|
8
9
|
exports.standardSlash = standardSlash;
|
|
9
10
|
exports.urlJoin = void 0;
|
|
10
|
-
|
|
11
|
-
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _reactRouterDom = require("react-router-dom");
|
|
14
|
-
|
|
15
13
|
var _DefaultNotFound = require("./DefaultNotFound");
|
|
16
|
-
|
|
14
|
+
var _root = require("./root");
|
|
17
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
|
|
19
16
|
const _excluded = ["Component"];
|
|
20
|
-
|
|
21
|
-
function
|
|
22
|
-
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
21
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24
|
-
|
|
25
22
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
|
-
|
|
27
23
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
const renderNestedRoute = (nestedRoute, parent) => {
|
|
25
|
+
const {
|
|
26
|
+
children,
|
|
27
|
+
index,
|
|
28
|
+
id,
|
|
29
|
+
component: Component
|
|
30
|
+
} = nestedRoute;
|
|
31
|
+
const childElements = children === null || children === void 0 ? void 0 : children.map(childRoute => {
|
|
32
|
+
return renderNestedRoute(childRoute, nestedRoute);
|
|
33
|
+
});
|
|
34
|
+
const routeProps = {
|
|
35
|
+
caseSensitive: nestedRoute.caseSensitive,
|
|
36
|
+
path: nestedRoute.path,
|
|
37
|
+
id: nestedRoute.id,
|
|
38
|
+
loader: nestedRoute.loader,
|
|
39
|
+
action: nestedRoute.action,
|
|
40
|
+
hasErrorBoundary: nestedRoute.hasErrorBoundary,
|
|
41
|
+
shouldRevalidate: nestedRoute.shouldRevalidate,
|
|
42
|
+
handle: nestedRoute.handle,
|
|
43
|
+
index: nestedRoute.index,
|
|
44
|
+
errorElement: nestedRoute.errorElement
|
|
45
|
+
};
|
|
46
|
+
if (nestedRoute.error) {
|
|
47
|
+
const errorElement = /*#__PURE__*/(0, _jsxRuntime.jsx)(nestedRoute.error, {});
|
|
48
|
+
routeProps.errorElement = errorElement;
|
|
49
|
+
}
|
|
50
|
+
let element;
|
|
51
|
+
if (Component) {
|
|
52
|
+
if (parent !== null && parent !== void 0 && parent.loading) {
|
|
53
|
+
const Loading = parent.loading;
|
|
54
|
+
element = /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Suspense, {
|
|
55
|
+
fallback: /*#__PURE__*/(0, _jsxRuntime.jsx)(Loading, {}),
|
|
56
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {})
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
element = /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Suspense, {
|
|
60
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (!parent) {
|
|
65
|
+
element = /*#__PURE__*/(0, _jsxRuntime.jsx)(_root.RootLayout, {
|
|
66
|
+
routes: [nestedRoute],
|
|
67
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Suspense, {
|
|
68
|
+
children: element
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
routeProps.element = element;
|
|
73
|
+
const routeElement = index ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, _objectSpread(_objectSpread({}, routeProps), {}, {
|
|
74
|
+
index: true
|
|
75
|
+
}), id) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, _objectSpread(_objectSpread({}, routeProps), {}, {
|
|
76
|
+
index: false,
|
|
77
|
+
children: childElements
|
|
78
|
+
}), id);
|
|
79
|
+
return routeElement;
|
|
80
|
+
};
|
|
81
|
+
function getRouteComponents(routes, globalApp) {
|
|
34
82
|
const Layout = _ref => {
|
|
35
83
|
let {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const GlobalLayout = routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp;
|
|
41
|
-
|
|
84
|
+
Component
|
|
85
|
+
} = _ref,
|
|
86
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
87
|
+
const GlobalLayout = globalApp;
|
|
42
88
|
if (!GlobalLayout) {
|
|
43
89
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({}, props));
|
|
44
90
|
}
|
|
45
|
-
|
|
46
91
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GlobalLayout, _objectSpread({
|
|
47
92
|
Component: Component
|
|
48
93
|
}, props));
|
|
49
94
|
};
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
95
|
+
const routeElements = [];
|
|
96
|
+
for (const route of routes) {
|
|
97
|
+
if (route.type === 'nested') {
|
|
98
|
+
const routeElement = renderNestedRoute(route);
|
|
99
|
+
routeElements.push(routeElement);
|
|
100
|
+
} else {
|
|
101
|
+
const routeElement = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
|
|
56
102
|
path: route.path,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
|
|
65
|
-
path: "/",
|
|
66
|
-
render: props => {
|
|
67
|
-
const matchedRoute = findMatchedRoute(props.location.pathname);
|
|
68
|
-
|
|
69
|
-
if (!matchedRoute) {
|
|
70
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DefaultNotFound.DefaultNotFound, {});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
|
|
74
|
-
path: matchedRoute.path,
|
|
75
|
-
exact: matchedRoute.exact,
|
|
76
|
-
sensitive: matchedRoute.sensitive,
|
|
77
|
-
render: routeProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, _objectSpread(_objectSpread({
|
|
78
|
-
Component: matchedRoute.component
|
|
79
|
-
}, routeProps), extraProps))
|
|
80
|
-
});
|
|
103
|
+
element: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, {
|
|
104
|
+
Component: route.component
|
|
105
|
+
})
|
|
106
|
+
}, route.path);
|
|
107
|
+
routeElements.push(routeElement);
|
|
81
108
|
}
|
|
82
|
-
}
|
|
109
|
+
}
|
|
110
|
+
routeElements.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
|
|
111
|
+
path: "*",
|
|
112
|
+
element: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DefaultNotFound.DefaultNotFound, {})
|
|
113
|
+
}, "*"));
|
|
114
|
+
return routeElements;
|
|
115
|
+
}
|
|
116
|
+
function renderRoutes(routesConfig) {
|
|
117
|
+
if (!routesConfig) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
const {
|
|
121
|
+
routes,
|
|
122
|
+
globalApp
|
|
123
|
+
} = routesConfig;
|
|
124
|
+
if (!routes) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
const routeElements = getRouteComponents(routes, globalApp);
|
|
128
|
+
return routeElements;
|
|
83
129
|
}
|
|
84
|
-
|
|
85
130
|
function getLocation(serverContext) {
|
|
86
131
|
var _url$replace;
|
|
87
|
-
|
|
88
132
|
const {
|
|
89
133
|
pathname,
|
|
90
134
|
url
|
|
91
135
|
} = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {};
|
|
92
136
|
const cleanUrl = url === null || url === void 0 ? void 0 : (_url$replace = url.replace('http://', '')) === null || _url$replace === void 0 ? void 0 : _url$replace.replace('https://', '');
|
|
93
137
|
const index = (cleanUrl || '').indexOf(pathname);
|
|
94
|
-
|
|
95
138
|
if (index === -1) {
|
|
96
139
|
return pathname;
|
|
97
140
|
}
|
|
98
|
-
|
|
99
141
|
return cleanUrl.substring(index);
|
|
100
142
|
}
|
|
101
|
-
|
|
102
143
|
const urlJoin = (...parts) => {
|
|
103
144
|
const separator = '/';
|
|
104
145
|
const replace = new RegExp(`${separator}{1,}`, 'g');
|
|
105
146
|
return standardSlash(parts.join(separator).replace(replace, separator));
|
|
106
147
|
};
|
|
107
|
-
|
|
108
148
|
exports.urlJoin = urlJoin;
|
|
109
|
-
|
|
110
149
|
function standardSlash(str) {
|
|
111
150
|
let addr = str;
|
|
112
|
-
|
|
113
151
|
if (!addr || typeof addr !== 'string') {
|
|
114
152
|
return addr;
|
|
115
153
|
}
|
|
116
|
-
|
|
117
154
|
if (addr.startsWith('.')) {
|
|
118
155
|
addr = addr.slice(1);
|
|
119
156
|
}
|
|
120
|
-
|
|
121
157
|
if (!addr.startsWith('/')) {
|
|
122
158
|
addr = `/${addr}`;
|
|
123
159
|
}
|
|
124
|
-
|
|
125
160
|
if (addr.endsWith('/') && addr !== '/') {
|
|
126
161
|
addr = addr.slice(0, addr.length - 1);
|
|
127
162
|
}
|
|
128
|
-
|
|
129
163
|
return addr;
|
|
130
164
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withRouter = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactRouterDom = require("react-router-dom");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
+
const withRouter = Component => {
|
|
15
|
+
return props => {
|
|
16
|
+
const location = (0, _reactRouterDom.useLocation)();
|
|
17
|
+
const params = (0, _reactRouterDom.useParams)();
|
|
18
|
+
const navigate = (0, _reactRouterDom.useNavigate)();
|
|
19
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread(_objectSpread({}, props), {}, {
|
|
20
|
+
location: location,
|
|
21
|
+
params: params,
|
|
22
|
+
navigate: navigate
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
exports.withRouter = withRouter;
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.RuntimeReactContext = void 0;
|
|
7
|
-
|
|
6
|
+
exports.ServerRouterContext = exports.RuntimeReactContext = void 0;
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
const RuntimeReactContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
11
|
-
exports.RuntimeReactContext = RuntimeReactContext;
|
|
9
|
+
exports.RuntimeReactContext = RuntimeReactContext;
|
|
10
|
+
const ServerRouterContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
11
|
+
exports.ServerRouterContext = ServerRouterContext;
|