@modern-js/runtime 2.0.0-beta.0 → 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 +77 -0
- 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 +63 -46
- package/dist/js/modern/core/index.js +3 -2
- 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 +1 -1
- package/dist/js/modern/router/cli/index.js +0 -16
- package/dist/js/modern/router/runtime/plugin.js +0 -9
- package/dist/js/modern/router/runtime/plugin.node.js +18 -24
- 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/utils.js +16 -35
- package/dist/js/modern/router/runtime/withRouter.js +1 -3
- package/dist/js/modern/ssr/cli/index.js +2 -23
- package/dist/js/modern/ssr/index.js +23 -34
- package/dist/js/modern/ssr/index.node.js +0 -13
- 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 +1 -2
- package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -5
- package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +45 -11
- package/dist/js/modern/ssr/serverRender/renderToStream/index.js +6 -39
- package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -2
- package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +26 -15
- package/dist/js/modern/ssr/serverRender/renderToStream/template.js +14 -18
- package/dist/js/modern/ssr/serverRender/renderToString/entry.js +2 -34
- package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -2
- package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -10
- package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -2
- package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -15
- package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -1
- package/dist/js/modern/ssr/serverRender/utils.js +2 -6
- package/dist/js/modern/ssr/utils.js +0 -11
- 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 +63 -64
- package/dist/js/node/core/index.js +0 -16
- 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 +0 -8
- package/dist/js/node/router/cli/index.js +0 -20
- 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 +0 -5
- package/dist/js/node/router/runtime/plugin.js +0 -17
- package/dist/js/node/router/runtime/plugin.node.js +16 -38
- 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/utils.js +16 -44
- package/dist/js/node/router/runtime/withRouter.js +0 -9
- package/dist/js/node/runtime-context.js +0 -2
- package/dist/js/node/ssr/cli/index.js +2 -26
- package/dist/js/node/ssr/index.js +23 -45
- package/dist/js/node/ssr/index.node.js +0 -23
- 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 +1 -4
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -1
- package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +43 -15
- package/dist/js/node/ssr/serverRender/renderToStream/index.js +6 -48
- package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -4
- package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +26 -17
- package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -2
- package/dist/js/node/ssr/serverRender/renderToStream/template.js +16 -23
- package/dist/js/node/ssr/serverRender/renderToString/entry.js +2 -51
- package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -10
- package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -14
- package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -3
- package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -3
- package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -18
- package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -1
- package/dist/js/node/ssr/serverRender/types.js +0 -1
- package/dist/js/node/ssr/serverRender/utils.js +2 -8
- package/dist/js/node/ssr/utils.js +0 -20
- 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 +66 -63
- package/dist/js/treeshaking/core/index.js +3 -2
- 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 +1 -1
- package/dist/js/treeshaking/router/cli/index.js +6 -18
- package/dist/js/treeshaking/router/runtime/plugin.js +5 -13
- package/dist/js/treeshaking/router/runtime/plugin.node.js +23 -36
- 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/utils.js +21 -39
- package/dist/js/treeshaking/router/runtime/withRouter.js +1 -0
- package/dist/js/treeshaking/ssr/cli/index.js +9 -31
- package/dist/js/treeshaking/ssr/index.js +26 -40
- package/dist/js/treeshaking/ssr/index.node.js +12 -29
- 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 +1 -9
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -6
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +46 -15
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +9 -79
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +3 -5
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +46 -35
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +17 -24
- package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +20 -73
- package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +2 -6
- package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +5 -16
- package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -2
- package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +2 -18
- package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -1
- package/dist/js/treeshaking/ssr/serverRender/utils.js +5 -10
- package/dist/js/treeshaking/ssr/utils.js +8 -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/core/compatible.d.ts +5 -5
- package/dist/types/core/index.d.ts +1 -1
- 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 +1 -13
- 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 +3 -3
- package/dist/types/index.d.ts +1 -1
- package/dist/types/router/cli/index.d.ts +0 -2
- 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 +0 -2
- package/dist/types/runtime-context.d.ts +1 -0
- package/dist/types/ssr/cli/index.d.ts +0 -2
- package/dist/types/ssr/prefetch.d.ts +2 -2
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +3 -2
- package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +2 -1
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +3 -3
- package/dist/types/ssr/serverRender/renderToStream/template.d.ts +2 -2
- package/dist/types/ssr/serverRender/types.d.ts +1 -4
- package/dist/types/state/cli/index.d.ts +0 -2
- package/dist/types/state/types.d.ts +0 -1
- package/package.json +19 -11
|
@@ -8,31 +8,19 @@ exports.getRouteComponents = getRouteComponents;
|
|
|
8
8
|
exports.renderRoutes = renderRoutes;
|
|
9
9
|
exports.standardSlash = standardSlash;
|
|
10
10
|
exports.urlJoin = void 0;
|
|
11
|
-
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
12
|
var _reactRouterDom = require("react-router-dom");
|
|
15
|
-
|
|
16
13
|
var _DefaultNotFound = require("./DefaultNotFound");
|
|
17
|
-
|
|
14
|
+
var _root = require("./root");
|
|
18
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
|
|
20
16
|
const _excluded = ["Component"];
|
|
21
|
-
|
|
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); }
|
|
23
|
-
|
|
24
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; }
|
|
25
|
-
|
|
26
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; }
|
|
27
|
-
|
|
28
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; }
|
|
29
|
-
|
|
30
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; }
|
|
31
|
-
|
|
32
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; }
|
|
33
|
-
|
|
34
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; }
|
|
35
|
-
|
|
36
24
|
const renderNestedRoute = (nestedRoute, parent) => {
|
|
37
25
|
const {
|
|
38
26
|
children,
|
|
@@ -55,26 +43,33 @@ const renderNestedRoute = (nestedRoute, parent) => {
|
|
|
55
43
|
index: nestedRoute.index,
|
|
56
44
|
errorElement: nestedRoute.errorElement
|
|
57
45
|
};
|
|
58
|
-
|
|
59
46
|
if (nestedRoute.error) {
|
|
60
47
|
const errorElement = /*#__PURE__*/(0, _jsxRuntime.jsx)(nestedRoute.error, {});
|
|
61
48
|
routeProps.errorElement = errorElement;
|
|
62
49
|
}
|
|
63
|
-
|
|
50
|
+
let element;
|
|
64
51
|
if (Component) {
|
|
65
52
|
if (parent !== null && parent !== void 0 && parent.loading) {
|
|
66
53
|
const Loading = parent.loading;
|
|
67
|
-
|
|
54
|
+
element = /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Suspense, {
|
|
68
55
|
fallback: /*#__PURE__*/(0, _jsxRuntime.jsx)(Loading, {}),
|
|
69
56
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {})
|
|
70
57
|
});
|
|
71
58
|
} else {
|
|
72
|
-
|
|
59
|
+
element = /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Suspense, {
|
|
73
60
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {})
|
|
74
61
|
});
|
|
75
62
|
}
|
|
76
63
|
}
|
|
77
|
-
|
|
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;
|
|
78
73
|
const routeElement = index ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, _objectSpread(_objectSpread({}, routeProps), {}, {
|
|
79
74
|
index: true
|
|
80
75
|
}), id) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, _objectSpread(_objectSpread({}, routeProps), {}, {
|
|
@@ -83,27 +78,21 @@ const renderNestedRoute = (nestedRoute, parent) => {
|
|
|
83
78
|
}), id);
|
|
84
79
|
return routeElement;
|
|
85
80
|
};
|
|
86
|
-
|
|
87
81
|
function getRouteComponents(routes, globalApp) {
|
|
88
82
|
const Layout = _ref => {
|
|
89
83
|
let {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
84
|
+
Component
|
|
85
|
+
} = _ref,
|
|
86
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
94
87
|
const GlobalLayout = globalApp;
|
|
95
|
-
|
|
96
88
|
if (!GlobalLayout) {
|
|
97
89
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({}, props));
|
|
98
90
|
}
|
|
99
|
-
|
|
100
91
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GlobalLayout, _objectSpread({
|
|
101
92
|
Component: Component
|
|
102
93
|
}, props));
|
|
103
94
|
};
|
|
104
|
-
|
|
105
95
|
const routeElements = [];
|
|
106
|
-
|
|
107
96
|
for (const route of routes) {
|
|
108
97
|
if (route.type === 'nested') {
|
|
109
98
|
const routeElement = renderNestedRoute(route);
|
|
@@ -118,75 +107,58 @@ function getRouteComponents(routes, globalApp) {
|
|
|
118
107
|
routeElements.push(routeElement);
|
|
119
108
|
}
|
|
120
109
|
}
|
|
121
|
-
|
|
122
110
|
routeElements.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
|
|
123
111
|
path: "*",
|
|
124
112
|
element: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DefaultNotFound.DefaultNotFound, {})
|
|
125
113
|
}, "*"));
|
|
126
114
|
return routeElements;
|
|
127
115
|
}
|
|
128
|
-
|
|
129
116
|
function renderRoutes(routesConfig) {
|
|
130
117
|
if (!routesConfig) {
|
|
131
118
|
return null;
|
|
132
119
|
}
|
|
133
|
-
|
|
134
120
|
const {
|
|
135
121
|
routes,
|
|
136
122
|
globalApp
|
|
137
123
|
} = routesConfig;
|
|
138
|
-
|
|
139
124
|
if (!routes) {
|
|
140
125
|
return null;
|
|
141
126
|
}
|
|
142
|
-
|
|
143
127
|
const routeElements = getRouteComponents(routes, globalApp);
|
|
144
128
|
return routeElements;
|
|
145
129
|
}
|
|
146
|
-
|
|
147
130
|
function getLocation(serverContext) {
|
|
148
131
|
var _url$replace;
|
|
149
|
-
|
|
150
132
|
const {
|
|
151
133
|
pathname,
|
|
152
134
|
url
|
|
153
135
|
} = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {};
|
|
154
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://', '');
|
|
155
137
|
const index = (cleanUrl || '').indexOf(pathname);
|
|
156
|
-
|
|
157
138
|
if (index === -1) {
|
|
158
139
|
return pathname;
|
|
159
140
|
}
|
|
160
|
-
|
|
161
141
|
return cleanUrl.substring(index);
|
|
162
142
|
}
|
|
163
|
-
|
|
164
143
|
const urlJoin = (...parts) => {
|
|
165
144
|
const separator = '/';
|
|
166
145
|
const replace = new RegExp(`${separator}{1,}`, 'g');
|
|
167
146
|
return standardSlash(parts.join(separator).replace(replace, separator));
|
|
168
147
|
};
|
|
169
|
-
|
|
170
148
|
exports.urlJoin = urlJoin;
|
|
171
|
-
|
|
172
149
|
function standardSlash(str) {
|
|
173
150
|
let addr = str;
|
|
174
|
-
|
|
175
151
|
if (!addr || typeof addr !== 'string') {
|
|
176
152
|
return addr;
|
|
177
153
|
}
|
|
178
|
-
|
|
179
154
|
if (addr.startsWith('.')) {
|
|
180
155
|
addr = addr.slice(1);
|
|
181
156
|
}
|
|
182
|
-
|
|
183
157
|
if (!addr.startsWith('/')) {
|
|
184
158
|
addr = `/${addr}`;
|
|
185
159
|
}
|
|
186
|
-
|
|
187
160
|
if (addr.endsWith('/') && addr !== '/') {
|
|
188
161
|
addr = addr.slice(0, addr.length - 1);
|
|
189
162
|
}
|
|
190
|
-
|
|
191
163
|
return addr;
|
|
192
164
|
}
|
|
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.withRouter = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _reactRouterDom = require("react-router-dom");
|
|
11
|
-
|
|
12
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
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; }
|
|
17
|
-
|
|
18
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; }
|
|
19
|
-
|
|
20
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; }
|
|
21
|
-
|
|
22
14
|
const withRouter = Component => {
|
|
23
15
|
return props => {
|
|
24
16
|
const location = (0, _reactRouterDom.useLocation)();
|
|
@@ -31,5 +23,4 @@ const withRouter = Component => {
|
|
|
31
23
|
}));
|
|
32
24
|
};
|
|
33
25
|
};
|
|
34
|
-
|
|
35
26
|
exports.withRouter = withRouter;
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ServerRouterContext = exports.RuntimeReactContext = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
const RuntimeReactContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
11
9
|
exports.RuntimeReactContext = RuntimeReactContext;
|
|
12
10
|
const ServerRouterContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
@@ -4,22 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _utils = require("@modern-js/utils");
|
|
9
|
-
|
|
10
8
|
const PLUGIN_IDENTIFIER = 'ssr';
|
|
11
|
-
|
|
12
9
|
const hasStringSSREntry = userConfig => {
|
|
13
10
|
const isStreaming = ssr => ssr && typeof ssr === 'object' && ssr.mode === 'stream';
|
|
14
|
-
|
|
15
11
|
const {
|
|
16
12
|
server
|
|
17
13
|
} = userConfig;
|
|
18
|
-
|
|
19
14
|
if (server !== null && server !== void 0 && server.ssr && !isStreaming(server.ssr)) {
|
|
20
15
|
return true;
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
if (server !== null && server !== void 0 && server.ssrByEntries && typeof server.ssrByEntries === 'object') {
|
|
24
18
|
for (const name of Object.keys(server.ssrByEntries)) {
|
|
25
19
|
if (!isStreaming(server.ssrByEntries[name])) {
|
|
@@ -27,10 +21,8 @@ const hasStringSSREntry = userConfig => {
|
|
|
27
21
|
}
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
|
-
|
|
31
24
|
return false;
|
|
32
25
|
};
|
|
33
|
-
|
|
34
26
|
var _default = () => ({
|
|
35
27
|
name: '@modern-js/plugin-ssr',
|
|
36
28
|
required: ['@modern-js/runtime'],
|
|
@@ -53,11 +45,9 @@ var _default = () => ({
|
|
|
53
45
|
CHAIN_ID
|
|
54
46
|
}) => {
|
|
55
47
|
const userConfig = api.useResolvedConfigContext();
|
|
56
|
-
|
|
57
48
|
if ((0, _utils.isUseSSRBundle)(userConfig) && name !== 'server' && hasStringSSREntry(userConfig)) {
|
|
58
49
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
59
50
|
const LoadableWebpackPlugin = require('@loadable/webpack-plugin');
|
|
60
|
-
|
|
61
51
|
chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [{
|
|
62
52
|
filename: _utils.LOADABLE_STATS_FILE
|
|
63
53
|
}]);
|
|
@@ -65,7 +55,6 @@ var _default = () => ({
|
|
|
65
55
|
},
|
|
66
56
|
babel: config => {
|
|
67
57
|
const userConfig = api.useResolvedConfigContext();
|
|
68
|
-
|
|
69
58
|
if ((0, _utils.isUseSSRBundle)(userConfig) && hasStringSSREntry(userConfig)) {
|
|
70
59
|
config.plugins.push(require.resolve('@loadable/babel-plugin'));
|
|
71
60
|
}
|
|
@@ -73,7 +62,6 @@ var _default = () => ({
|
|
|
73
62
|
}
|
|
74
63
|
};
|
|
75
64
|
},
|
|
76
|
-
|
|
77
65
|
modifyEntryImports({
|
|
78
66
|
entrypoint,
|
|
79
67
|
imports
|
|
@@ -87,28 +75,23 @@ var _default = () => ({
|
|
|
87
75
|
packageName,
|
|
88
76
|
entrypoints
|
|
89
77
|
} = api.useAppContext();
|
|
90
|
-
pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
|
|
78
|
+
pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
|
|
91
79
|
|
|
80
|
+
// if use ssg then set ssr config to true
|
|
92
81
|
const ssrConfig = (0, _utils.getEntryOptions)(entryName, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
|
|
93
|
-
|
|
94
82
|
if (typeof ssrConfig === 'object' && ssrConfig.mode === 'stream') {
|
|
95
83
|
var _runtimeConfig$router;
|
|
96
|
-
|
|
97
84
|
const runtimeConfig = (0, _utils.getEntryOptions)(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
98
|
-
|
|
99
85
|
if (runtimeConfig !== null && runtimeConfig !== void 0 && (_runtimeConfig$router = runtimeConfig.router) !== null && _runtimeConfig$router !== void 0 && _runtimeConfig$router.legacy) {
|
|
100
86
|
throw new Error(`Legacy router plugin doesn't support streaming SSR, check your config 'runtime.router'`);
|
|
101
87
|
}
|
|
102
|
-
|
|
103
88
|
if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
|
|
104
89
|
throw new Error(`You should switch to file-system based router to support streaming SSR.`);
|
|
105
90
|
}
|
|
106
91
|
}
|
|
107
|
-
|
|
108
92
|
const ssgConfig = userConfig.output.ssg;
|
|
109
93
|
const useSSG = (0, _utils.isSingleEntry)(entrypoints) ? Boolean(ssgConfig) : ssgConfig === true || typeof (ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[0]) === 'function' || Boolean(ssgConfig === null || ssgConfig === void 0 ? void 0 : ssgConfig[entryName]);
|
|
110
94
|
ssrConfigMap.set(entryName, ssrConfig || useSSG);
|
|
111
|
-
|
|
112
95
|
if (ssrConfig || useSSG) {
|
|
113
96
|
imports.push({
|
|
114
97
|
value: '@modern-js/runtime/plugins',
|
|
@@ -117,13 +100,11 @@ var _default = () => ({
|
|
|
117
100
|
}]
|
|
118
101
|
});
|
|
119
102
|
}
|
|
120
|
-
|
|
121
103
|
return {
|
|
122
104
|
entrypoint,
|
|
123
105
|
imports
|
|
124
106
|
};
|
|
125
107
|
},
|
|
126
|
-
|
|
127
108
|
modifyEntryRuntimePlugins({
|
|
128
109
|
entrypoint,
|
|
129
110
|
plugins
|
|
@@ -134,13 +115,11 @@ var _default = () => ({
|
|
|
134
115
|
options: JSON.stringify(ssrConfigMap.get(entrypoint.entryName))
|
|
135
116
|
});
|
|
136
117
|
}
|
|
137
|
-
|
|
138
118
|
return {
|
|
139
119
|
entrypoint,
|
|
140
120
|
plugins
|
|
141
121
|
};
|
|
142
122
|
},
|
|
143
|
-
|
|
144
123
|
modifyEntryExport({
|
|
145
124
|
entrypoint,
|
|
146
125
|
exportStatement
|
|
@@ -153,15 +132,12 @@ var _default = () => ({
|
|
|
153
132
|
}`, exportStatement].join('\n')
|
|
154
133
|
};
|
|
155
134
|
}
|
|
156
|
-
|
|
157
135
|
return {
|
|
158
136
|
entrypoint,
|
|
159
137
|
exportStatement
|
|
160
138
|
};
|
|
161
139
|
}
|
|
162
|
-
|
|
163
140
|
};
|
|
164
141
|
}
|
|
165
142
|
});
|
|
166
|
-
|
|
167
143
|
exports.default = _default;
|
|
@@ -7,21 +7,13 @@ var _exportNames = {
|
|
|
7
7
|
ssr: true
|
|
8
8
|
};
|
|
9
9
|
exports.ssr = exports.default = void 0;
|
|
10
|
-
|
|
11
10
|
var _component = require("@loadable/component");
|
|
12
|
-
|
|
13
11
|
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
14
|
-
|
|
15
12
|
var _types = require("./serverRender/types");
|
|
16
|
-
|
|
17
13
|
var _withCallback = require("./react/withCallback");
|
|
18
|
-
|
|
19
14
|
var _utils = require("./utils");
|
|
20
|
-
|
|
21
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
|
|
23
16
|
var _react = require("./react");
|
|
24
|
-
|
|
25
17
|
Object.keys(_react).forEach(function (key) {
|
|
26
18
|
if (key === "default" || key === "__esModule") return;
|
|
27
19
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -33,15 +25,10 @@ Object.keys(_react).forEach(function (key) {
|
|
|
33
25
|
}
|
|
34
26
|
});
|
|
35
27
|
});
|
|
36
|
-
|
|
37
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
38
|
-
|
|
39
29
|
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; }
|
|
40
|
-
|
|
41
30
|
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; }
|
|
42
|
-
|
|
43
31
|
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; }
|
|
44
|
-
|
|
45
32
|
const ssr = config => ({
|
|
46
33
|
name: '@modern-js/plugin-ssr',
|
|
47
34
|
setup: () => {
|
|
@@ -53,29 +40,26 @@ const ssr = config => ({
|
|
|
53
40
|
ModernRender,
|
|
54
41
|
ModernHydrate
|
|
55
42
|
}) => {
|
|
43
|
+
var _window, _window$_SSR_DATA;
|
|
56
44
|
const hydrateContext = _objectSpread(_objectSpread({}, context), {}, {
|
|
57
45
|
_hydration: true
|
|
58
46
|
});
|
|
59
|
-
|
|
60
47
|
const callback = () => {
|
|
61
48
|
// won't cause component re-render because context's reference identity doesn't change
|
|
62
49
|
delete hydrateContext._hydration;
|
|
63
|
-
};
|
|
50
|
+
};
|
|
64
51
|
|
|
52
|
+
// if render level not exist, use client render
|
|
53
|
+
const renderLevel = ((_window = window) === null || _window === void 0 ? void 0 : (_window$_SSR_DATA = _window._SSR_DATA) === null || _window$_SSR_DATA === void 0 ? void 0 : _window$_SSR_DATA.renderLevel) || _types.RenderLevel.CLIENT_RENDER;
|
|
65
54
|
|
|
55
|
+
// react streamSSR hydrate
|
|
66
56
|
if ((0, _utils.isReact18)() && config.mode === 'stream') {
|
|
67
57
|
return streamSSRHydrate();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
}
|
|
59
|
+
// react stringSSR hydrate
|
|
71
60
|
return stringSSRHydrate();
|
|
72
|
-
|
|
73
61
|
function stringSSRHydrate() {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// if render level not exist, use client render
|
|
77
|
-
const renderLevel = ((_window = window) === null || _window === void 0 ? void 0 : (_window$_SSR_DATA = _window._SSR_DATA) === null || _window$_SSR_DATA === void 0 ? void 0 : _window$_SSR_DATA.renderLevel) || _types.RenderLevel.CLIENT_RENDER; // client render and server prefetch use same logic
|
|
78
|
-
|
|
62
|
+
// client render and server prefetch use same logic
|
|
79
63
|
if (renderLevel === _types.RenderLevel.CLIENT_RENDER || renderLevel === _types.RenderLevel.SERVER_PREFETCH) {
|
|
80
64
|
ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
81
65
|
context: context
|
|
@@ -90,7 +74,6 @@ const ssr = config => ({
|
|
|
90
74
|
context: hydrateContext
|
|
91
75
|
})
|
|
92
76
|
});
|
|
93
|
-
|
|
94
77
|
SSRApp = (0, _hoistNonReactStatics.default)(SSRApp, App);
|
|
95
78
|
ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(SSRApp, {}));
|
|
96
79
|
});
|
|
@@ -109,28 +92,29 @@ const ssr = config => ({
|
|
|
109
92
|
}));
|
|
110
93
|
}
|
|
111
94
|
}
|
|
112
|
-
|
|
113
95
|
function streamSSRHydrate() {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
96
|
+
if (renderLevel === _types.RenderLevel.SERVER_RENDER) {
|
|
97
|
+
// callback: https://github.com/reactwg/react-18/discussions/5
|
|
98
|
+
let SSRApp = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_withCallback.WithCallback, {
|
|
99
|
+
callback: callback,
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
101
|
+
context: hydrateContext
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
SSRApp = (0, _hoistNonReactStatics.default)(SSRApp, App);
|
|
105
|
+
ModernHydrate( /*#__PURE__*/(0, _jsxRuntime.jsx)(SSRApp, {}));
|
|
106
|
+
} else {
|
|
107
|
+
ModernRender( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {
|
|
108
|
+
context: context
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
124
111
|
}
|
|
125
112
|
},
|
|
126
|
-
|
|
127
113
|
init({
|
|
128
114
|
context
|
|
129
115
|
}, next) {
|
|
130
116
|
var _window2, _window2$_SSR_DATA, _window2$_SSR_DATA$co;
|
|
131
|
-
|
|
132
117
|
const request = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$_SSR_DATA = _window2._SSR_DATA) === null || _window2$_SSR_DATA === void 0 ? void 0 : (_window2$_SSR_DATA$co = _window2$_SSR_DATA.context) === null || _window2$_SSR_DATA$co === void 0 ? void 0 : _window2$_SSR_DATA$co.request;
|
|
133
|
-
|
|
134
118
|
if (!request) {
|
|
135
119
|
context.ssrContext = _objectSpread(_objectSpread({}, context.ssrContext), {}, {
|
|
136
120
|
response: mockResp,
|
|
@@ -140,25 +124,21 @@ const ssr = config => ({
|
|
|
140
124
|
context
|
|
141
125
|
});
|
|
142
126
|
}
|
|
143
|
-
|
|
144
127
|
context.ssrContext.response = mockResp;
|
|
145
128
|
context.ssrContext.request = (0, _utils.formatClient)(request);
|
|
146
129
|
return next({
|
|
147
130
|
context
|
|
148
131
|
});
|
|
149
132
|
},
|
|
150
|
-
|
|
151
133
|
pickContext: ({
|
|
152
134
|
context,
|
|
153
135
|
pickedContext
|
|
154
136
|
}, next) => {
|
|
155
137
|
var _window3, _window3$_SSR_DATA, _window3$_SSR_DATA$co;
|
|
156
|
-
|
|
157
138
|
const request = (_window3 = window) === null || _window3 === void 0 ? void 0 : (_window3$_SSR_DATA = _window3._SSR_DATA) === null || _window3$_SSR_DATA === void 0 ? void 0 : (_window3$_SSR_DATA$co = _window3$_SSR_DATA.context) === null || _window3$_SSR_DATA$co === void 0 ? void 0 : _window3$_SSR_DATA$co.request;
|
|
158
139
|
const {
|
|
159
140
|
initialData
|
|
160
141
|
} = context;
|
|
161
|
-
|
|
162
142
|
if (!request) {
|
|
163
143
|
return next({
|
|
164
144
|
context,
|
|
@@ -167,7 +147,6 @@ const ssr = config => ({
|
|
|
167
147
|
})
|
|
168
148
|
});
|
|
169
149
|
}
|
|
170
|
-
|
|
171
150
|
return next({
|
|
172
151
|
context,
|
|
173
152
|
pickedContext: _objectSpread(_objectSpread({}, pickedContext), {}, {
|
|
@@ -180,7 +159,6 @@ const ssr = config => ({
|
|
|
180
159
|
};
|
|
181
160
|
}
|
|
182
161
|
});
|
|
183
|
-
|
|
184
162
|
exports.ssr = ssr;
|
|
185
163
|
var _default = ssr;
|
|
186
164
|
exports.default = _default;
|
|
@@ -7,17 +7,9 @@ var _exportNames = {
|
|
|
7
7
|
ssr: true
|
|
8
8
|
};
|
|
9
9
|
exports.ssr = exports.default = void 0;
|
|
10
|
-
|
|
11
|
-
var _core = require("../core");
|
|
12
|
-
|
|
13
|
-
var _prefetch = _interopRequireDefault(require("./prefetch"));
|
|
14
|
-
|
|
15
10
|
var _utils = require("./utils");
|
|
16
|
-
|
|
17
11
|
var _serverRender = _interopRequireDefault(require("./serverRender"));
|
|
18
|
-
|
|
19
12
|
var _react = require("./react");
|
|
20
|
-
|
|
21
13
|
Object.keys(_react).forEach(function (key) {
|
|
22
14
|
if (key === "default" || key === "__esModule") return;
|
|
23
15
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -29,17 +21,10 @@ Object.keys(_react).forEach(function (key) {
|
|
|
29
21
|
}
|
|
30
22
|
});
|
|
31
23
|
});
|
|
32
|
-
|
|
33
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
34
|
-
|
|
35
25
|
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; }
|
|
36
|
-
|
|
37
26
|
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; }
|
|
38
|
-
|
|
39
27
|
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; }
|
|
40
|
-
|
|
41
|
-
const registeredApps = new WeakSet();
|
|
42
|
-
|
|
43
28
|
const ssr = (config = {}) => ({
|
|
44
29
|
name: '@modern-js/plugin-ssr',
|
|
45
30
|
setup: () => {
|
|
@@ -48,11 +33,6 @@ const ssr = (config = {}) => ({
|
|
|
48
33
|
App,
|
|
49
34
|
context
|
|
50
35
|
}) => {
|
|
51
|
-
if (!registeredApps.has(App)) {
|
|
52
|
-
(0, _core.registerPrefetch)(App, _context => (0, _prefetch.default)(App, _context));
|
|
53
|
-
registeredApps.add(App);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
36
|
const html = await (0, _serverRender.default)({
|
|
57
37
|
context: context,
|
|
58
38
|
App: App,
|
|
@@ -60,7 +40,6 @@ const ssr = (config = {}) => ({
|
|
|
60
40
|
});
|
|
61
41
|
return html;
|
|
62
42
|
},
|
|
63
|
-
|
|
64
43
|
init({
|
|
65
44
|
context
|
|
66
45
|
}, next) {
|
|
@@ -72,7 +51,6 @@ const ssr = (config = {}) => ({
|
|
|
72
51
|
context
|
|
73
52
|
});
|
|
74
53
|
},
|
|
75
|
-
|
|
76
54
|
pickContext: ({
|
|
77
55
|
context,
|
|
78
56
|
pickedContext
|
|
@@ -97,7 +75,6 @@ const ssr = (config = {}) => ({
|
|
|
97
75
|
};
|
|
98
76
|
}
|
|
99
77
|
});
|
|
100
|
-
|
|
101
78
|
exports.ssr = ssr;
|
|
102
79
|
var _default = ssr;
|
|
103
80
|
exports.default = _default;
|
|
@@ -4,26 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _server = require("react-dom/server");
|
|
9
|
-
|
|
10
8
|
var _ssr = require("@modern-js/utils/ssr");
|
|
11
|
-
|
|
12
9
|
var _server2 = require("@loadable/server");
|
|
13
|
-
|
|
14
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
|
|
16
11
|
// todo: SSRContext
|
|
17
12
|
const prefetch = async (App, context) => (0, _ssr.run)(context.ssrContext.request.headers, async () => {
|
|
18
13
|
var _context$store;
|
|
19
|
-
|
|
20
14
|
const {
|
|
21
15
|
ssrContext
|
|
22
16
|
} = context;
|
|
23
17
|
const {
|
|
24
18
|
loadableStats
|
|
25
19
|
} = ssrContext;
|
|
26
|
-
|
|
27
20
|
if (loadableStats) {
|
|
28
21
|
const extractor = new _server2.ChunkExtractor({
|
|
29
22
|
stats: loadableStats,
|
|
@@ -37,18 +30,15 @@ const prefetch = async (App, context) => (0, _ssr.run)(context.ssrContext.reques
|
|
|
37
30
|
context: context
|
|
38
31
|
}));
|
|
39
32
|
}
|
|
40
|
-
|
|
41
33
|
if (!context.loaderManager.hasPendingLoaders()) {
|
|
42
34
|
return {
|
|
43
35
|
initialData: context.initialData,
|
|
44
36
|
i18nData: context.__i18nData__
|
|
45
37
|
};
|
|
46
38
|
}
|
|
47
|
-
|
|
48
39
|
const loadersData = await context.loaderManager.awaitPendingLoaders();
|
|
49
40
|
Object.keys(loadersData).forEach(id => {
|
|
50
41
|
const data = loadersData[id];
|
|
51
|
-
|
|
52
42
|
if (data._error) {
|
|
53
43
|
ssrContext.logger.error('App Prefetch Loader', data._error);
|
|
54
44
|
ssrContext.metrics.emitCounter('app.prefetch.loader.error', 1);
|
|
@@ -63,6 +53,5 @@ const prefetch = async (App, context) => (0, _ssr.run)(context.ssrContext.reques
|
|
|
63
53
|
storeState: context === null || context === void 0 ? void 0 : (_context$store = context.store) === null || _context$store === void 0 ? void 0 : _context$store.getState()
|
|
64
54
|
};
|
|
65
55
|
});
|
|
66
|
-
|
|
67
56
|
var _default = prefetch;
|
|
68
57
|
exports.default = _default;
|
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.NoSSR = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
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); }
|
|
11
|
-
|
|
12
9
|
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; }
|
|
13
|
-
|
|
14
10
|
let csr = false;
|
|
15
|
-
|
|
16
11
|
const NoSSR = props => {
|
|
17
12
|
const [isMounted, setMounted] = (0, _react.useState)(csr);
|
|
18
13
|
(0, _react.useEffect)(() => {
|
|
@@ -24,5 +19,4 @@ const NoSSR = props => {
|
|
|
24
19
|
} = props;
|
|
25
20
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isMounted ? children : null);
|
|
26
21
|
};
|
|
27
|
-
|
|
28
22
|
exports.NoSSR = NoSSR;
|