@modern-js/runtime 2.0.0-beta.0 → 2.0.0-beta.2
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 +158 -0
- package/dist/js/modern/cli/index.js +6 -6
- package/dist/js/modern/core/app-config.js +2 -1
- package/dist/js/modern/core/compatible.js +66 -48
- 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 +132 -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 -11
- package/dist/js/modern/state/runtime/plugin.js +1 -14
- package/dist/js/node/cli/index.js +6 -14
- 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 +66 -66
- 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 +142 -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 -16
- 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 +6 -4
- package/dist/js/treeshaking/core/app-config.js +2 -1
- package/dist/js/treeshaking/core/compatible.js +74 -81
- 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 +175 -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 -11
- package/dist/js/treeshaking/state/runtime/plugin.js +2 -10
- package/dist/types/cli/index.d.ts +2 -4
- package/dist/types/core/compatible.d.ts +8 -10
- 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 +16 -28
- 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 +2 -4
- 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 +2 -4
- 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 +3 -6
- package/dist/types/state/cli/index.d.ts +2 -4
- package/dist/types/state/types.d.ts +0 -1
- package/package.json +24 -15
|
@@ -25,9 +25,7 @@ Object.defineProperty(exports, "model", {
|
|
|
25
25
|
return _store.model;
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
|
-
|
|
29
28
|
var _react = require("@modern-js-reduck/react");
|
|
30
|
-
|
|
31
29
|
Object.keys(_react).forEach(function (key) {
|
|
32
30
|
if (key === "default" || key === "__esModule") return;
|
|
33
31
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -39,11 +37,8 @@ Object.keys(_react).forEach(function (key) {
|
|
|
39
37
|
}
|
|
40
38
|
});
|
|
41
39
|
});
|
|
42
|
-
|
|
43
40
|
var _store = require("@modern-js-reduck/store");
|
|
44
|
-
|
|
45
41
|
var _plugin = _interopRequireWildcard(require("./plugin"));
|
|
46
|
-
|
|
47
42
|
Object.keys(_plugin).forEach(function (key) {
|
|
48
43
|
if (key === "default" || key === "__esModule") return;
|
|
49
44
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -55,7 +50,5 @@ Object.keys(_plugin).forEach(function (key) {
|
|
|
55
50
|
}
|
|
56
51
|
});
|
|
57
52
|
});
|
|
58
|
-
|
|
59
53
|
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); }
|
|
60
|
-
|
|
61
54
|
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; }
|
|
@@ -5,17 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {};
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
|
|
9
8
|
var _react = require("react");
|
|
10
|
-
|
|
11
9
|
var _store = require("@modern-js-reduck/store");
|
|
12
|
-
|
|
13
10
|
var _react2 = require("@modern-js-reduck/react");
|
|
14
|
-
|
|
15
11
|
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
16
|
-
|
|
17
12
|
var _plugins = require("../plugins");
|
|
18
|
-
|
|
19
13
|
Object.keys(_plugins).forEach(function (key) {
|
|
20
14
|
if (key === "default" || key === "__esModule") return;
|
|
21
15
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -27,28 +21,19 @@ Object.keys(_plugins).forEach(function (key) {
|
|
|
27
21
|
}
|
|
28
22
|
});
|
|
29
23
|
});
|
|
30
|
-
|
|
31
24
|
var _core = require("../../core");
|
|
32
|
-
|
|
33
25
|
var _common = require("../../common");
|
|
34
|
-
|
|
35
26
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
36
|
-
|
|
37
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
38
|
-
|
|
39
28
|
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
29
|
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
30
|
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
31
|
const StatePluginHandleMap = {
|
|
46
32
|
immer: _plugins.immer,
|
|
47
33
|
effects: _plugins.effects,
|
|
48
34
|
autoActions: _plugins.autoActions,
|
|
49
35
|
devtools: _plugins.devtools
|
|
50
36
|
};
|
|
51
|
-
|
|
52
37
|
const getStoreConfig = config => {
|
|
53
38
|
const internalPlugins = ['immer', 'effects', 'autoActions', 'devtools'];
|
|
54
39
|
const plugins = [];
|
|
@@ -57,7 +42,6 @@ const getStoreConfig = config => {
|
|
|
57
42
|
plugins
|
|
58
43
|
};
|
|
59
44
|
};
|
|
60
|
-
|
|
61
45
|
const state = config => ({
|
|
62
46
|
name: '@modern-js/plugin-state',
|
|
63
47
|
setup: () => {
|
|
@@ -74,29 +58,23 @@ const state = config => ({
|
|
|
74
58
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, _objectSpread({}, props))
|
|
75
59
|
});
|
|
76
60
|
};
|
|
77
|
-
|
|
78
61
|
return next({
|
|
79
62
|
App: (0, _hoistNonReactStatics.default)(getStateApp, App)
|
|
80
63
|
});
|
|
81
64
|
},
|
|
82
|
-
|
|
83
65
|
init({
|
|
84
66
|
context
|
|
85
67
|
}, next) {
|
|
86
68
|
const storeConfig = getStoreConfig(config || {});
|
|
87
|
-
|
|
88
69
|
if ((0, _common.isBrowser)()) {
|
|
89
70
|
var _window, _window$_SSR_DATA, _window$_SSR_DATA$dat;
|
|
90
|
-
|
|
91
71
|
storeConfig.initialState = storeConfig.initialState || ((_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$dat = _window$_SSR_DATA.data) === null || _window$_SSR_DATA$dat === void 0 ? void 0 : _window$_SSR_DATA$dat.storeState) || {};
|
|
92
72
|
}
|
|
93
|
-
|
|
94
73
|
context.store = (0, _store.createStore)(storeConfig);
|
|
95
|
-
next({
|
|
74
|
+
return next({
|
|
96
75
|
context
|
|
97
76
|
});
|
|
98
77
|
},
|
|
99
|
-
|
|
100
78
|
pickContext({
|
|
101
79
|
context,
|
|
102
80
|
pickedContext
|
|
@@ -108,10 +86,8 @@ const state = config => ({
|
|
|
108
86
|
})
|
|
109
87
|
});
|
|
110
88
|
}
|
|
111
|
-
|
|
112
89
|
};
|
|
113
90
|
}
|
|
114
91
|
});
|
|
115
|
-
|
|
116
92
|
var _default = state;
|
|
117
93
|
exports.default = _default;
|
|
@@ -5,11 +5,12 @@ import { PLUGIN_SCHEMAS, cleanRequireCache, isReact18 } from '@modern-js/utils';
|
|
|
5
5
|
import PluginState from "../state/cli";
|
|
6
6
|
import PluginSSR from "../ssr/cli";
|
|
7
7
|
import PluginRouter from "../router/cli";
|
|
8
|
+
import Document from "../document/cli";
|
|
8
9
|
export default (function () {
|
|
9
10
|
return {
|
|
10
11
|
name: '@modern-js/runtime',
|
|
11
|
-
post: ['@modern-js/plugin-router', '@modern-js/plugin-ssr', '@modern-js/plugin-state', '@modern-js/plugin-design-token'],
|
|
12
|
-
usePlugins: [PluginState(), PluginSSR(), PluginRouter()],
|
|
12
|
+
post: ['@modern-js/plugin-router', '@modern-js/plugin-ssr', '@modern-js/plugin-document', '@modern-js/plugin-state', '@modern-js/plugin-design-token'],
|
|
13
|
+
usePlugins: [PluginState(), PluginSSR(), PluginRouter(), Document()],
|
|
13
14
|
setup: function setup(api) {
|
|
14
15
|
return {
|
|
15
16
|
config: function config() {
|
|
@@ -27,7 +28,9 @@ export default (function () {
|
|
|
27
28
|
*/
|
|
28
29
|
'styled-components': require.resolve('styled-components')
|
|
29
30
|
},
|
|
30
|
-
|
|
31
|
+
globalVars: {
|
|
32
|
+
'process.env.IS_REACT18': process.env.IS_REACT18
|
|
33
|
+
}
|
|
31
34
|
}
|
|
32
35
|
};
|
|
33
36
|
},
|
|
@@ -41,7 +44,6 @@ export default (function () {
|
|
|
41
44
|
switch (_context.prev = _context.next) {
|
|
42
45
|
case 0:
|
|
43
46
|
cleanRequireCache([require.resolve("../state/cli"), require.resolve("../router/cli"), require.resolve("../ssr/cli")]);
|
|
44
|
-
|
|
45
47
|
case 1:
|
|
46
48
|
case "end":
|
|
47
49
|
return _context.stop();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var APP_CONFIG_SYMBOL = 'config';
|
|
2
2
|
export var getConfig = function getConfig(Component) {
|
|
3
|
-
return (
|
|
3
|
+
return (
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
4
5
|
// @ts-expect-error
|
|
5
6
|
Component[APP_CONFIG_SYMBOL]
|
|
6
7
|
);
|
|
@@ -5,35 +5,31 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
5
5
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
6
6
|
var _excluded = ["context"];
|
|
7
7
|
import React, { useContext, useMemo } from 'react';
|
|
8
|
-
import defaultReactDOM from 'react-dom';
|
|
9
8
|
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
10
9
|
import { RuntimeReactContext } from "../runtime-context";
|
|
11
10
|
import { runtime } from "./plugin";
|
|
12
11
|
import { createLoaderManager } from "./loader/loaderManager";
|
|
13
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
13
|
var IS_REACT18 = process.env.IS_REACT18 === 'true';
|
|
15
|
-
|
|
14
|
+
var ROUTE_MANIFEST = "_MODERNJS_ROUTE_MANIFEST";
|
|
16
15
|
function isClientArgs(id) {
|
|
17
16
|
return typeof id === 'string' || typeof HTMLElement !== 'undefined' && id instanceof HTMLElement;
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
var runnerMap = new WeakMap();
|
|
21
|
-
|
|
22
19
|
var getInitialContext = function getInitialContext(runner) {
|
|
23
20
|
return {
|
|
24
21
|
loaderManager: createLoaderManager({}),
|
|
25
22
|
runner: runner,
|
|
26
|
-
isBrowser: true
|
|
23
|
+
isBrowser: true,
|
|
24
|
+
routeManifest: typeof window !== 'undefined' && window[ROUTE_MANIFEST]
|
|
27
25
|
};
|
|
28
26
|
};
|
|
29
|
-
|
|
30
27
|
export var createApp = function createApp(_ref) {
|
|
31
28
|
var plugins = _ref.plugins;
|
|
32
29
|
var appRuntime = runtime.clone();
|
|
33
30
|
appRuntime.usePlugin.apply(appRuntime, _toConsumableArray(plugins));
|
|
34
31
|
return function (App) {
|
|
35
32
|
var runner = appRuntime.init();
|
|
36
|
-
|
|
37
33
|
var WrapperComponent = function WrapperComponent(props) {
|
|
38
34
|
var element = /*#__PURE__*/React.createElement(App || React.Fragment, _objectSpread({}, props), props.children);
|
|
39
35
|
var context = useContext(RuntimeReactContext);
|
|
@@ -48,25 +44,21 @@ export var createApp = function createApp(_ref) {
|
|
|
48
44
|
}
|
|
49
45
|
});
|
|
50
46
|
};
|
|
51
|
-
|
|
52
47
|
if (App) {
|
|
53
48
|
hoistNonReactStatics(WrapperComponent, App);
|
|
54
49
|
}
|
|
55
|
-
|
|
56
50
|
var HOCApp = runner.hoc({
|
|
57
51
|
App: WrapperComponent
|
|
58
52
|
}, {
|
|
59
53
|
onLast: function onLast(_ref3) {
|
|
60
54
|
var App = _ref3.App;
|
|
61
|
-
|
|
62
55
|
var WrapComponent = function WrapComponent(_ref4) {
|
|
63
56
|
var _contextValue;
|
|
64
|
-
|
|
65
57
|
var context = _ref4.context,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
var contextValue = context; // We should construct the context, when root component is not passed into `bootstrap`.
|
|
58
|
+
props = _objectWithoutProperties(_ref4, _excluded);
|
|
59
|
+
var contextValue = context;
|
|
69
60
|
|
|
61
|
+
// We should construct the context, when root component is not passed into `bootstrap`.
|
|
70
62
|
if (!((_contextValue = contextValue) !== null && _contextValue !== void 0 && _contextValue.runner)) {
|
|
71
63
|
contextValue = getInitialContext(runner);
|
|
72
64
|
runner.init({
|
|
@@ -74,19 +66,16 @@ export var createApp = function createApp(_ref) {
|
|
|
74
66
|
}, {
|
|
75
67
|
onLast: function onLast(_ref5) {
|
|
76
68
|
var _App$init;
|
|
77
|
-
|
|
78
69
|
var context1 = _ref5.context;
|
|
79
70
|
return App === null || App === void 0 ? void 0 : (_App$init = App.init) === null || _App$init === void 0 ? void 0 : _App$init.call(App, context1);
|
|
80
71
|
}
|
|
81
72
|
});
|
|
82
73
|
}
|
|
83
|
-
|
|
84
74
|
return /*#__PURE__*/_jsx(RuntimeReactContext.Provider, {
|
|
85
75
|
value: contextValue,
|
|
86
76
|
children: /*#__PURE__*/_jsx(App, _objectSpread({}, props))
|
|
87
77
|
});
|
|
88
78
|
};
|
|
89
|
-
|
|
90
79
|
return hoistNonReactStatics(WrapComponent, App);
|
|
91
80
|
}
|
|
92
81
|
});
|
|
@@ -104,87 +93,58 @@ export var bootstrap = /*#__PURE__*/function () {
|
|
|
104
93
|
/**
|
|
105
94
|
* root.render need use root to run function
|
|
106
95
|
*/
|
|
107
|
-
root
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
context,
|
|
112
|
-
runInit,
|
|
113
|
-
isBrowser,
|
|
114
|
-
_ssrData$data,
|
|
115
|
-
_ssrData$data2,
|
|
116
|
-
ssrData,
|
|
117
|
-
loadersData,
|
|
118
|
-
initialLoadersState,
|
|
119
|
-
initialData,
|
|
120
|
-
_rootElement,
|
|
121
|
-
ModernRender,
|
|
122
|
-
ModernHydrate,
|
|
123
|
-
_initialData,
|
|
124
|
-
_args = arguments;
|
|
125
|
-
|
|
96
|
+
root, ReactDOM
|
|
97
|
+
// eslint-disable-next-line consistent-return
|
|
98
|
+
) {
|
|
99
|
+
var App, runner, context, runInit, isBrowser, _ssrData$data, _ssrData$data2, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate, isRedirectResponse, _initialData;
|
|
126
100
|
return _regeneratorRuntime().wrap(function _callee$(_context2) {
|
|
127
101
|
while (1) {
|
|
128
102
|
switch (_context2.prev = _context2.next) {
|
|
129
103
|
case 0:
|
|
130
|
-
ReactDOM = _args.length > 3 && _args[3] !== undefined ? _args[3] : defaultReactDOM;
|
|
131
104
|
App = BootApp;
|
|
132
105
|
runner = runnerMap.get(App); // ensure Component used is created by `createApp`
|
|
133
|
-
|
|
134
106
|
if (!runner) {
|
|
135
107
|
App = createApp({
|
|
136
108
|
plugins: []
|
|
137
109
|
})(App);
|
|
138
110
|
runner = runnerMap.get(App);
|
|
139
111
|
}
|
|
140
|
-
|
|
141
112
|
context = getInitialContext(runner);
|
|
142
|
-
|
|
143
113
|
runInit = function runInit(_context) {
|
|
144
114
|
return runner.init({
|
|
145
115
|
context: _context
|
|
146
116
|
}, {
|
|
147
117
|
onLast: function onLast(_ref7) {
|
|
148
118
|
var _App, _App$init2;
|
|
149
|
-
|
|
150
119
|
var context1 = _ref7.context;
|
|
151
120
|
return (_App = App) === null || _App === void 0 ? void 0 : (_App$init2 = _App.init) === null || _App$init2 === void 0 ? void 0 : _App$init2.call(_App, context1);
|
|
152
121
|
}
|
|
153
122
|
});
|
|
154
123
|
}; // don't mount the App, let user in charge of it.
|
|
155
|
-
|
|
156
|
-
|
|
157
124
|
if (id) {
|
|
158
|
-
_context2.next =
|
|
125
|
+
_context2.next = 7;
|
|
159
126
|
break;
|
|
160
127
|
}
|
|
161
|
-
|
|
162
128
|
return _context2.abrupt("return", /*#__PURE__*/React.createElement(App, {
|
|
163
129
|
context: context
|
|
164
130
|
}));
|
|
165
|
-
|
|
166
|
-
case 8:
|
|
131
|
+
case 7:
|
|
167
132
|
isBrowser = typeof window !== 'undefined' && window.name !== 'nodejs';
|
|
168
|
-
|
|
169
133
|
if (!isBrowser) {
|
|
170
|
-
_context2.next =
|
|
134
|
+
_context2.next = 30;
|
|
171
135
|
break;
|
|
172
136
|
}
|
|
173
|
-
|
|
174
137
|
if (!isClientArgs(id)) {
|
|
175
|
-
_context2.next =
|
|
138
|
+
_context2.next = 27;
|
|
176
139
|
break;
|
|
177
140
|
}
|
|
178
|
-
|
|
179
141
|
ssrData = window._SSR_DATA;
|
|
180
142
|
loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData$data = ssrData.data) === null || _ssrData$data === void 0 ? void 0 : _ssrData$data.loadersData) || {};
|
|
181
143
|
initialLoadersState = Object.keys(loadersData).reduce(function (res, key) {
|
|
182
144
|
var loaderData = loadersData[key];
|
|
183
|
-
|
|
184
145
|
if (loaderData.loading !== false) {
|
|
185
146
|
return res;
|
|
186
147
|
}
|
|
187
|
-
|
|
188
148
|
res[key] = loaderData;
|
|
189
149
|
return res;
|
|
190
150
|
}, {});
|
|
@@ -196,34 +156,50 @@ export var bootstrap = /*#__PURE__*/function () {
|
|
|
196
156
|
ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
|
|
197
157
|
} : {}));
|
|
198
158
|
context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData$data2 = ssrData.data) === null || _ssrData$data2 === void 0 ? void 0 : _ssrData$data2.initialData;
|
|
199
|
-
_context2.next =
|
|
159
|
+
_context2.next = 17;
|
|
200
160
|
return runInit(context);
|
|
201
|
-
|
|
202
|
-
case 18:
|
|
161
|
+
case 17:
|
|
203
162
|
initialData = _context2.sent;
|
|
204
|
-
|
|
205
163
|
if (initialData) {
|
|
206
164
|
context.initialData = initialData;
|
|
207
165
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
166
|
+
rootElement = typeof id !== 'string' ? id : document.getElementById(id || 'root');
|
|
167
|
+
if (ReactDOM) {
|
|
168
|
+
_context2.next = 22;
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
throw Error('The `bootstrap` need provide `ReactDOM` parameter');
|
|
172
|
+
case 22:
|
|
173
|
+
// https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html
|
|
211
174
|
ModernRender = function ModernRender(App) {
|
|
212
175
|
if (IS_REACT18) {
|
|
213
|
-
(root
|
|
176
|
+
if (root) {
|
|
177
|
+
root.render(App);
|
|
178
|
+
} else if (ReactDOM.createRoot) {
|
|
179
|
+
ReactDOM.createRoot(rootElement).render(App);
|
|
180
|
+
} else {
|
|
181
|
+
throw Error('The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method');
|
|
182
|
+
}
|
|
214
183
|
} else {
|
|
215
|
-
ReactDOM.render
|
|
184
|
+
if (!ReactDOM.render) {
|
|
185
|
+
throw Error('The `bootstrap` `ReactDOM` parameter needs to provide the `render` method');
|
|
186
|
+
}
|
|
187
|
+
ReactDOM.render(App, rootElement);
|
|
216
188
|
}
|
|
217
189
|
};
|
|
218
|
-
|
|
219
190
|
ModernHydrate = function ModernHydrate(App, callback) {
|
|
220
191
|
if (IS_REACT18) {
|
|
221
|
-
ReactDOM.hydrateRoot
|
|
192
|
+
if (!ReactDOM.hydrateRoot) {
|
|
193
|
+
throw Error('The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method');
|
|
194
|
+
}
|
|
195
|
+
ReactDOM.hydrateRoot(rootElement, App);
|
|
222
196
|
} else {
|
|
223
|
-
ReactDOM.hydrate
|
|
197
|
+
if (!ReactDOM.hydrate) {
|
|
198
|
+
throw Error('The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method');
|
|
199
|
+
}
|
|
200
|
+
ReactDOM.hydrate(App, rootElement, callback);
|
|
224
201
|
}
|
|
225
202
|
};
|
|
226
|
-
|
|
227
203
|
return _context2.abrupt("return", runner.client({
|
|
228
204
|
App: App,
|
|
229
205
|
context: context,
|
|
@@ -237,15 +213,12 @@ export var bootstrap = /*#__PURE__*/function () {
|
|
|
237
213
|
}));
|
|
238
214
|
}
|
|
239
215
|
}));
|
|
240
|
-
|
|
241
|
-
case 26:
|
|
242
|
-
throw Error('`bootstrap` needs id in browser environment, it needs to be string or element');
|
|
243
|
-
|
|
244
216
|
case 27:
|
|
245
|
-
|
|
217
|
+
throw Error('`bootstrap` needs id in browser environment, it needs to be string or element');
|
|
218
|
+
case 28:
|
|
219
|
+
_context2.next = 38;
|
|
246
220
|
break;
|
|
247
|
-
|
|
248
|
-
case 29:
|
|
221
|
+
case 30:
|
|
249
222
|
Object.assign(context, {
|
|
250
223
|
ssrContext: id,
|
|
251
224
|
isBrowser: false,
|
|
@@ -255,26 +228,46 @@ export var bootstrap = /*#__PURE__*/function () {
|
|
|
255
228
|
skipStatic: process.env.NODE_ENV === 'production' && !id.staticGenerate
|
|
256
229
|
})
|
|
257
230
|
});
|
|
258
|
-
_context2.next = 32;
|
|
259
|
-
return runInit(context);
|
|
260
231
|
|
|
261
|
-
|
|
232
|
+
// Handle redirects from React Router with an HTTP redirect
|
|
233
|
+
isRedirectResponse = function isRedirectResponse(result) {
|
|
234
|
+
if (typeof Response !== 'undefined' &&
|
|
235
|
+
// fix: ssg workflow doesn't inject Web Response
|
|
236
|
+
result instanceof Response && result.status >= 300 && result.status <= 399) {
|
|
237
|
+
var status = result.status;
|
|
238
|
+
var redirectUrl = result.headers.get('Location') || '/';
|
|
239
|
+
var ssrContext = context.ssrContext;
|
|
240
|
+
if (ssrContext) {
|
|
241
|
+
ssrContext.res.statusCode = status;
|
|
242
|
+
ssrContext.res.setHeader('Location', redirectUrl);
|
|
243
|
+
ssrContext.redirection.status = status;
|
|
244
|
+
ssrContext.redirection.url = redirectUrl;
|
|
245
|
+
}
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
return false;
|
|
249
|
+
};
|
|
250
|
+
_context2.next = 34;
|
|
251
|
+
return runInit(context);
|
|
252
|
+
case 34:
|
|
262
253
|
_initialData = _context2.sent;
|
|
254
|
+
if (isRedirectResponse(_initialData)) {
|
|
255
|
+
_context2.next = 38;
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
263
258
|
context.initialData = _initialData;
|
|
264
259
|
return _context2.abrupt("return", runner.server({
|
|
265
260
|
App: App,
|
|
266
261
|
context: context
|
|
267
262
|
}));
|
|
268
|
-
|
|
269
|
-
case 35:
|
|
263
|
+
case 38:
|
|
270
264
|
case "end":
|
|
271
265
|
return _context2.stop();
|
|
272
266
|
}
|
|
273
267
|
}
|
|
274
268
|
}, _callee);
|
|
275
269
|
}));
|
|
276
|
-
|
|
277
|
-
return function bootstrap(_x, _x2, _x3) {
|
|
270
|
+
return function bootstrap(_x, _x2, _x3, _x4) {
|
|
278
271
|
return _ref6.apply(this, arguments);
|
|
279
272
|
};
|
|
280
273
|
}();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { createPlugin, createRuntime, runtime, registerInit
|
|
2
|
-
export { defineConfig, getConfig } from "./app-config";
|
|
1
|
+
export { createPlugin, createRuntime, runtime, registerInit } from "./plugin";
|
|
2
|
+
export { defineConfig, getConfig } from "./app-config";
|
|
3
3
|
|
|
4
|
+
// compatible
|
|
4
5
|
export * from "./compatible";
|
|
5
6
|
export { RuntimeReactContext, ServerRouterContext } from "../runtime-context";
|
|
6
7
|
export * from "./loader";
|