@modern-js/runtime 2.0.0-beta.4 → 2.0.0-beta.6
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 +133 -0
- package/dist/js/modern/document/Body.js +2 -2
- package/dist/js/modern/document/DocumentStructrueContext.js +2 -1
- package/dist/js/modern/document/Head.js +3 -1
- package/dist/js/modern/document/Html.js +2 -0
- package/dist/js/modern/document/Links.js +10 -0
- package/dist/js/modern/document/Root.js +1 -1
- package/dist/js/modern/document/cli/index.js +8 -2
- package/dist/js/modern/document/constants.js +4 -0
- package/dist/js/modern/document/index.js +1 -0
- package/dist/js/modern/router/cli/index.js +7 -9
- package/dist/js/modern/router/runtime/index.js +1 -0
- package/dist/js/modern/router/runtime/plugin.node.js +3 -3
- package/dist/js/modern/router/runtime/utils.js +8 -4
- package/dist/js/modern/ssr/cli/index.js +2 -2
- package/dist/js/node/cli/index.js +13 -11
- package/dist/js/node/common.js +7 -3
- package/dist/js/node/core/app-config.js +8 -3
- package/dist/js/node/core/compatible.js +41 -37
- package/dist/js/node/core/index.js +17 -6
- package/dist/js/node/core/loader/index.js +7 -3
- package/dist/js/node/core/loader/loaderManager.js +19 -14
- package/dist/js/node/core/loader/useLoader.js +22 -22
- package/dist/js/node/core/plugin.js +17 -10
- package/dist/js/node/document/Body.js +8 -4
- package/dist/js/node/document/DocumentContext.js +7 -3
- package/dist/js/node/document/DocumentStructrueContext.js +9 -4
- package/dist/js/node/document/Head.js +11 -4
- package/dist/js/node/document/Html.js +9 -3
- package/dist/js/node/document/Links.js +33 -0
- package/dist/js/node/document/Root.js +9 -4
- package/dist/js/node/document/Script.js +7 -3
- package/dist/js/node/document/Scripts.js +7 -3
- package/dist/js/node/document/cli/index.js +35 -30
- package/dist/js/node/document/constants.js +25 -3
- package/dist/js/node/document/index.js +12 -11
- package/dist/js/node/exports/head.js +6 -4
- package/dist/js/node/exports/loadable.js +6 -4
- package/dist/js/node/exports/server.js +7 -3
- package/dist/js/node/exports/styled.js +6 -4
- package/dist/js/node/index.js +15 -3
- package/dist/js/node/router/cli/index.js +29 -31
- package/dist/js/node/router/index.js +8 -4
- package/dist/js/node/router/runtime/DefaultNotFound.js +7 -3
- package/dist/js/node/router/runtime/index.js +10 -5
- package/dist/js/node/router/runtime/plugin.js +27 -22
- package/dist/js/node/router/runtime/plugin.node.js +40 -37
- package/dist/js/node/router/runtime/root/index.js +7 -3
- package/dist/js/node/router/runtime/root/load.js +14 -8
- package/dist/js/node/router/runtime/server.js +3 -3
- package/dist/js/node/router/runtime/types.js +15 -0
- package/dist/js/node/router/runtime/utils.js +48 -38
- package/dist/js/node/router/runtime/withRouter.js +24 -22
- package/dist/js/node/runtime-context.js +8 -3
- package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +109 -128
- package/dist/js/node/ssr/cli/index.js +21 -21
- package/dist/js/node/ssr/index.js +34 -32
- package/dist/js/node/ssr/index.node.js +30 -28
- package/dist/js/node/ssr/prefetch.js +11 -9
- package/dist/js/node/ssr/react/index.js +8 -3
- package/dist/js/node/ssr/react/nossr/index.js +7 -3
- package/dist/js/node/ssr/react/prerender/index.js +24 -22
- package/dist/js/node/ssr/react/prerender/type.js +15 -0
- package/dist/js/node/ssr/react/prerender/util.js +11 -3
- package/dist/js/node/ssr/react/withCallback/index.js +7 -3
- package/dist/js/node/ssr/serverRender/helmet.js +5 -3
- package/dist/js/node/ssr/serverRender/index.js +8 -6
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +8 -3
- package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToStream/index.js +14 -10
- package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +22 -22
- package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToStream/template.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
- package/dist/js/node/ssr/serverRender/renderToString/entry.js +19 -17
- package/dist/js/node/ssr/serverRender/renderToString/index.js +13 -9
- package/dist/js/node/ssr/serverRender/renderToString/loadable.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToString/reduce.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +7 -3
- package/dist/js/node/ssr/serverRender/renderToString/template.js +8 -3
- package/dist/js/node/ssr/serverRender/renderToString/type.js +7 -3
- package/dist/js/node/ssr/serverRender/types.js +7 -3
- package/dist/js/node/ssr/serverRender/utils.js +8 -3
- package/dist/js/node/ssr/utils.js +25 -19
- package/dist/js/node/state/cli/index.js +5 -3
- package/dist/js/node/state/index.js +8 -4
- package/dist/js/node/state/plugins.js +10 -3
- package/dist/js/node/state/runtime/index.js +10 -5
- package/dist/js/node/state/runtime/plugin.js +23 -23
- package/dist/js/node/state/types.js +15 -0
- package/dist/js/treeshaking/document/Body.js +2 -2
- package/dist/js/treeshaking/document/DocumentStructrueContext.js +2 -1
- package/dist/js/treeshaking/document/Head.js +3 -1
- package/dist/js/treeshaking/document/Html.js +2 -0
- package/dist/js/treeshaking/document/Links.js +8 -0
- package/dist/js/treeshaking/document/Root.js +1 -1
- package/dist/js/treeshaking/document/cli/index.js +9 -4
- package/dist/js/treeshaking/document/constants.js +2 -1
- package/dist/js/treeshaking/document/index.js +1 -0
- package/dist/js/treeshaking/router/cli/index.js +7 -9
- package/dist/js/treeshaking/router/runtime/index.js +1 -0
- package/dist/js/treeshaking/router/runtime/plugin.node.js +2 -2
- package/dist/js/treeshaking/router/runtime/utils.js +8 -4
- package/dist/js/treeshaking/ssr/cli/index.js +2 -2
- package/dist/types/document/DocumentStructrueContext.d.ts +1 -0
- package/dist/types/document/Links.d.ts +2 -0
- package/dist/types/document/constants.d.ts +1 -0
- package/dist/types/document/index.d.ts +1 -0
- package/dist/types/router/runtime/index.d.ts +1 -0
- package/dist/types/router/runtime/types.d.ts +1 -1
- package/package.json +18 -15
- package/types/index.d.ts +2 -2
- package/types/router.d.ts +2 -2
|
@@ -53,6 +53,10 @@ function _objectSpreadProps(target, source) {
|
|
|
53
53
|
import { getEntryOptions, createRuntimeExportsUtils, PLUGIN_SCHEMAS } from "@modern-js/utils";
|
|
54
54
|
var PLUGIN_IDENTIFIER = "router";
|
|
55
55
|
var ROUTES_IDENTIFIER = "routes";
|
|
56
|
+
var isV5 = function(config) {
|
|
57
|
+
var ref, ref1;
|
|
58
|
+
return (config === null || config === void 0 ? void 0 : (ref = config.runtime) === null || ref === void 0 ? void 0 : (ref1 = ref.router) === null || ref1 === void 0 ? void 0 : ref1.mode) === "react-router-5";
|
|
59
|
+
};
|
|
56
60
|
var cli_default = function() {
|
|
57
61
|
return {
|
|
58
62
|
name: "@modern-js/plugin-router",
|
|
@@ -79,15 +83,13 @@ var cli_default = function() {
|
|
|
79
83
|
},
|
|
80
84
|
modifyEntryImports: function modifyEntryImports(param) {
|
|
81
85
|
var entrypoint = param.entrypoint, imports = param.imports;
|
|
82
|
-
var ref, ref1;
|
|
83
86
|
var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
|
|
84
87
|
var userConfig = api.useResolvedConfigContext();
|
|
85
|
-
var isLegacy = Boolean(userConfig === null || userConfig === void 0 ? void 0 : (ref = userConfig.runtime) === null || ref === void 0 ? void 0 : (ref1 = ref.router) === null || ref1 === void 0 ? void 0 : ref1.legacy);
|
|
86
88
|
var packageName = api.useAppContext().packageName;
|
|
87
89
|
var runtimeConfig = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
88
90
|
runtimeConfigMap.set(entryName, runtimeConfig);
|
|
89
91
|
if (runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) {
|
|
90
|
-
if (!
|
|
92
|
+
if (!isV5(userConfig)) {
|
|
91
93
|
imports.push({
|
|
92
94
|
value: "@modern-js/runtime/plugins",
|
|
93
95
|
specifiers: [
|
|
@@ -107,13 +109,11 @@ var cli_default = function() {
|
|
|
107
109
|
},
|
|
108
110
|
modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
|
|
109
111
|
var entrypoint = param.entrypoint, plugins = param.plugins;
|
|
110
|
-
var ref, ref1;
|
|
111
112
|
var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
|
|
112
113
|
var serverRoutes = api.useAppContext().serverRoutes;
|
|
113
114
|
var userConfig = api.useResolvedConfigContext();
|
|
114
|
-
var isLegacy = Boolean(userConfig === null || userConfig === void 0 ? void 0 : (ref = userConfig.runtime) === null || ref === void 0 ? void 0 : (ref1 = ref.router) === null || ref1 === void 0 ? void 0 : ref1.legacy);
|
|
115
115
|
var runtimeConfig = runtimeConfigMap.get(entryName);
|
|
116
|
-
if (runtimeConfig.router && !
|
|
116
|
+
if (runtimeConfig.router && !isV5(userConfig)) {
|
|
117
117
|
var serverBase = serverRoutes.filter(function(route) {
|
|
118
118
|
return route.entryName === entryName;
|
|
119
119
|
}).map(function(route) {
|
|
@@ -136,10 +136,8 @@ var cli_default = function() {
|
|
|
136
136
|
};
|
|
137
137
|
},
|
|
138
138
|
addRuntimeExports: function addRuntimeExports() {
|
|
139
|
-
var ref, ref1;
|
|
140
139
|
var userConfig = api.useResolvedConfigContext();
|
|
141
|
-
|
|
142
|
-
if (!isLegacy) {
|
|
140
|
+
if (!isV5(userConfig)) {
|
|
143
141
|
pluginsExportsUtils.addExport("export { default as router } from '@modern-js/runtime/router'");
|
|
144
142
|
}
|
|
145
143
|
}
|
|
@@ -2,5 +2,6 @@ import { routerPlugin } from "./plugin";
|
|
|
2
2
|
var runtime_default = routerPlugin;
|
|
3
3
|
import { modifyRoutes } from "./plugin";
|
|
4
4
|
export * from "react-router-dom";
|
|
5
|
+
export * from "react-router-dom/server";
|
|
5
6
|
export * from "./withRouter";
|
|
6
7
|
export { runtime_default as default, modifyRoutes };
|
|
@@ -229,8 +229,8 @@ var __generator = this && this.__generator || function(thisArg, body) {
|
|
|
229
229
|
};
|
|
230
230
|
import { jsx } from "react/jsx-runtime";
|
|
231
231
|
import { useContext } from "react";
|
|
232
|
-
import {
|
|
233
|
-
import {
|
|
232
|
+
import { createStaticHandler } from "@remix-run/router";
|
|
233
|
+
import { createStaticRouter, StaticRouterProvider } from "react-router-dom/server";
|
|
234
234
|
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
235
235
|
import { installGlobals } from "@remix-run/node";
|
|
236
236
|
import { createRoutesFromElements } from "react-router-dom";
|
|
@@ -84,9 +84,6 @@ import { DefaultNotFound } from "./DefaultNotFound";
|
|
|
84
84
|
import { RootLayout } from "./root";
|
|
85
85
|
var renderNestedRoute = function(nestedRoute, parent) {
|
|
86
86
|
var children = nestedRoute.children, index = nestedRoute.index, id = nestedRoute.id, Component = nestedRoute.component;
|
|
87
|
-
var childElements = children === null || children === void 0 ? void 0 : children.map(function(childRoute) {
|
|
88
|
-
return renderNestedRoute(childRoute, nestedRoute);
|
|
89
|
-
});
|
|
90
87
|
var routeProps = {
|
|
91
88
|
caseSensitive: nestedRoute.caseSensitive,
|
|
92
89
|
path: nestedRoute.path,
|
|
@@ -112,11 +109,15 @@ var renderNestedRoute = function(nestedRoute, parent) {
|
|
|
112
109
|
fallback: /* @__PURE__ */ jsx(Loading, {}),
|
|
113
110
|
children: /* @__PURE__ */ jsx(Component, {})
|
|
114
111
|
});
|
|
115
|
-
} else {
|
|
112
|
+
} else if (!(parent === null || parent === void 0 ? void 0 : parent.index)) {
|
|
116
113
|
element = /* @__PURE__ */ jsx(Suspense, {
|
|
117
114
|
children: /* @__PURE__ */ jsx(Component, {})
|
|
118
115
|
});
|
|
116
|
+
} else {
|
|
117
|
+
element = /* @__PURE__ */ jsx(Component, {});
|
|
119
118
|
}
|
|
119
|
+
} else {
|
|
120
|
+
nestedRoute.loading = parent === null || parent === void 0 ? void 0 : parent.loading;
|
|
120
121
|
}
|
|
121
122
|
if (!parent && element) {
|
|
122
123
|
element = /* @__PURE__ */ jsx(RootLayout, {
|
|
@@ -129,6 +130,9 @@ var renderNestedRoute = function(nestedRoute, parent) {
|
|
|
129
130
|
if (element) {
|
|
130
131
|
routeProps.element = element;
|
|
131
132
|
}
|
|
133
|
+
var childElements = children === null || children === void 0 ? void 0 : children.map(function(childRoute) {
|
|
134
|
+
return renderNestedRoute(childRoute, nestedRoute);
|
|
135
|
+
});
|
|
132
136
|
var routeElement = index ? /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
|
|
133
137
|
index: true
|
|
134
138
|
}), id) : /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
|
|
@@ -157,8 +157,8 @@ var cli_default = function() {
|
|
|
157
157
|
if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
|
|
158
158
|
var ref1;
|
|
159
159
|
var runtimeConfig = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
160
|
-
if (runtimeConfig === null || runtimeConfig === void 0 ? void 0 : (ref1 = runtimeConfig.router) === null || ref1 === void 0 ? void 0 : ref1.
|
|
161
|
-
throw new Error("
|
|
160
|
+
if ((runtimeConfig === null || runtimeConfig === void 0 ? void 0 : (ref1 = runtimeConfig.router) === null || ref1 === void 0 ? void 0 : ref1.mode) === "react-router-5") {
|
|
161
|
+
throw new Error("router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'");
|
|
162
162
|
}
|
|
163
163
|
if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
|
|
164
164
|
throw new Error("You should switch to file-system based router to support streaming SSR.");
|
|
@@ -8,6 +8,7 @@ export declare const DOCUMENT_CHUNKSMAP_PLACEHOLDER: string;
|
|
|
8
8
|
export declare const DOCUMENT_SSRDATASCRIPT_PLACEHOLDER: string;
|
|
9
9
|
export declare const DOCUMENT_FILE_NAME = "Document";
|
|
10
10
|
export declare const DOCUMENT_SCRIPTS_PLACEHOLDER: string;
|
|
11
|
+
export declare const DOCUMENT_LINKS_PLACEHOLDER: string;
|
|
11
12
|
export declare const DOCUMENT_NO_SCRIPTE_PLACEHOLDER: string;
|
|
12
13
|
export declare const DOCUMENT_SCRIPT_PLACEHOLDER_START: string;
|
|
13
14
|
export declare const DOCUMENT_SCRIPT_PLACEHOLDER_END: string;
|
|
@@ -27,7 +27,7 @@ export declare type SingleRouteConfig = RouteProps & {
|
|
|
27
27
|
component?: React.ComponentType;
|
|
28
28
|
};
|
|
29
29
|
export declare type RouterConfig = {
|
|
30
|
-
|
|
30
|
+
mode?: 'react-router-5';
|
|
31
31
|
routesConfig: {
|
|
32
32
|
globalApp?: React.ComponentType<any>;
|
|
33
33
|
routes: (NestedRoute | PageRoute)[];
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.0.0-beta.
|
|
14
|
+
"version": "2.0.0-beta.6",
|
|
15
15
|
"engines": {
|
|
16
16
|
"node": ">=14.17.6"
|
|
17
17
|
},
|
|
@@ -94,6 +94,9 @@
|
|
|
94
94
|
"loadable": [
|
|
95
95
|
"./dist/types/exports/loadable.d.ts"
|
|
96
96
|
],
|
|
97
|
+
"cli": [
|
|
98
|
+
"./dist/types/cli/index.d.ts"
|
|
99
|
+
],
|
|
97
100
|
"head": [
|
|
98
101
|
"./dist/types/exports/head.d.ts"
|
|
99
102
|
],
|
|
@@ -125,18 +128,20 @@
|
|
|
125
128
|
},
|
|
126
129
|
"dependencies": {
|
|
127
130
|
"@babel/core": "^7.18.0",
|
|
128
|
-
"@babel/types": "^7.18.0",
|
|
129
131
|
"@babel/runtime": "^7.18.0",
|
|
132
|
+
"@babel/types": "^7.18.0",
|
|
130
133
|
"@loadable/babel-plugin": "^5.13.2",
|
|
131
|
-
"@loadable/webpack-plugin": "5.15.2",
|
|
132
134
|
"@loadable/component": "^5.15.0",
|
|
133
135
|
"@loadable/server": "^5.15.1",
|
|
136
|
+
"@loadable/webpack-plugin": "5.15.2",
|
|
134
137
|
"@modern-js-reduck/plugin-auto-actions": "^1.1.4",
|
|
135
138
|
"@modern-js-reduck/plugin-devtools": "^1.1.4",
|
|
136
139
|
"@modern-js-reduck/plugin-effects": "^1.1.4",
|
|
137
140
|
"@modern-js-reduck/plugin-immutable": "^1.1.4",
|
|
138
141
|
"@modern-js-reduck/react": "^1.1.4",
|
|
139
142
|
"@modern-js-reduck/store": "^1.1.4",
|
|
143
|
+
"@remix-run/node": "^1.9.0",
|
|
144
|
+
"@remix-run/router": "^1.2.0",
|
|
140
145
|
"@types/loadable__component": "^5.13.4",
|
|
141
146
|
"@types/react-helmet": "^6.1.2",
|
|
142
147
|
"@types/redux-logger": "^3.0.9",
|
|
@@ -144,26 +149,24 @@
|
|
|
144
149
|
"hoist-non-react-statics": "^3.3.2",
|
|
145
150
|
"invariant": "^2.2.4",
|
|
146
151
|
"react-helmet": "^6.1.0",
|
|
147
|
-
"@remix-run/node": "^1.7.0",
|
|
148
|
-
"@remix-run/router": "^1.0.4",
|
|
149
152
|
"react-is": "^18",
|
|
150
|
-
"react-router-dom": "^6.
|
|
153
|
+
"react-router-dom": "^6.6.0",
|
|
151
154
|
"react-side-effect": "^2.1.1",
|
|
152
155
|
"redux-logger": "^3.0.6",
|
|
153
156
|
"serialize-javascript": "^6.0.0",
|
|
154
157
|
"styled-components": "^5.3.1",
|
|
155
|
-
"@modern-js/plugin": "2.0.0-beta.
|
|
156
|
-
"@modern-js/
|
|
157
|
-
"@modern-js/
|
|
158
|
+
"@modern-js/plugin": "2.0.0-beta.6",
|
|
159
|
+
"@modern-js/types": "2.0.0-beta.6",
|
|
160
|
+
"@modern-js/utils": "2.0.0-beta.6"
|
|
158
161
|
},
|
|
159
162
|
"peerDependencies": {
|
|
160
163
|
"react": ">=17",
|
|
161
164
|
"react-dom": ">=17"
|
|
162
165
|
},
|
|
163
166
|
"devDependencies": {
|
|
167
|
+
"@remix-run/web-fetch": "^4.1.3",
|
|
164
168
|
"@testing-library/react": "^13.4.0",
|
|
165
169
|
"@testing-library/react-hooks": "^8.0.1",
|
|
166
|
-
"@remix-run/web-fetch": "^4.1.3",
|
|
167
170
|
"@types/invariant": "^2.2.30",
|
|
168
171
|
"@types/jest": "^27",
|
|
169
172
|
"@types/loadable__webpack-plugin": "^5.7.3",
|
|
@@ -175,11 +178,11 @@
|
|
|
175
178
|
"react-dom": "^18",
|
|
176
179
|
"ts-jest": "^27.0.4",
|
|
177
180
|
"typescript": "^4",
|
|
178
|
-
"@modern-js/
|
|
179
|
-
"@modern-js/
|
|
180
|
-
"@
|
|
181
|
-
"@
|
|
182
|
-
"@scripts/jest-config": "2.0.0-beta.
|
|
181
|
+
"@modern-js/app-tools": "2.0.0-beta.6",
|
|
182
|
+
"@modern-js/core": "2.0.0-beta.6",
|
|
183
|
+
"@modern-js/server-core": "2.0.0-beta.6",
|
|
184
|
+
"@scripts/build": "2.0.0-beta.6",
|
|
185
|
+
"@scripts/jest-config": "2.0.0-beta.6"
|
|
183
186
|
},
|
|
184
187
|
"sideEffects": false,
|
|
185
188
|
"modernConfig": {},
|
package/types/index.d.ts
CHANGED
package/types/router.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RouterConfig } from '../dist/types';
|
|
2
2
|
import '../dist/types/router';
|
|
3
3
|
|
|
4
|
-
declare module '@modern-js/
|
|
5
|
-
interface
|
|
4
|
+
declare module '@modern-js/app-tools' {
|
|
5
|
+
interface RuntimeUserConfig {
|
|
6
6
|
router?: RouterConfig | boolean;
|
|
7
7
|
}
|
|
8
8
|
}
|