@modern-js/runtime 2.0.0-beta.3 → 2.0.0-beta.4

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.
Files changed (254) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/dist/js/modern/cli/index.js +49 -19
  3. package/dist/js/modern/cli/types.d.js +0 -0
  4. package/dist/js/modern/common.js +4 -1
  5. package/dist/js/modern/core/app-config.js +8 -9
  6. package/dist/js/modern/core/compatible.js +195 -169
  7. package/dist/js/modern/core/index.js +14 -6
  8. package/dist/js/modern/core/loader/index.js +4 -1
  9. package/dist/js/modern/core/loader/loaderManager.js +75 -77
  10. package/dist/js/modern/core/loader/useLoader.js +96 -69
  11. package/dist/js/modern/core/plugin.js +37 -20
  12. package/dist/js/modern/document/Body.js +20 -14
  13. package/dist/js/modern/document/DocumentContext.js +6 -3
  14. package/dist/js/modern/document/DocumentStructrueContext.js +6 -3
  15. package/dist/js/modern/document/Head.js +18 -17
  16. package/dist/js/modern/document/Html.js +42 -58
  17. package/dist/js/modern/document/Root.js +22 -20
  18. package/dist/js/modern/document/Script.js +20 -0
  19. package/dist/js/modern/document/Scripts.js +7 -7
  20. package/dist/js/modern/document/cli/index.js +175 -85
  21. package/dist/js/modern/document/constants.js +41 -15
  22. package/dist/js/modern/document/index.js +2 -1
  23. package/dist/js/modern/document/type.d.js +0 -0
  24. package/dist/js/modern/exports/head.js +6 -3
  25. package/dist/js/modern/exports/loadable.js +6 -3
  26. package/dist/js/modern/exports/server.js +4 -1
  27. package/dist/js/modern/exports/styled.js +6 -3
  28. package/dist/js/modern/index.js +22 -2
  29. package/dist/js/modern/modern-app.env.d.js +0 -0
  30. package/dist/js/modern/router/cli/index.js +75 -57
  31. package/dist/js/modern/router/index.js +7 -3
  32. package/dist/js/modern/router/runtime/DefaultNotFound.js +11 -10
  33. package/dist/js/modern/router/runtime/index.js +8 -3
  34. package/dist/js/modern/router/runtime/plugin.js +70 -37
  35. package/dist/js/modern/router/runtime/plugin.node.js +88 -83
  36. package/dist/js/modern/router/runtime/root/index.js +10 -10
  37. package/dist/js/modern/router/runtime/root/load.js +57 -36
  38. package/dist/js/modern/router/runtime/server.js +1 -1
  39. package/dist/js/modern/router/runtime/types.js +0 -1
  40. package/dist/js/modern/router/runtime/utils.js +84 -63
  41. package/dist/js/modern/router/runtime/withRouter.js +31 -15
  42. package/dist/js/modern/runtime-context.js +7 -3
  43. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  44. package/dist/js/modern/ssr/cli/index.js +102 -79
  45. package/dist/js/modern/ssr/index.js +89 -71
  46. package/dist/js/modern/ssr/index.node.js +59 -37
  47. package/dist/js/modern/ssr/prefetch.js +64 -45
  48. package/dist/js/modern/ssr/react/index.js +6 -2
  49. package/dist/js/modern/ssr/react/nossr/index.js +8 -7
  50. package/dist/js/modern/ssr/react/prerender/index.js +53 -28
  51. package/dist/js/modern/ssr/react/prerender/util.js +38 -26
  52. package/dist/js/modern/ssr/react/withCallback/index.js +6 -7
  53. package/dist/js/modern/ssr/serverRender/helmet.js +18 -12
  54. package/dist/js/modern/ssr/serverRender/index.js +34 -13
  55. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +10 -12
  56. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -5
  57. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +37 -38
  58. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +36 -18
  59. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +7 -7
  60. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +56 -34
  61. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +6 -5
  62. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +13 -9
  63. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +101 -84
  64. package/dist/js/modern/ssr/serverRender/renderToString/index.js +32 -9
  65. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +21 -18
  66. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +6 -3
  67. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +6 -3
  68. package/dist/js/modern/ssr/serverRender/renderToString/template.js +22 -22
  69. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -6
  70. package/dist/js/modern/ssr/serverRender/types.js +3 -1
  71. package/dist/js/modern/ssr/serverRender/utils.js +11 -9
  72. package/dist/js/modern/ssr/type.d.js +0 -0
  73. package/dist/js/modern/ssr/utils.js +41 -21
  74. package/dist/js/modern/state/cli/index.js +43 -32
  75. package/dist/js/modern/state/index.js +7 -3
  76. package/dist/js/modern/state/plugins.js +13 -7
  77. package/dist/js/modern/state/runtime/index.js +9 -4
  78. package/dist/js/modern/state/runtime/plugin.js +56 -40
  79. package/dist/js/modern/state/types.js +0 -1
  80. package/dist/js/node/cli/index.js +77 -30
  81. package/dist/js/node/cli/types.d.js +0 -0
  82. package/dist/js/node/common.js +22 -7
  83. package/dist/js/node/core/app-config.js +24 -14
  84. package/dist/js/node/core/compatible.js +223 -186
  85. package/dist/js/node/core/index.js +34 -100
  86. package/dist/js/node/core/loader/index.js +27 -11
  87. package/dist/js/node/core/loader/loaderManager.js +97 -83
  88. package/dist/js/node/core/loader/useLoader.js +120 -83
  89. package/dist/js/node/core/plugin.js +58 -35
  90. package/dist/js/node/document/Body.js +36 -23
  91. package/dist/js/node/document/DocumentContext.js +29 -9
  92. package/dist/js/node/document/DocumentStructrueContext.js +29 -9
  93. package/dist/js/node/document/Head.js +38 -27
  94. package/dist/js/node/document/Html.js +62 -65
  95. package/dist/js/node/document/Root.js +42 -31
  96. package/dist/js/node/document/Script.js +36 -0
  97. package/dist/js/node/document/Scripts.js +26 -14
  98. package/dist/js/node/document/cli/index.js +188 -95
  99. package/dist/js/node/document/constants.js +56 -28
  100. package/dist/js/node/document/index.js +25 -93
  101. package/dist/js/node/document/type.d.js +0 -0
  102. package/dist/js/node/exports/head.js +31 -22
  103. package/dist/js/node/exports/loadable.js +31 -22
  104. package/dist/js/node/exports/server.js +22 -7
  105. package/dist/js/node/exports/styled.js +31 -22
  106. package/dist/js/node/index.js +32 -61
  107. package/dist/js/node/modern-app.env.d.js +0 -0
  108. package/dist/js/node/router/cli/index.js +88 -62
  109. package/dist/js/node/router/index.js +30 -31
  110. package/dist/js/node/router/runtime/DefaultNotFound.js +28 -17
  111. package/dist/js/node/router/runtime/index.js +28 -33
  112. package/dist/js/node/router/runtime/plugin.js +89 -44
  113. package/dist/js/node/router/runtime/plugin.node.js +110 -93
  114. package/dist/js/node/router/runtime/root/index.js +33 -21
  115. package/dist/js/node/router/runtime/root/load.js +74 -42
  116. package/dist/js/node/router/runtime/server.js +17 -16
  117. package/dist/js/node/router/runtime/types.js +0 -5
  118. package/dist/js/node/router/runtime/utils.js +99 -72
  119. package/dist/js/node/router/runtime/withRouter.js +51 -22
  120. package/dist/js/node/runtime-context.js +25 -10
  121. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +158 -0
  122. package/dist/js/node/ssr/cli/index.js +119 -85
  123. package/dist/js/node/ssr/index.js +123 -104
  124. package/dist/js/node/ssr/index.node.js +84 -59
  125. package/dist/js/node/ssr/prefetch.js +82 -51
  126. package/dist/js/node/ssr/react/index.js +23 -17
  127. package/dist/js/node/ssr/react/nossr/index.js +33 -16
  128. package/dist/js/node/ssr/react/prerender/index.js +80 -45
  129. package/dist/js/node/ssr/react/prerender/util.js +55 -36
  130. package/dist/js/node/ssr/react/withCallback/index.js +25 -15
  131. package/dist/js/node/ssr/serverRender/helmet.js +35 -17
  132. package/dist/js/node/ssr/serverRender/index.js +53 -19
  133. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -20
  134. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +27 -10
  135. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +61 -47
  136. package/dist/js/node/ssr/serverRender/renderToStream/index.js +65 -30
  137. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +25 -12
  138. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +75 -43
  139. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +25 -11
  140. package/dist/js/node/ssr/serverRender/renderToStream/template.js +32 -16
  141. package/dist/js/node/ssr/serverRender/renderToString/entry.js +133 -103
  142. package/dist/js/node/ssr/serverRender/renderToString/index.js +60 -20
  143. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +41 -26
  144. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +23 -7
  145. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +23 -8
  146. package/dist/js/node/ssr/serverRender/renderToString/template.js +39 -28
  147. package/dist/js/node/ssr/serverRender/renderToString/type.js +27 -12
  148. package/dist/js/node/ssr/serverRender/types.js +21 -10
  149. package/dist/js/node/ssr/serverRender/utils.js +26 -13
  150. package/dist/js/node/ssr/type.d.js +0 -0
  151. package/dist/js/node/ssr/utils.js +57 -29
  152. package/dist/js/node/state/cli/index.js +56 -37
  153. package/dist/js/node/state/index.js +30 -31
  154. package/dist/js/node/state/plugins.js +36 -22
  155. package/dist/js/node/state/runtime/index.js +32 -51
  156. package/dist/js/node/state/runtime/plugin.js +89 -68
  157. package/dist/js/node/state/types.js +0 -5
  158. package/dist/js/treeshaking/cli/index.js +180 -52
  159. package/dist/js/treeshaking/cli/types.d.js +1 -0
  160. package/dist/js/treeshaking/common.js +4 -3
  161. package/dist/js/treeshaking/core/app-config.js +8 -13
  162. package/dist/js/treeshaking/core/compatible.js +473 -276
  163. package/dist/js/treeshaking/core/index.js +5 -6
  164. package/dist/js/treeshaking/core/loader/index.js +2 -1
  165. package/dist/js/treeshaking/core/loader/loaderManager.js +395 -224
  166. package/dist/js/treeshaking/core/loader/useLoader.js +181 -83
  167. package/dist/js/treeshaking/core/plugin.js +164 -48
  168. package/dist/js/treeshaking/document/Body.js +15 -11
  169. package/dist/js/treeshaking/document/DocumentContext.js +7 -6
  170. package/dist/js/treeshaking/document/DocumentStructrueContext.js +8 -7
  171. package/dist/js/treeshaking/document/Head.js +18 -17
  172. package/dist/js/treeshaking/document/Html.js +86 -93
  173. package/dist/js/treeshaking/document/Root.js +23 -21
  174. package/dist/js/treeshaking/document/Script.js +15 -0
  175. package/dist/js/treeshaking/document/Scripts.js +7 -9
  176. package/dist/js/treeshaking/document/cli/index.js +381 -168
  177. package/dist/js/treeshaking/document/constants.js +34 -16
  178. package/dist/js/treeshaking/document/index.js +2 -1
  179. package/dist/js/treeshaking/document/type.d.js +1 -0
  180. package/dist/js/treeshaking/exports/head.js +4 -3
  181. package/dist/js/treeshaking/exports/loadable.js +4 -3
  182. package/dist/js/treeshaking/exports/server.js +4 -3
  183. package/dist/js/treeshaking/exports/styled.js +4 -3
  184. package/dist/js/treeshaking/index.js +3 -2
  185. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  186. package/dist/js/treeshaking/router/cli/index.js +147 -99
  187. package/dist/js/treeshaking/router/index.js +4 -3
  188. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -15
  189. package/dist/js/treeshaking/router/runtime/index.js +5 -3
  190. package/dist/js/treeshaking/router/runtime/plugin.js +119 -62
  191. package/dist/js/treeshaking/router/runtime/plugin.node.js +375 -152
  192. package/dist/js/treeshaking/router/runtime/root/index.js +17 -15
  193. package/dist/js/treeshaking/router/runtime/root/load.js +290 -95
  194. package/dist/js/treeshaking/router/runtime/server.js +1 -1
  195. package/dist/js/treeshaking/router/runtime/types.js +1 -1
  196. package/dist/js/treeshaking/router/runtime/utils.js +227 -143
  197. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -18
  198. package/dist/js/treeshaking/runtime-context.js +4 -3
  199. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  200. package/dist/js/treeshaking/ssr/cli/index.js +210 -138
  201. package/dist/js/treeshaking/ssr/index.js +305 -144
  202. package/dist/js/treeshaking/ssr/index.node.js +234 -66
  203. package/dist/js/treeshaking/ssr/prefetch.js +196 -79
  204. package/dist/js/treeshaking/ssr/react/index.js +3 -2
  205. package/dist/js/treeshaking/ssr/react/nossr/index.js +57 -14
  206. package/dist/js/treeshaking/ssr/react/prerender/index.js +226 -89
  207. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  208. package/dist/js/treeshaking/ssr/react/prerender/util.js +96 -86
  209. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -15
  210. package/dist/js/treeshaking/ssr/serverRender/helmet.js +38 -34
  211. package/dist/js/treeshaking/ssr/serverRender/index.js +165 -37
  212. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +33 -31
  213. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -7
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +109 -58
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +157 -42
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +20 -20
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +114 -63
  218. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -10
  219. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +61 -20
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  221. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +380 -208
  222. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +161 -40
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +51 -45
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +9 -8
  225. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -8
  226. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +142 -64
  227. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -6
  228. package/dist/js/treeshaking/ssr/serverRender/types.js +1 -1
  229. package/dist/js/treeshaking/ssr/serverRender/utils.js +67 -26
  230. package/dist/js/treeshaking/ssr/type.d.js +1 -0
  231. package/dist/js/treeshaking/ssr/utils.js +128 -64
  232. package/dist/js/treeshaking/state/cli/index.js +70 -68
  233. package/dist/js/treeshaking/state/index.js +4 -3
  234. package/dist/js/treeshaking/state/plugins.js +12 -11
  235. package/dist/js/treeshaking/state/runtime/index.js +5 -4
  236. package/dist/js/treeshaking/state/runtime/plugin.js +189 -77
  237. package/dist/js/treeshaking/state/types.js +1 -1
  238. package/dist/types/cli/index.d.ts +2 -0
  239. package/dist/types/core/loader/loaderManager.d.ts +1 -0
  240. package/dist/types/core/loader/useLoader.d.ts +5 -0
  241. package/dist/types/core/plugin.d.ts +6 -1
  242. package/dist/types/document/Script.d.ts +4 -0
  243. package/dist/types/document/cli/index.d.ts +2 -0
  244. package/dist/types/document/constants.d.ts +2 -0
  245. package/dist/types/document/index.d.ts +1 -0
  246. package/dist/types/router/cli/index.d.ts +2 -0
  247. package/dist/types/router/runtime/index.d.ts +1 -0
  248. package/dist/types/router/runtime/plugin.d.ts +4 -1
  249. package/dist/types/router/runtime/types.d.ts +4 -1
  250. package/dist/types/ssr/cli/babel-plugin-ssr-loader-id.d.ts +1 -0
  251. package/dist/types/ssr/cli/index.d.ts +2 -0
  252. package/dist/types/state/cli/index.d.ts +2 -0
  253. package/dist/types/state/types.d.ts +1 -0
  254. package/package.json +19 -11
