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

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 (258) 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 +76 -60
  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 +79 -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 +91 -66
  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 +79 -30
  81. package/dist/js/node/cli/types.d.js +0 -0
  82. package/dist/js/node/common.js +26 -7
  83. package/dist/js/node/core/app-config.js +29 -14
  84. package/dist/js/node/core/compatible.js +227 -186
  85. package/dist/js/node/core/index.js +44 -99
  86. package/dist/js/node/core/loader/index.js +31 -11
  87. package/dist/js/node/core/loader/loaderManager.js +102 -83
  88. package/dist/js/node/core/loader/useLoader.js +120 -83
  89. package/dist/js/node/core/plugin.js +65 -35
  90. package/dist/js/node/document/Body.js +40 -23
  91. package/dist/js/node/document/DocumentContext.js +33 -9
  92. package/dist/js/node/document/DocumentStructrueContext.js +33 -9
  93. package/dist/js/node/document/Head.js +43 -27
  94. package/dist/js/node/document/Html.js +66 -65
  95. package/dist/js/node/document/Root.js +47 -31
  96. package/dist/js/node/document/Script.js +40 -0
  97. package/dist/js/node/document/Scripts.js +30 -14
  98. package/dist/js/node/document/cli/index.js +188 -95
  99. package/dist/js/node/document/constants.js +73 -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 +33 -22
  103. package/dist/js/node/exports/loadable.js +33 -22
  104. package/dist/js/node/exports/server.js +26 -7
  105. package/dist/js/node/exports/styled.js +33 -22
  106. package/dist/js/node/index.js +43 -60
  107. package/dist/js/node/modern-app.env.d.js +0 -0
  108. package/dist/js/node/router/cli/index.js +89 -65
  109. package/dist/js/node/router/index.js +33 -30
  110. package/dist/js/node/router/runtime/DefaultNotFound.js +32 -17
  111. package/dist/js/node/router/runtime/index.js +31 -32
  112. package/dist/js/node/router/runtime/plugin.js +101 -44
  113. package/dist/js/node/router/runtime/plugin.node.js +113 -93
  114. package/dist/js/node/router/runtime/root/index.js +37 -21
  115. package/dist/js/node/router/runtime/root/load.js +80 -42
  116. package/dist/js/node/router/runtime/server.js +17 -16
  117. package/dist/js/node/router/runtime/types.js +15 -5
  118. package/dist/js/node/router/runtime/utils.js +112 -75
  119. package/dist/js/node/router/runtime/withRouter.js +53 -22
  120. package/dist/js/node/runtime-context.js +30 -10
  121. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  122. package/dist/js/node/ssr/cli/index.js +119 -85
  123. package/dist/js/node/ssr/index.js +125 -104
  124. package/dist/js/node/ssr/index.node.js +86 -59
  125. package/dist/js/node/ssr/prefetch.js +84 -51
  126. package/dist/js/node/ssr/react/index.js +27 -16
  127. package/dist/js/node/ssr/react/nossr/index.js +37 -16
  128. package/dist/js/node/ssr/react/prerender/index.js +82 -45
  129. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  130. package/dist/js/node/ssr/react/prerender/util.js +63 -36
  131. package/dist/js/node/ssr/react/withCallback/index.js +29 -15
  132. package/dist/js/node/ssr/serverRender/helmet.js +37 -17
  133. package/dist/js/node/ssr/serverRender/index.js +55 -19
  134. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +40 -20
  135. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +32 -10
  136. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +65 -47
  137. package/dist/js/node/ssr/serverRender/renderToStream/index.js +69 -30
  138. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +29 -12
  139. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +75 -43
  140. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +29 -11
  141. package/dist/js/node/ssr/serverRender/renderToStream/template.js +36 -16
  142. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  143. package/dist/js/node/ssr/serverRender/renderToString/entry.js +135 -103
  144. package/dist/js/node/ssr/serverRender/renderToString/index.js +64 -20
  145. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +45 -26
  146. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +27 -7
  147. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +27 -8
  148. package/dist/js/node/ssr/serverRender/renderToString/template.js +44 -28
  149. package/dist/js/node/ssr/serverRender/renderToString/type.js +31 -12
  150. package/dist/js/node/ssr/serverRender/types.js +25 -10
  151. package/dist/js/node/ssr/serverRender/utils.js +31 -13
  152. package/dist/js/node/ssr/type.d.js +0 -0
  153. package/dist/js/node/ssr/utils.js +63 -29
  154. package/dist/js/node/state/cli/index.js +58 -37
  155. package/dist/js/node/state/index.js +33 -30
  156. package/dist/js/node/state/plugins.js +43 -22
  157. package/dist/js/node/state/runtime/index.js +36 -50
  158. package/dist/js/node/state/runtime/plugin.js +89 -68
  159. package/dist/js/node/state/types.js +15 -5
  160. package/dist/js/treeshaking/cli/index.js +180 -52
  161. package/dist/js/treeshaking/cli/types.d.js +1 -0
  162. package/dist/js/treeshaking/common.js +4 -3
  163. package/dist/js/treeshaking/core/app-config.js +8 -13
  164. package/dist/js/treeshaking/core/compatible.js +473 -276
  165. package/dist/js/treeshaking/core/index.js +5 -6
  166. package/dist/js/treeshaking/core/loader/index.js +2 -1
  167. package/dist/js/treeshaking/core/loader/loaderManager.js +395 -224
  168. package/dist/js/treeshaking/core/loader/useLoader.js +181 -83
  169. package/dist/js/treeshaking/core/plugin.js +164 -48
  170. package/dist/js/treeshaking/document/Body.js +15 -11
  171. package/dist/js/treeshaking/document/DocumentContext.js +7 -6
  172. package/dist/js/treeshaking/document/DocumentStructrueContext.js +8 -7
  173. package/dist/js/treeshaking/document/Head.js +18 -17
  174. package/dist/js/treeshaking/document/Html.js +86 -93
  175. package/dist/js/treeshaking/document/Root.js +23 -21
  176. package/dist/js/treeshaking/document/Script.js +15 -0
  177. package/dist/js/treeshaking/document/Scripts.js +7 -9
  178. package/dist/js/treeshaking/document/cli/index.js +381 -168
  179. package/dist/js/treeshaking/document/constants.js +34 -16
  180. package/dist/js/treeshaking/document/index.js +2 -1
  181. package/dist/js/treeshaking/document/type.d.js +1 -0
  182. package/dist/js/treeshaking/exports/head.js +4 -3
  183. package/dist/js/treeshaking/exports/loadable.js +4 -3
  184. package/dist/js/treeshaking/exports/server.js +4 -3
  185. package/dist/js/treeshaking/exports/styled.js +4 -3
  186. package/dist/js/treeshaking/index.js +3 -2
  187. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  188. package/dist/js/treeshaking/router/cli/index.js +145 -99
  189. package/dist/js/treeshaking/router/index.js +4 -3
  190. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -15
  191. package/dist/js/treeshaking/router/runtime/index.js +5 -3
  192. package/dist/js/treeshaking/router/runtime/plugin.js +129 -62
  193. package/dist/js/treeshaking/router/runtime/plugin.node.js +375 -152
  194. package/dist/js/treeshaking/router/runtime/root/index.js +17 -15
  195. package/dist/js/treeshaking/router/runtime/root/load.js +290 -95
  196. package/dist/js/treeshaking/router/runtime/server.js +1 -1
  197. package/dist/js/treeshaking/router/runtime/types.js +1 -1
  198. package/dist/js/treeshaking/router/runtime/utils.js +230 -142
  199. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -18
  200. package/dist/js/treeshaking/runtime-context.js +4 -3
  201. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  202. package/dist/js/treeshaking/ssr/cli/index.js +210 -138
  203. package/dist/js/treeshaking/ssr/index.js +305 -144
  204. package/dist/js/treeshaking/ssr/index.node.js +234 -66
  205. package/dist/js/treeshaking/ssr/prefetch.js +196 -79
  206. package/dist/js/treeshaking/ssr/react/index.js +3 -2
  207. package/dist/js/treeshaking/ssr/react/nossr/index.js +57 -14
  208. package/dist/js/treeshaking/ssr/react/prerender/index.js +226 -89
  209. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  210. package/dist/js/treeshaking/ssr/react/prerender/util.js +96 -86
  211. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -15
  212. package/dist/js/treeshaking/ssr/serverRender/helmet.js +38 -34
  213. package/dist/js/treeshaking/ssr/serverRender/index.js +165 -37
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +33 -31
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -7
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +109 -58
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +157 -42
  218. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +20 -20
  219. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +114 -63
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -10
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +61 -20
  222. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +380 -208
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +161 -40
  225. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +51 -45
  226. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +9 -8
  227. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -8
  228. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +142 -64
  229. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -6
  230. package/dist/js/treeshaking/ssr/serverRender/types.js +1 -1
  231. package/dist/js/treeshaking/ssr/serverRender/utils.js +67 -26
  232. package/dist/js/treeshaking/ssr/type.d.js +1 -0
  233. package/dist/js/treeshaking/ssr/utils.js +128 -64
  234. package/dist/js/treeshaking/state/cli/index.js +70 -68
  235. package/dist/js/treeshaking/state/index.js +4 -3
  236. package/dist/js/treeshaking/state/plugins.js +12 -11
  237. package/dist/js/treeshaking/state/runtime/index.js +5 -4
  238. package/dist/js/treeshaking/state/runtime/plugin.js +189 -77
  239. package/dist/js/treeshaking/state/types.js +1 -1
  240. package/dist/types/cli/index.d.ts +2 -0
  241. package/dist/types/core/loader/loaderManager.d.ts +1 -0
  242. package/dist/types/core/loader/useLoader.d.ts +5 -0
  243. package/dist/types/core/plugin.d.ts +6 -1
  244. package/dist/types/document/Script.d.ts +4 -0
  245. package/dist/types/document/cli/index.d.ts +2 -0
  246. package/dist/types/document/constants.d.ts +2 -0
  247. package/dist/types/document/index.d.ts +1 -0
  248. package/dist/types/router/cli/index.d.ts +2 -0
  249. package/dist/types/router/runtime/index.d.ts +1 -0
  250. package/dist/types/router/runtime/plugin.d.ts +5 -2
  251. package/dist/types/router/runtime/types.d.ts +5 -2
  252. package/dist/types/ssr/cli/babel-plugin-ssr-loader-id.d.ts +1 -0
  253. package/dist/types/ssr/cli/index.d.ts +2 -0
  254. package/dist/types/state/cli/index.d.ts +2 -0
  255. package/dist/types/state/types.d.ts +1 -0
  256. package/package.json +24 -13
  257. package/types/index.d.ts +2 -2
  258. package/types/router.d.ts +2 -2
