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