@@ -1,152 +1,236 @@
1
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- var _excluded = ["Component"];
5
- import React, { Suspense } from 'react';
6
- import { Route } from 'react-router-dom';
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _objectSpread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _defineProperty(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _objectSpreadProps(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ function _objectWithoutProperties(source, excluded) {
54
+ if (source == null) return {};
55
+ var target = _objectWithoutPropertiesLoose(source, excluded);
56
+ var key, i;
57
+ if (Object.getOwnPropertySymbols) {
58
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
59
+ for(i = 0; i < sourceSymbolKeys.length; i++){
60
+ key = sourceSymbolKeys[i];
61
+ if (excluded.indexOf(key) >= 0) continue;
62
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
63
+ target[key] = source[key];
64
+ }
65
+ }
66
+ return target;
67
+ }
68
+ function _objectWithoutPropertiesLoose(source, excluded) {
69
+ if (source == null) return {};
70
+ var target = {};
71
+ var sourceKeys = Object.keys(source);
72
+ var key, i;
73
+ for(i = 0; i < sourceKeys.length; i++){
74
+ key = sourceKeys[i];
75
+ if (excluded.indexOf(key) >= 0) continue;
76
+ target[key] = source[key];
77
+ }
78
+ return target;
79
+ }
80
+ import { jsx } from "react/jsx-runtime";
81
+ import { Suspense } from "react";
82
+ import { Route } from "react-router-dom";
7
83
  import { DefaultNotFound } from "./DefaultNotFound";
8
84
  import { RootLayout } from "./root";
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- var renderNestedRoute = function renderNestedRoute(nestedRoute, parent) {
11
- var children = nestedRoute.children,
12
- index = nestedRoute.index,
13
- id = nestedRoute.id,
14
- Component = nestedRoute.component;
15
- var childElements = children === null || children === void 0 ? void 0 : children.map(function (childRoute) {
16
- return renderNestedRoute(childRoute, nestedRoute);
17
- });
18
- var routeProps = {
19
- caseSensitive: nestedRoute.caseSensitive,
20
- path: nestedRoute.path,
21
- id: nestedRoute.id,
22
- loader: nestedRoute.loader,
23
- action: nestedRoute.action,
24
- hasErrorBoundary: nestedRoute.hasErrorBoundary,
25
- shouldRevalidate: nestedRoute.shouldRevalidate,
26
- handle: nestedRoute.handle,
27
- index: nestedRoute.index,
28
- errorElement: nestedRoute.errorElement
29
- };
30
- if (nestedRoute.error) {
31
- var errorElement = /*#__PURE__*/_jsx(nestedRoute.error, {});
32
- routeProps.errorElement = errorElement;
33
- }
34
- var element;
35
- if (Component) {
36
- if (parent !== null && parent !== void 0 && parent.loading) {
37
- var Loading = parent.loading;
38
- element = /*#__PURE__*/_jsx(Suspense, {
39
- fallback: /*#__PURE__*/_jsx(Loading, {}),
40
- children: /*#__PURE__*/_jsx(Component, {})
41
- });
42
- } else {
43
- element = /*#__PURE__*/_jsx(Suspense, {
44
- children: /*#__PURE__*/_jsx(Component, {})
45
- });
46
- }
47
- }
48
- if (!parent && element) {
49
- element = /*#__PURE__*/_jsx(RootLayout, {
50
- routes: [nestedRoute],
51
- children: element
85
+ var renderNestedRoute = function(nestedRoute, parent) {
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);
52
89
  });
53
- }
54
- routeProps.element = element;
55
- var routeElement = index ? /*#__PURE__*/_jsx(Route, _objectSpread(_objectSpread({}, routeProps), {}, {
56
- index: true
57
- }), id) : /*#__PURE__*/_jsx(Route, _objectSpread(_objectSpread({}, routeProps), {}, {
58
- index: false,
59
- children: childElements
60
- }), id);
61
- return routeElement;
90
+ var routeProps = {
91
+ caseSensitive: nestedRoute.caseSensitive,
92
+ path: nestedRoute.path,
93
+ id: nestedRoute.id,
94
+ loader: nestedRoute.loader,
95
+ action: nestedRoute.action,
96
+ hasErrorBoundary: nestedRoute.hasErrorBoundary,
97
+ shouldRevalidate: nestedRoute.shouldRevalidate,
98
+ handle: nestedRoute.handle,
99
+ index: nestedRoute.index,
100
+ element: nestedRoute.element,
101
+ errorElement: nestedRoute.errorElement
102
+ };
103
+ if (nestedRoute.error) {
104
+ var errorElement = /* @__PURE__ */ jsx(nestedRoute.error, {});
105
+ routeProps.errorElement = errorElement;
106
+ }
107
+ var element;
108
+ if (Component) {
109
+ if (parent === null || parent === void 0 ? void 0 : parent.loading) {
110
+ var Loading = parent.loading;
111
+ element = /* @__PURE__ */ jsx(Suspense, {
112
+ fallback: /* @__PURE__ */ jsx(Loading, {}),
113
+ children: /* @__PURE__ */ jsx(Component, {})
114
+ });
115
+ } else {
116
+ element = /* @__PURE__ */ jsx(Suspense, {
117
+ children: /* @__PURE__ */ jsx(Component, {})
118
+ });
119
+ }
120
+ }
121
+ if (!parent && element) {
122
+ element = /* @__PURE__ */ jsx(RootLayout, {
123
+ routes: [
124
+ nestedRoute
125
+ ],
126
+ children: element
127
+ });
128
+ }
129
+ if (element) {
130
+ routeProps.element = element;
131
+ }
132
+ var routeElement = index ? /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
133
+ index: true
134
+ }), id) : /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
135
+ index: false,
136
+ children: childElements
137
+ }), id);
138
+ return routeElement;
62
139
  };