@@ -1,152 +1,240 @@
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
- });
85
+ var renderNestedRoute = function(nestedRoute, parent) {
86
+ var children = nestedRoute.children, index = nestedRoute.index, id = nestedRoute.id, Component = nestedRoute.component;
87
+ var routeProps = {
88
+ caseSensitive: nestedRoute.caseSensitive,
89
+ path: nestedRoute.path,
90
+ id: nestedRoute.id,
91
+ loader: nestedRoute.loader,
92
+ action: nestedRoute.action,
93
+ hasErrorBoundary: nestedRoute.hasErrorBoundary,
94
+ shouldRevalidate: nestedRoute.shouldRevalidate,
95
+ handle: nestedRoute.handle,
96
+ index: nestedRoute.index,
97
+ element: nestedRoute.element,
98
+ errorElement: nestedRoute.errorElement
99
+ };
100
+ if (nestedRoute.error) {
101
+ var errorElement = /* @__PURE__ */ jsx(nestedRoute.error, {});
102
+ routeProps.errorElement = errorElement;
103
+ }
104
+ var element;
105
+ if (Component) {
106
+ if (parent === null || parent === void 0 ? void 0 : parent.loading) {
107
+ var Loading = parent.loading;
108
+ element = /* @__PURE__ */ jsx(Suspense, {
109
+ fallback: /* @__PURE__ */ jsx(Loading, {}),
110
+ children: /* @__PURE__ */ jsx(Component, {})
111
+ });
112
+ } else if (!(parent === null || parent === void 0 ? void 0 : parent.index)) {
113
+ element = /* @__PURE__ */ jsx(Suspense, {
114
+ children: /* @__PURE__ */ jsx(Component, {})
115
+ });
116
+ } else {
117
+ element = /* @__PURE__ */ jsx(Component, {});
118
+ }
42
119
  } 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
120
+ nestedRoute.loading = parent === null || parent === void 0 ? void 0 : parent.loading;
121
+ }
122
+ if (!parent && element) {
123
+ element = /* @__PURE__ */ jsx(RootLayout, {
124
+ routes: [
125
+ nestedRoute
126
+ ],
127
+ children: element
128
+ });
129
+ }
130
+ if (element) {
131
+ routeProps.element = element;
132
+ }
133
+ var childElements = children === null || children === void 0 ? void 0 : children.map(function(childRoute) {
134
+ return renderNestedRoute(childRoute, nestedRoute);
52
135
  });
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;
136
+ var routeElement = index ? /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
137
+ index: true
138
+ }), id) : /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
139
+ index: false,
140
+ children: childElements
141
+ }), id);
142
+ return routeElement;
62
143
  };
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;
144
+ function getRouteComponents(routes, globalApp) {
145
+ var Layout = function(_param) {
146
+ var Component = _param.Component, props = _objectWithoutProperties(_param, [
147
+ "Component"
148
+ ]);
149
+ var GlobalLayout = globalApp;
150
+ if (!GlobalLayout) {
151
+ return /* @__PURE__ */ jsx(Component, _objectSpread({}, props));
152
+ }
153
+ return /* @__PURE__ */ jsx(GlobalLayout, _objectSpread({
154
+ Component: Component
155
+ }, props));
156
+ };
157
+ var routeElements = [];
158
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
159
+ try {
160
+ for(var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
161
+ var route = _step.value;
162
+ if (route.type === "nested") {
163
+ var routeElement = renderNestedRoute(route);
164
+ routeElements.push(routeElement);
165
+ } else {
166
+ var routeElement1 = /* @__PURE__ */ jsx(Route, {
167
+ path: route.path,
168
+ element: /* @__PURE__ */ jsx(Layout, {
169
+ Component: route.component
170
+ })
171
+ }, route.path);
172
+ routeElements.push(routeElement1);
173
+ }
174
+ }
175
+ } catch (err) {
176
+ _didIteratorError = true;
177
+ _iteratorError = err;
178
+ } finally{
179
+ try {
180
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
181
+ _iterator.return();
182
+ }
183
+ } finally{
184
+ if (_didIteratorError) {
185
+ throw _iteratorError;
186
+ }
187
+ }
188
+ }
189
+ routeElements.push(/* @__PURE__ */ jsx(Route, {
190
+ path: "*",
191
+ element: /* @__PURE__ */ jsx(DefaultNotFound, {})
192
+ }, "*"));
193
+ return routeElements;
104
194
  }
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;
195
+ function renderRoutes(routesConfig) {
196
+ if (!routesConfig) {
197
+ return null;
198
+ }
199
+ var routes = routesConfig.routes, globalApp = routesConfig.globalApp;
200
+ if (!routes) {
201
+ return null;
202
+ }
203
+ var routeElements = getRouteComponents(routes, globalApp);
204
+ return routeElements;
116
205
  }
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);
206
+ function getLocation(serverContext) {
207
+ var ref;
208
+ var ref1 = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {}, pathname = ref1.pathname, url = ref1.url;
209
+ var cleanUrl = (ref = url === null || url === void 0 ? void 0 : url.replace("http://", "")) === null || ref === void 0 ? void 0 : ref.replace("https://", "");
210
+ var index = (cleanUrl || "").indexOf(pathname);
211
+ if (index === -1) {
212
+ return pathname;
213
+ }
214
+ return cleanUrl.substring(index);
128
215
  }
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));
216
+ var urlJoin = function() {
217
+ for(var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++){
218
+ parts[_key] = arguments[_key];
219
+ }
220
+ var separator = "/";
221
+ var replace = new RegExp("".concat(separator, "{1,}"), "g");
222
+ return standardSlash(parts.join(separator).replace(replace, separator));
136
223
  };
137
- export function standardSlash(str) {
138
- var addr = str;
139
- if (!addr || typeof addr !== 'string') {
224
+ function standardSlash(str) {
225
+ var addr = str;
226
+ if (!addr || typeof addr !== "string") {
227
+ return addr;
228
+ }
229
+ if (addr.startsWith(".")) {
230
+ addr = addr.slice(1);
231
+ }
232
+ if (!addr.startsWith("/")) {
233
+ addr = "/".concat(addr);
234
+ }
235
+ if (addr.endsWith("/") && addr !== "/") {
236
+ addr = addr.slice(0, addr.length - 1);
237
+ }
140
238
  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
- }
239
+ }
240
+ 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();