63
- export function getRouteComponents(routes, globalApp) {
64
- var Layout = function Layout(_ref) {
65
- var Component = _ref.Component,
66
- props = _objectWithoutProperties(_ref, _excluded);
67
- var GlobalLayout = globalApp;
68
- if (!GlobalLayout) {
69
- return /*#__PURE__*/_jsx(Component, _objectSpread({}, props));
70
- }
71
- return /*#__PURE__*/_jsx(GlobalLayout, _objectSpread({
72
- Component: Component
73
- }, props));
74
- };
75
- var routeElements = [];
76
- var _iterator = _createForOfIteratorHelper(routes),
77
- _step;
78
- try {
79
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
80
- var route = _step.value;
81
- if (route.type === 'nested') {
82
- var routeElement = renderNestedRoute(route);
83
- routeElements.push(routeElement);
84
- } else {
85
- var _routeElement = /*#__PURE__*/_jsx(Route, {
86
- path: route.path,
87
- element: /*#__PURE__*/_jsx(Layout, {
88
- Component: route.component
89
- })
90
- }, route.path);
91
- routeElements.push(_routeElement);
92
- }
93
- }
94
- } catch (err) {
95
- _iterator.e(err);
96
- } finally {
97
- _iterator.f();
98
- }
99
- routeElements.push( /*#__PURE__*/_jsx(Route, {
100
- path: "*",
101
- element: /*#__PURE__*/_jsx(DefaultNotFound, {})
102
- }, "*"));
103
- return routeElements;
140
+ function getRouteComponents(routes, globalApp) {
141
+ var Layout = function(_param) {
142
+ var Component = _param.Component, props = _objectWithoutProperties(_param, [
143
+ "Component"
144
+ ]);
145
+ var GlobalLayout = globalApp;
146
+ if (!GlobalLayout) {
147
+ return /* @__PURE__ */ jsx(Component, _objectSpread({}, props));
148
+ }
149
+ return /* @__PURE__ */ jsx(GlobalLayout, _objectSpread({
150
+ Component: Component
151
+ }, props));
152
+ };
153
+ var routeElements = [];
154
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
155
+ try {
156
+ for(var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
157
+ var route = _step.value;
158
+ if (route.type === "nested") {
159
+ var routeElement = renderNestedRoute(route);
160
+ routeElements.push(routeElement);
161
+ } else {
162
+ var routeElement1 = /* @__PURE__ */ jsx(Route, {
163
+ path: route.path,
164
+ element: /* @__PURE__ */ jsx(Layout, {
165
+ Component: route.component
166
+ })
167
+ }, route.path);
168
+ routeElements.push(routeElement1);
169
+ }
170
+ }
171
+ } catch (err) {
172
+ _didIteratorError = true;
173
+ _iteratorError = err;
174
+ } finally{
175
+ try {
176
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
177
+ _iterator.return();
178
+ }
179
+ } finally{
180
+ if (_didIteratorError) {
181
+ throw _iteratorError;
182
+ }
183
+ }
184
+ }
185
+ routeElements.push(/* @__PURE__ */ jsx(Route, {
186
+ path: "*",
187
+ element: /* @__PURE__ */ jsx(DefaultNotFound, {})
188
+ }, "*"));
189
+ return routeElements;
104
190
  }
105
- export function renderRoutes(routesConfig) {
106
- if (!routesConfig) {
107
- return null;
108
- }
109
- var routes = routesConfig.routes,
110
- globalApp = routesConfig.globalApp;
111
- if (!routes) {
112
- return null;
113
- }
114
- var routeElements = getRouteComponents(routes, globalApp);
115
- return routeElements;
191
+ function renderRoutes(routesConfig) {
192
+ if (!routesConfig) {
193
+ return null;
194
+ }
195
+ var routes = routesConfig.routes, globalApp = routesConfig.globalApp;
196
+ if (!routes) {
197
+ return null;
198
+ }
199
+ var routeElements = getRouteComponents(routes, globalApp);
200
+ return routeElements;
116
201
  }
117
- export function getLocation(serverContext) {
118
- var _url$replace;
119
- var _ref2 = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {},
120
- pathname = _ref2.pathname,
121
- url = _ref2.url;
122
- var cleanUrl = url === null || url === void 0 ? void 0 : (_url$replace = url.replace('http://', '')) === null || _url$replace === void 0 ? void 0 : _url$replace.replace('https://', '');
123
- var index = (cleanUrl || '').indexOf(pathname);
124
- if (index === -1) {
125
- return pathname;
126
- }
127
- return cleanUrl.substring(index);
202
+ function getLocation(serverContext) {
203
+ var ref;
204
+ var ref1 = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {}, pathname = ref1.pathname, url = ref1.url;
205
+ var cleanUrl = (ref = url === null || url === void 0 ? void 0 : url.replace("http://", "")) === null || ref === void 0 ? void 0 : ref.replace("https://", "");
206
+ var index = (cleanUrl || "").indexOf(pathname);
207
+ if (index === -1) {
208
+ return pathname;
209
+ }
210
+ return cleanUrl.substring(index);
128
211
  }
129
- export var urlJoin = function urlJoin() {
130
- var separator = '/';
131
- var replace = new RegExp("".concat(separator, "{1,}"), 'g');
132
- for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
133
- parts[_key] = arguments[_key];
134
- }
135
- return standardSlash(parts.join(separator).replace(replace, separator));
212
+ var urlJoin = function() {
213
+ for(var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++){
214
+ parts[_key] = arguments[_key];
215
+ }
216
+ var separator = "/";
217
+ var replace = new RegExp("".concat(separator, "{1,}"), "g");
218
+ return standardSlash(parts.join(separator).replace(replace, separator));
136
219
  };
137
- export function standardSlash(str) {
138
- var addr = str;
139
- if (!addr || typeof addr !== 'string') {
220
+ function standardSlash(str) {
221
+ var addr = str;
222
+ if (!addr || typeof addr !== "string") {
223
+ return addr;
224
+ }
225
+ if (addr.startsWith(".")) {
226
+ addr = addr.slice(1);
227
+ }
228
+ if (!addr.startsWith("/")) {
229
+ addr = "/".concat(addr);
230
+ }
231
+ if (addr.endsWith("/") && addr !== "/") {
232
+ addr = addr.slice(0, addr.length - 1);
233
+ }
140
234
  return addr;
141
- }
142
- if (addr.startsWith('.')) {
143
- addr = addr.slice(1);
144
- }
145
- if (!addr.startsWith('/')) {
146
- addr = "/".concat(addr);
147
- }
148
- if (addr.endsWith('/') && addr !== '/') {
149
- addr = addr.slice(0, addr.length - 1);
150
- }
151
- return addr;
152
- }
235
+ }
236
+ export { getLocation, getRouteComponents, renderRoutes, standardSlash, urlJoin };
@@ -1,18 +1,67 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- // legacy withRouter
3
-
4
- import React from 'react';
5
- import { useLocation, useNavigate, useParams } from 'react-router-dom';
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- export var withRouter = function withRouter(Component) {
8
- return function (props) {
9
- var location = useLocation();
10
- var params = useParams();
11
- var navigate = useNavigate();
12
- return /*#__PURE__*/_jsx(Component, _objectSpread(_objectSpread({}, props), {}, {
13
- location: location,
14
- params: params,
15
- navigate: navigate
16
- }));
17
- };
18
- };
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _objectSpread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _defineProperty(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _objectSpreadProps(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ import { jsx } from "react/jsx-runtime";
54
+ import { useLocation, useNavigate, useParams } from "react-router-dom";
55
+ var withRouter = function(Component) {
56
+ return function(props) {
57
+ var location = useLocation();
58
+ var params = useParams();
59
+ var navigate = useNavigate();
60
+ return /* @__PURE__ */ jsx(Component, _objectSpreadProps(_objectSpread({}, props), {
61
+ location: location,
62
+ params: params,
63
+ navigate: navigate
64
+ }));
65
+ };
66
+ };
67
+ export { withRouter };
@@ -1,3 +1,4 @@
1
- import { createContext } from 'react';
2
- export var RuntimeReactContext = /*#__PURE__*/createContext({});
3
- export var ServerRouterContext = /*#__PURE__*/createContext({});
1
+ import { createContext } from "react";
2
+ var RuntimeReactContext = createContext({});
3
+ var ServerRouterContext = createContext({});
4
+ export { RuntimeReactContext, ServerRouterContext };
@@ -0,0 +1,122 @@
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __commonJS = function(cb, mod) {
3
+ return function __require() {
4
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {
5
+ exports: {}
6
+ }).exports, mod), mod.exports;
7
+ };
8
+ };
9
+ import crypto from "crypto";
10
+ import { Buffer as Buffer2 } from "buffer";
11
+ import * as t from "@babel/types";
12
+ import { get } from "@modern-js/utils/lodash";
13
+ var require_babel_plugin_ssr_loader_id = __commonJS({
14
+ "src/ssr/cli/babel-plugin-ssr-loader-id.ts": function(exports, module) {
15
+ var getHash = function getHash(filepath) {
16
+ var cwd = process.cwd();
17
+ var point = filepath.indexOf(cwd);
18
+ var relativePath = filepath;
19
+ if (point !== -1) {
20
+ relativePath = filepath.substring(point + cwd.length);
21
+ }
22
+ var fileBuf = Buffer2.from(relativePath);
23
+ var fsHash = crypto.createHash("md5");
24
+ var md5 = fsHash.update(fileBuf).digest("hex");
25
+ return md5;
26
+ };
27
+ var getUseLoaderPath = function getUseLoaderPath(path, calleeName) {
28
+ var node = path.node;
29
+ if (!calleeName || node.callee.name !== calleeName) {
30
+ return false;
31
+ }
32
+ var arg1 = get(node, "arguments.0");
33
+ if (t.isFunction(arg1) || t.isFunctionExpression(arg1) || t.isArrowFunctionExpression(arg1) || t.isIdentifier(arg1) || t.isCallExpression(arg1) || t.isMemberExpression(arg1)) {
34
+ var loaderPath = path.get("arguments.0");
35
+ if (isDuplicateInnerLoader(loaderPath)) {
36
+ return false;
37
+ } else {
38
+ return loaderPath;
39
+ }
40
+ }
41
+ console.warn("useLoader 中 loaderId 生成失败,请检查 useLoader");
42
+ throw path.buildCodeFrameError("\n please check the usage of ".concat(path.node.name, "\n "));
43
+ };
44
+ var isDuplicateInnerLoader = function isDuplicateInnerLoader(path) {
45
+ var node = path.node;
46
+ if (t.isFunctionExpression(node.callee)) {
47
+ if (t.isBlockStatement(node.callee.body)) {
48
+ if (get(node.callee.body, "body.0.declarations.0.id.name") === "innerLoader" && get(node.callee.body, "body.2.argument.name") === "innerLoader") {
49
+ return true;
50
+ }
51
+ }
52
+ }
53
+ return false;
54
+ };
55
+ var getSelfRunLoaderExpression = function getSelfRunLoaderExpression(loaderExpression, id) {
56
+ return t.callExpression(t.functionExpression(null, [], t.blockStatement([
57
+ t.variableDeclaration("var", [
58
+ t.variableDeclarator(t.identifier("innerLoader"), loaderExpression)
59
+ ]),
60
+ t.expressionStatement(t.assignmentExpression("=", t.memberExpression(t.identifier("innerLoader"), t.identifier("id")), t.stringLiteral(id))),
61
+ t.returnStatement(t.identifier("innerLoader"))
62
+ ])), []);
63
+ };
64
+ var RUNTIME_PACKAGE_NAMES = [
65
+ "@modern-js/runtime"
66
+ ];
67
+ var FUNCTION_USE_LOADER_NAME = "useLoader";
68
+ module.exports = function() {
69
+ var genId = function genId() {
70
+ return "".concat(hash, "_").concat(index++);
71
+ };
72
+ var useLoader = null;
73
+ var hash = "";
74
+ var index = 0;
75
+ return {
76
+ name: "babel-plugin-ssr-loader-id",
77
+ pre: function pre() {
78
+ index = 0;
79
+ useLoader = null;
80
+ hash = "";
81
+ },
82
+ visitor: {
83
+ ImportDeclaration: function ImportDeclaration(path, state) {
84
+ if (useLoader) {
85
+ return false;
86
+ }
87
+ if (!RUNTIME_PACKAGE_NAMES.includes(get(path, "node.source.value"))) {
88
+ return false;
89
+ }
90
+ hash = getHash(state.file.opts.filename);
91
+ get(path, "node.specifiers", []).forEach(function(param) {
92
+ var imported = param.imported, local = param.local;
93
+ if (!imported) {
94
+ throw path.buildCodeFrameError("please `import { useLoader } from ".concat(RUNTIME_PACKAGE_NAMES[0], "`"));
95
+ }
96
+ if (!useLoader && imported.name === FUNCTION_USE_LOADER_NAME) {
97
+ useLoader = local.name;
98
+ }
99
+ });
100
+ return false;
101
+ },
102
+ CallExpression: function CallExpression(path) {
103
+ var loaderPath = getUseLoaderPath(path, useLoader);
104
+ if (loaderPath) {
105
+ if (!Array.isArray(loaderPath)) {
106
+ loaderPath = [
107
+ loaderPath
108
+ ];
109
+ }
110
+ loaderPath.forEach(function(p) {
111
+ p.replaceWith(getSelfRunLoaderExpression(p.node, genId()));
112
+ });
113
+ return false;
114
+ }
115
+ return false;
116
+ }
117
+ }
118
+ };
119
+ };
120
+ }
121
+ });
122
+ export default require_babel_plugin_ssr_loader_id();