@modern-js/runtime 2.35.1 → 2.37.0

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 (261) hide show
  1. package/dist/cjs/cli/index.js +48 -30
  2. package/dist/cjs/common.js +27 -18
  3. package/dist/cjs/config.js +15 -3
  4. package/dist/cjs/core/appConfig.js +25 -15
  5. package/dist/cjs/core/compatible.js +60 -43
  6. package/dist/cjs/core/index.js +47 -40
  7. package/dist/cjs/core/loader/index.js +35 -9
  8. package/dist/cjs/core/loader/loaderManager.js +37 -18
  9. package/dist/cjs/core/loader/useLoader.js +45 -23
  10. package/dist/cjs/core/plugin.js +39 -31
  11. package/dist/cjs/core/types.js +15 -3
  12. package/dist/cjs/document/Body.js +35 -19
  13. package/dist/cjs/document/Comment.js +29 -14
  14. package/dist/cjs/document/DocumentContext.js +36 -10
  15. package/dist/cjs/document/DocumentStructureContext.js +36 -10
  16. package/dist/cjs/document/Head.js +40 -31
  17. package/dist/cjs/document/Html.js +34 -19
  18. package/dist/cjs/document/Links.js +28 -13
  19. package/dist/cjs/document/Root.js +37 -28
  20. package/dist/cjs/document/Script.js +29 -14
  21. package/dist/cjs/document/Scripts.js +28 -13
  22. package/dist/cjs/document/Style.js +29 -14
  23. package/dist/cjs/document/cli/index.js +68 -51
  24. package/dist/cjs/document/constants.js +64 -72
  25. package/dist/cjs/document/index.js +42 -15
  26. package/dist/cjs/exports/head.js +38 -11
  27. package/dist/cjs/exports/loadable.js +38 -11
  28. package/dist/cjs/exports/server.js +24 -7
  29. package/dist/cjs/exports/styled.js +38 -11
  30. package/dist/cjs/index.js +41 -38
  31. package/dist/cjs/router/cli/index.js +31 -22
  32. package/dist/cjs/router/index.js +39 -18
  33. package/dist/cjs/router/runtime/DefaultNotFound.js +26 -11
  34. package/dist/cjs/router/runtime/DeferredDataScripts.js +21 -8
  35. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +47 -34
  36. package/dist/cjs/router/runtime/PrefetchLink.js +81 -47
  37. package/dist/cjs/router/runtime/fetch.js +24 -7
  38. package/dist/cjs/router/runtime/fetch.node.js +25 -8
  39. package/dist/cjs/router/runtime/fetch.worker.js +24 -7
  40. package/dist/cjs/router/runtime/hooks.js +26 -9
  41. package/dist/cjs/router/runtime/index.js +158 -208
  42. package/dist/cjs/router/runtime/plugin.js +62 -46
  43. package/dist/cjs/router/runtime/plugin.node.js +65 -48
  44. package/dist/cjs/router/runtime/server.js +20 -4
  45. package/dist/cjs/router/runtime/shouldRevalidate.js +38 -0
  46. package/dist/cjs/router/runtime/types.js +15 -3
  47. package/dist/cjs/router/runtime/utils.js +61 -48
  48. package/dist/cjs/router/runtime/withRouter.js +30 -15
  49. package/dist/cjs/runtimeContext.js +28 -18
  50. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +40 -23
  51. package/dist/cjs/ssr/cli/index.js +48 -30
  52. package/dist/cjs/ssr/cli/loadable-bundler-plugin.js +31 -13
  53. package/dist/cjs/ssr/index.js +71 -52
  54. package/dist/cjs/ssr/index.node.js +44 -25
  55. package/dist/cjs/ssr/prefetch.js +29 -16
  56. package/dist/cjs/ssr/react/index.js +27 -17
  57. package/dist/cjs/ssr/react/nossr/index.js +38 -12
  58. package/dist/cjs/ssr/react/prerender/index.js +52 -27
  59. package/dist/cjs/ssr/react/prerender/type.js +15 -3
  60. package/dist/cjs/ssr/react/prerender/util.js +31 -24
  61. package/dist/cjs/ssr/react/withCallback/index.js +27 -11
  62. package/dist/cjs/ssr/serverRender/helmet.js +23 -15
  63. package/dist/cjs/ssr/serverRender/index.js +24 -11
  64. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +30 -13
  65. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +25 -15
  66. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +46 -20
  67. package/dist/cjs/ssr/serverRender/renderToStream/index.js +49 -23
  68. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +30 -17
  69. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +30 -17
  70. package/dist/cjs/ssr/serverRender/renderToStream/template.js +28 -11
  71. package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +31 -24
  72. package/dist/cjs/ssr/serverRender/renderToString/entry.js +81 -59
  73. package/dist/cjs/ssr/serverRender/renderToString/index.js +44 -18
  74. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +33 -16
  75. package/dist/cjs/ssr/serverRender/renderToString/render.js +39 -13
  76. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +28 -11
  77. package/dist/cjs/ssr/serverRender/renderToString/type.js +24 -7
  78. package/dist/cjs/ssr/serverRender/tracker.js +27 -18
  79. package/dist/cjs/ssr/serverRender/types.js +25 -8
  80. package/dist/cjs/ssr/serverRender/utils.js +31 -24
  81. package/dist/cjs/ssr/utils.js +42 -25
  82. package/dist/cjs/state/cli/index.js +28 -19
  83. package/dist/cjs/state/index.js +39 -18
  84. package/dist/cjs/state/plugins.js +46 -29
  85. package/dist/cjs/state/runtime/index.js +39 -11
  86. package/dist/cjs/state/runtime/plugin.js +55 -28
  87. package/dist/esm/cli/index.js +6 -2
  88. package/dist/esm/common.js +8 -3
  89. package/dist/esm/config.js +0 -1
  90. package/dist/esm/core/appConfig.js +6 -2
  91. package/dist/esm/core/compatible.js +20 -15
  92. package/dist/esm/core/index.js +13 -3
  93. package/dist/esm/core/loader/index.js +4 -1
  94. package/dist/esm/core/loader/loaderManager.js +13 -9
  95. package/dist/esm/core/loader/useLoader.js +5 -2
  96. package/dist/esm/core/plugin.js +15 -10
  97. package/dist/esm/core/types.js +0 -1
  98. package/dist/esm/document/Body.js +4 -1
  99. package/dist/esm/document/Comment.js +4 -1
  100. package/dist/esm/document/DocumentContext.js +4 -1
  101. package/dist/esm/document/DocumentStructureContext.js +4 -1
  102. package/dist/esm/document/Head.js +6 -2
  103. package/dist/esm/document/Html.js +9 -6
  104. package/dist/esm/document/Links.js +4 -1
  105. package/dist/esm/document/Root.js +6 -2
  106. package/dist/esm/document/Script.js +4 -1
  107. package/dist/esm/document/Scripts.js +4 -1
  108. package/dist/esm/document/Style.js +4 -1
  109. package/dist/esm/document/cli/index.js +14 -9
  110. package/dist/esm/document/constants.js +42 -20
  111. package/dist/esm/exports/head.js +4 -1
  112. package/dist/esm/exports/loadable.js +4 -1
  113. package/dist/esm/exports/server.js +4 -1
  114. package/dist/esm/exports/styled.js +4 -1
  115. package/dist/esm/index.js +13 -2
  116. package/dist/esm/router/cli/index.js +11 -7
  117. package/dist/esm/router/index.js +6 -2
  118. package/dist/esm/router/runtime/DefaultNotFound.js +4 -1
  119. package/dist/esm/router/runtime/DeferredDataScripts.js +4 -1
  120. package/dist/esm/router/runtime/DeferredDataScripts.node.js +10 -7
  121. package/dist/esm/router/runtime/PrefetchLink.js +31 -11
  122. package/dist/esm/router/runtime/fetch.js +3 -1
  123. package/dist/esm/router/runtime/fetch.node.js +3 -1
  124. package/dist/esm/router/runtime/fetch.worker.js +3 -1
  125. package/dist/esm/router/runtime/hooks.js +3 -1
  126. package/dist/esm/router/runtime/index.js +72 -6
  127. package/dist/esm/router/runtime/plugin.js +22 -16
  128. package/dist/esm/router/runtime/plugin.node.js +20 -15
  129. package/dist/esm/router/runtime/shouldRevalidate.js +14 -0
  130. package/dist/esm/router/runtime/types.js +0 -1
  131. package/dist/esm/router/runtime/utils.js +23 -14
  132. package/dist/esm/router/runtime/withRouter.js +7 -4
  133. package/dist/esm/runtimeContext.js +6 -2
  134. package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +107 -98
  135. package/dist/esm/ssr/cli/index.js +17 -13
  136. package/dist/esm/ssr/cli/loadable-bundler-plugin.js +105 -96
  137. package/dist/esm/ssr/index.js +18 -14
  138. package/dist/esm/ssr/index.node.js +14 -10
  139. package/dist/esm/ssr/prefetch.js +7 -4
  140. package/dist/esm/ssr/react/index.js +6 -2
  141. package/dist/esm/ssr/react/nossr/index.js +4 -1
  142. package/dist/esm/ssr/react/prerender/index.js +4 -1
  143. package/dist/esm/ssr/react/prerender/type.js +0 -1
  144. package/dist/esm/ssr/react/prerender/util.js +12 -5
  145. package/dist/esm/ssr/react/withCallback/index.js +4 -1
  146. package/dist/esm/ssr/serverRender/helmet.js +4 -1
  147. package/dist/esm/ssr/serverRender/index.js +4 -1
  148. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +7 -4
  149. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +6 -2
  150. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +4 -1
  151. package/dist/esm/ssr/serverRender/renderToStream/index.js +4 -1
  152. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +4 -1
  153. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +4 -1
  154. package/dist/esm/ssr/serverRender/renderToStream/template.js +6 -3
  155. package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +12 -5
  156. package/dist/esm/ssr/serverRender/renderToString/entry.js +5 -3
  157. package/dist/esm/ssr/serverRender/renderToString/index.js +6 -3
  158. package/dist/esm/ssr/serverRender/renderToString/loadable.js +5 -2
  159. package/dist/esm/ssr/serverRender/renderToString/render.js +4 -1
  160. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +4 -1
  161. package/dist/esm/ssr/serverRender/renderToString/type.js +4 -1
  162. package/dist/esm/ssr/serverRender/tracker.js +8 -3
  163. package/dist/esm/ssr/serverRender/types.js +3 -1
  164. package/dist/esm/ssr/serverRender/utils.js +12 -5
  165. package/dist/esm/ssr/utils.js +13 -7
  166. package/dist/esm/state/cli/index.js +10 -6
  167. package/dist/esm/state/index.js +6 -2
  168. package/dist/esm/state/plugins.js +10 -4
  169. package/dist/esm/state/runtime/index.js +4 -1
  170. package/dist/esm/state/runtime/plugin.js +10 -7
  171. package/dist/esm-node/cli/index.js +6 -2
  172. package/dist/esm-node/common.js +8 -3
  173. package/dist/esm-node/config.js +0 -1
  174. package/dist/esm-node/core/appConfig.js +6 -2
  175. package/dist/esm-node/core/compatible.js +8 -3
  176. package/dist/esm-node/core/index.js +13 -3
  177. package/dist/esm-node/core/loader/index.js +4 -1
  178. package/dist/esm-node/core/loader/loaderManager.js +6 -2
  179. package/dist/esm-node/core/loader/useLoader.js +4 -1
  180. package/dist/esm-node/core/plugin.js +9 -4
  181. package/dist/esm-node/core/types.js +0 -1
  182. package/dist/esm-node/document/Body.js +4 -1
  183. package/dist/esm-node/document/Comment.js +4 -1
  184. package/dist/esm-node/document/DocumentContext.js +4 -1
  185. package/dist/esm-node/document/DocumentStructureContext.js +4 -1
  186. package/dist/esm-node/document/Head.js +6 -2
  187. package/dist/esm-node/document/Html.js +4 -1
  188. package/dist/esm-node/document/Links.js +4 -1
  189. package/dist/esm-node/document/Root.js +6 -2
  190. package/dist/esm-node/document/Script.js +4 -1
  191. package/dist/esm-node/document/Scripts.js +4 -1
  192. package/dist/esm-node/document/Style.js +4 -1
  193. package/dist/esm-node/document/cli/index.js +8 -3
  194. package/dist/esm-node/document/constants.js +42 -20
  195. package/dist/esm-node/exports/head.js +4 -1
  196. package/dist/esm-node/exports/loadable.js +4 -1
  197. package/dist/esm-node/exports/server.js +4 -1
  198. package/dist/esm-node/exports/styled.js +4 -1
  199. package/dist/esm-node/index.js +13 -2
  200. package/dist/esm-node/router/cli/index.js +6 -2
  201. package/dist/esm-node/router/index.js +6 -2
  202. package/dist/esm-node/router/runtime/DefaultNotFound.js +4 -1
  203. package/dist/esm-node/router/runtime/DeferredDataScripts.js +4 -1
  204. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +4 -1
  205. package/dist/esm-node/router/runtime/PrefetchLink.js +27 -7
  206. package/dist/esm-node/router/runtime/fetch.js +3 -1
  207. package/dist/esm-node/router/runtime/fetch.node.js +3 -1
  208. package/dist/esm-node/router/runtime/fetch.worker.js +3 -1
  209. package/dist/esm-node/router/runtime/hooks.js +3 -1
  210. package/dist/esm-node/router/runtime/index.js +72 -6
  211. package/dist/esm-node/router/runtime/plugin.js +10 -4
  212. package/dist/esm-node/router/runtime/plugin.node.js +8 -3
  213. package/dist/esm-node/router/runtime/shouldRevalidate.js +14 -0
  214. package/dist/esm-node/router/runtime/types.js +0 -1
  215. package/dist/esm-node/router/runtime/utils.js +16 -7
  216. package/dist/esm-node/router/runtime/withRouter.js +4 -1
  217. package/dist/esm-node/runtimeContext.js +6 -2
  218. package/dist/esm-node/ssr/cli/babel-plugin-ssr-loader-id.js +108 -99
  219. package/dist/esm-node/ssr/cli/index.js +6 -2
  220. package/dist/esm-node/ssr/cli/loadable-bundler-plugin.js +92 -83
  221. package/dist/esm-node/ssr/index.js +6 -2
  222. package/dist/esm-node/ssr/index.node.js +6 -2
  223. package/dist/esm-node/ssr/prefetch.js +4 -1
  224. package/dist/esm-node/ssr/react/index.js +6 -2
  225. package/dist/esm-node/ssr/react/nossr/index.js +4 -1
  226. package/dist/esm-node/ssr/react/prerender/index.js +4 -1
  227. package/dist/esm-node/ssr/react/prerender/type.js +0 -1
  228. package/dist/esm-node/ssr/react/prerender/util.js +12 -5
  229. package/dist/esm-node/ssr/react/withCallback/index.js +4 -1
  230. package/dist/esm-node/ssr/serverRender/helmet.js +4 -1
  231. package/dist/esm-node/ssr/serverRender/index.js +4 -1
  232. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +4 -1
  233. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +6 -2
  234. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +4 -1
  235. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +4 -1
  236. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +4 -1
  237. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +4 -1
  238. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +4 -1
  239. package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +12 -5
  240. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +3 -1
  241. package/dist/esm-node/ssr/serverRender/renderToString/index.js +4 -1
  242. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +4 -1
  243. package/dist/esm-node/ssr/serverRender/renderToString/render.js +4 -1
  244. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +4 -1
  245. package/dist/esm-node/ssr/serverRender/renderToString/type.js +4 -1
  246. package/dist/esm-node/ssr/serverRender/tracker.js +8 -3
  247. package/dist/esm-node/ssr/serverRender/types.js +3 -1
  248. package/dist/esm-node/ssr/serverRender/utils.js +12 -5
  249. package/dist/esm-node/ssr/utils.js +10 -4
  250. package/dist/esm-node/state/cli/index.js +6 -2
  251. package/dist/esm-node/state/index.js +6 -2
  252. package/dist/esm-node/state/plugins.js +10 -4
  253. package/dist/esm-node/state/runtime/index.js +4 -1
  254. package/dist/esm-node/state/runtime/plugin.js +4 -1
  255. package/dist/types/router/runtime/index.d.ts +1 -0
  256. package/dist/types/router/runtime/shouldRevalidate.d.ts +2 -0
  257. package/package.json +10 -12
  258. package/dist/cjs/state/types.js +0 -4
  259. package/dist/esm/state/types.js +0 -1
  260. package/dist/esm-node/state/types.js +0 -1
  261. package/dist/types/state/types.d.ts +0 -16
@@ -1,40 +1,53 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var DeferredDataScripts_node_exports = {};
20
+ __export(DeferredDataScripts_node_exports, {
21
+ default: () => DeferredDataScripts_node_default
10
22
  });
11
- const _jsxruntime = require("react/jsx-runtime");
12
- const _react = require("react");
13
- const _router = require("@modern-js/runtime-utils/router");
14
- const _node = require("@modern-js/runtime-utils/node");
15
- const _common = require("../../common");
16
- const _utils = require("./utils");
23
+ module.exports = __toCommonJS(DeferredDataScripts_node_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_react = require("react");
26
+ var import_router = require("@modern-js/runtime-utils/router");
27
+ var import_node = require("@modern-js/runtime-utils/node");
28
+ var import_common = require("../../common");
29
+ var import_utils = require("./utils");
17
30
  const setupFnStr = `function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};`;
18
31
  const resolveFnStr = `function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};`;
19
32
  const preResolvedFnStr = `function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};`;
20
33
  const DeferredDataScripts = (props) => {
21
- const context = (0, _react.useContext)(_router.UNSAFE_DataRouterContext);
34
+ const context = (0, import_react.useContext)(import_router.UNSAFE_DataRouterContext);
22
35
  const { staticContext } = context || {};
23
- const hydratedRef = (0, _react.useRef)(false);
24
- (0, _react.useEffect)(() => {
36
+ const hydratedRef = (0, import_react.useRef)(false);
37
+ (0, import_react.useEffect)(() => {
25
38
  hydratedRef.current = true;
26
39
  }, []);
27
- const deferredScripts = (0, _react.useMemo)(() => {
40
+ const deferredScripts = (0, import_react.useMemo)(() => {
28
41
  if (!staticContext) {
29
42
  return null;
30
43
  }
31
44
  const activeDeferreds = staticContext.activeDeferreds || [];
32
45
  const _ROUTER_DATA = {
33
46
  loaderData: staticContext.loaderData,
34
- errors: (0, _utils.serializeErrors)(staticContext.errors)
47
+ errors: (0, import_utils.serializeErrors)(staticContext.errors)
35
48
  };
36
49
  let initialScripts = [
37
- `_ROUTER_DATA = ${(0, _node.serializeJson)(_ROUTER_DATA)};`,
50
+ `_ROUTER_DATA = ${(0, import_node.serializeJson)(_ROUTER_DATA)};`,
38
51
  `_ROUTER_DATA.s = ${setupFnStr}`,
39
52
  `_ROUTER_DATA.r = ${resolveFnStr}`,
40
53
  `_ROUTER_DATA.p = ${preResolvedFnStr}`
@@ -45,7 +58,7 @@ const DeferredDataScripts = (props) => {
45
58
  const { deferredKeys } = deferredData;
46
59
  const deferredKeyPromiseStr = deferredKeys.map((key) => {
47
60
  if (pendingKeys.has(key)) {
48
- deferredDataScripts.push(/* @__PURE__ */ (0, _jsxruntime.jsx)(DeferredDataScript, {
61
+ deferredDataScripts.push(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DeferredDataScript, {
49
62
  nonce: props === null || props === void 0 ? void 0 : props.nonce,
50
63
  data: deferredData.data[key],
51
64
  dataKey: key,
@@ -59,12 +72,12 @@ const DeferredDataScripts = (props) => {
59
72
  message: trackedPromise._error.message,
60
73
  stack: process.env.NODE_ENV !== "production" ? trackedPromise._error.stack : void 0
61
74
  };
62
- return `${JSON.stringify(key)}: _ROUTER_DATA.p(${void 0}, ${(0, _node.serializeJson)(error)})`;
75
+ return `${JSON.stringify(key)}: _ROUTER_DATA.p(${void 0}, ${(0, import_node.serializeJson)(error)})`;
63
76
  } else {
64
77
  if (typeof trackedPromise._data === "undefined") {
65
78
  throw new Error(`The deferred data for ${key} was not resolved, did you forget to return data from a deferred promise`);
66
79
  }
67
- return `${JSON.stringify(key)}: _ROUTER_DATA.p(${(0, _node.serializeJson)(trackedPromise._data)})`;
80
+ return `${JSON.stringify(key)}: _ROUTER_DATA.p(${(0, import_node.serializeJson)(trackedPromise._data)})`;
68
81
  }
69
82
  }
70
83
  }).join(",\n");
@@ -78,9 +91,9 @@ const DeferredDataScripts = (props) => {
78
91
  if (!deferredScripts) {
79
92
  return null;
80
93
  }
81
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
94
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
82
95
  children: [
83
- !hydratedRef.current && /* @__PURE__ */ (0, _jsxruntime.jsx)("script", {
96
+ !hydratedRef.current && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
84
97
  async: true,
85
98
  nonce: props === null || props === void 0 ? void 0 : props.nonce,
86
99
  suppressHydrationWarning: true,
@@ -89,41 +102,41 @@ const DeferredDataScripts = (props) => {
89
102
  }
90
103
  }),
91
104
  !hydratedRef.current && deferredScripts[1],
92
- _common.JSX_SHELL_STREAM_END_MARK
105
+ import_common.JSX_SHELL_STREAM_END_MARK
93
106
  ]
94
107
  });
95
108
  };
96
109
  const DeferredDataScript = ({ data, routeId, dataKey, nonce }) => {
97
- return /* @__PURE__ */ (0, _jsxruntime.jsx)(_react.Suspense, {
98
- children: typeof document === "undefined" && data && dataKey && routeId ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_router.Await, {
110
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, {
111
+ children: typeof document === "undefined" && data && dataKey && routeId ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_router.Await, {
99
112
  resolve: data,
100
- errorElement: /* @__PURE__ */ (0, _jsxruntime.jsx)(ErrorDeferredDataScript, {
113
+ errorElement: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ErrorDeferredDataScript, {
101
114
  routeId,
102
115
  dataKey,
103
116
  nonce
104
117
  }),
105
- children: (data2) => /* @__PURE__ */ (0, _jsxruntime.jsx)("script", {
118
+ children: (data2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
106
119
  async: true,
107
120
  nonce,
108
121
  suppressHydrationWarning: true,
109
122
  dangerouslySetInnerHTML: {
110
- __html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(dataKey)}, ${(0, _node.serializeJson)(data2)});`
123
+ __html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(dataKey)}, ${(0, import_node.serializeJson)(data2)});`
111
124
  }
112
125
  })
113
126
  }) : null
114
127
  });
115
128
  };
116
129
  const ErrorDeferredDataScript = ({ routeId, dataKey, nonce }) => {
117
- const error = (0, _router.useAsyncError)();
118
- return /* @__PURE__ */ (0, _jsxruntime.jsx)("script", {
130
+ const error = (0, import_router.useAsyncError)();
131
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
119
132
  nonce,
120
133
  suppressHydrationWarning: true,
121
134
  dangerouslySetInnerHTML: {
122
- __html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(dataKey)}, ${void 0}, ${(0, _node.serializeJson)({
135
+ __html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(dataKey)}, ${void 0}, ${(0, import_node.serializeJson)({
123
136
  message: error.message,
124
137
  stack: error.stack
125
138
  })});`
126
139
  }
127
140
  });
128
141
  };
129
- const _default = DeferredDataScripts;
142
+ var DeferredDataScripts_node_default = DeferredDataScripts;
@@ -1,30 +1,42 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
6
9
  for (var name in all)
7
- Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- composeEventHandlers: function() {
14
- return composeEventHandlers;
15
- },
16
- Link: function() {
17
- return Link;
18
- },
19
- NavLink: function() {
20
- return NavLink;
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
17
  }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var PrefetchLink_exports = {};
30
+ __export(PrefetchLink_exports, {
31
+ Link: () => Link,
32
+ NavLink: () => NavLink,
33
+ composeEventHandlers: () => composeEventHandlers
22
34
  });
23
- const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
24
- const _jsxruntime = require("react/jsx-runtime");
25
- const _react = /* @__PURE__ */ _interop_require_wildcard._(require("react"));
26
- const _router = require("@modern-js/runtime-utils/router");
27
- const _core = require("../../core");
35
+ module.exports = __toCommonJS(PrefetchLink_exports);
36
+ var import_jsx_runtime = require("react/jsx-runtime");
37
+ var import_react = __toESM(require("react"));
38
+ var import_router = require("@modern-js/runtime-utils/router");
39
+ var import_core = require("../../core");
28
40
  function composeEventHandlers(theirHandler, ourHandler) {
29
41
  return (event) => {
30
42
  theirHandler === null || theirHandler === void 0 ? void 0 : theirHandler(event);
@@ -35,10 +47,10 @@ function composeEventHandlers(theirHandler, ourHandler) {
35
47
  }
36
48
  const ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;
37
49
  function usePrefetchBehavior(prefetch, theirElementProps) {
38
- const [maybePrefetch, setMaybePrefetch] = _react.default.useState(false);
39
- const [shouldPrefetch, setShouldPrefetch] = _react.default.useState(false);
50
+ const [maybePrefetch, setMaybePrefetch] = import_react.default.useState(false);
51
+ const [shouldPrefetch, setShouldPrefetch] = import_react.default.useState(false);
40
52
  const { onFocus, onBlur, onMouseEnter, onMouseLeave, onTouchStart } = theirElementProps;
41
- _react.default.useEffect(() => {
53
+ import_react.default.useEffect(() => {
42
54
  if (prefetch === "render") {
43
55
  setShouldPrefetch(true);
44
56
  }
@@ -56,7 +68,7 @@ function usePrefetchBehavior(prefetch, theirElementProps) {
56
68
  setShouldPrefetch(false);
57
69
  }
58
70
  };
59
- _react.default.useEffect(() => {
71
+ import_react.default.useEffect(() => {
60
72
  if (maybePrefetch) {
61
73
  const id = setTimeout(() => {
62
74
  setShouldPrefetch(true);
@@ -109,7 +121,7 @@ const getRequestUrl = (pathname, routeId) => {
109
121
  return url;
110
122
  };
111
123
  const createDataHref = (href) => {
112
- return /* @__PURE__ */ (0, _jsxruntime.jsx)("link", {
124
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("link", {
113
125
  rel: "prefetch",
114
126
  as: "fetch",
115
127
  href
@@ -121,31 +133,48 @@ const getDataHref = (route, pathname, basename) => {
121
133
  const url = getRequestUrl(path, id);
122
134
  return createDataHref(url.toString());
123
135
  };
124
- const PrefetchPageLinks = ({ pathname }) => {
125
- const context = (0, _react.useContext)(_core.RuntimeReactContext);
136
+ const PrefetchPageLinks = ({ path }) => {
137
+ const { pathname } = path;
138
+ const context = (0, import_react.useContext)(import_core.RuntimeReactContext);
126
139
  const { routeManifest, routes } = context;
127
140
  const { routeAssets } = routeManifest || {};
128
- const matches = Array.isArray(routes) ? (0, _router.matchRoutes)(routes, pathname) : [];
141
+ const matches = Array.isArray(routes) ? (0, import_router.matchRoutes)(routes, pathname) : [];
129
142
  if (Array.isArray(matches) && routeAssets) {
130
143
  matches === null || matches === void 0 ? void 0 : matches.forEach((match) => loadRouteModule(match.route, routeAssets));
131
144
  }
132
145
  if (!window._SSR_DATA) {
133
146
  return null;
134
147
  }
135
- return /* @__PURE__ */ (0, _jsxruntime.jsx)(PrefetchDataLinks, {
148
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PrefetchDataLinks, {
136
149
  matches,
137
- pathname,
150
+ path,
138
151
  routeManifest
139
152
  });
140
153
  };
141
- const PrefetchDataLinks = ({ matches, pathname, routeManifest }) => {
142
- const currentMatches = (0, _router.useMatches)();
143
- const basename = (0, _router.useHref)("/");
144
- const dataHrefs = (0, _react.useMemo)(() => {
154
+ const PrefetchDataLinks = ({ matches, path, routeManifest }) => {
155
+ const { pathname, search, hash } = path;
156
+ const currentMatches = (0, import_router.useMatches)();
157
+ const basename = (0, import_router.useHref)("/");
158
+ const dataHrefs = (0, import_react.useMemo)(() => {
145
159
  return matches === null || matches === void 0 ? void 0 : matches.filter((match, index) => {
146
160
  if (!match.route.loader || typeof match.route.loader !== "function" || match.route.loader.length === 0) {
147
161
  return false;
148
162
  }
163
+ if (match.route.shouldRevalidate) {
164
+ var _currentMatches_;
165
+ const currentUrl = new URL(location.pathname + location.search + location.hash, window.origin);
166
+ const nextUrl = new URL(pathname + search + hash, window.origin);
167
+ const shouldLoad = match.route.shouldRevalidate({
168
+ currentUrl,
169
+ currentParams: ((_currentMatches_ = currentMatches[0]) === null || _currentMatches_ === void 0 ? void 0 : _currentMatches_.params) || {},
170
+ nextUrl,
171
+ nextParams: match.params,
172
+ defaultShouldRevalidate: true
173
+ });
174
+ if (typeof shouldLoad === "boolean") {
175
+ return shouldLoad;
176
+ }
177
+ }
149
178
  const currentMatch = currentMatches[index];
150
179
  if (!currentMatch || currentMatch.id !== match.route.id) {
151
180
  return true;
@@ -163,32 +192,37 @@ const PrefetchDataLinks = ({ matches, pathname, routeManifest }) => {
163
192
  pathname,
164
193
  routeManifest
165
194
  ]);
166
- return /* @__PURE__ */ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
195
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
167
196
  children: dataHrefs
168
197
  });
169
198
  };
170
199
  const createPrefetchLink = (Link2) => {
171
- return /* @__PURE__ */ _react.default.forwardRef(({ to, prefetch = "none", ...props }, forwardedRef) => {
200
+ return /* @__PURE__ */ import_react.default.forwardRef(({ to, prefetch = "none", ...props }, forwardedRef) => {
172
201
  const isAbsolute = typeof to === "string" && ABSOLUTE_URL_REGEX.test(to);
173
202
  const [shouldPrefetch, prefetchHandlers] = usePrefetchBehavior(prefetch, props);
174
- const resolvedPath = (0, _router.useResolvedPath)(to);
175
- const { pathname } = resolvedPath;
176
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
203
+ const resolvedPath = (0, import_router.useResolvedPath)(to);
204
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
177
205
  children: [
178
- /* @__PURE__ */ (0, _jsxruntime.jsx)(Link2, {
206
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Link2, {
179
207
  ref: forwardedRef,
180
208
  to,
181
209
  ...props,
182
210
  ...prefetchHandlers
183
211
  }),
184
- shouldPrefetch && __webpack_chunk_load__ && !isAbsolute ? /* @__PURE__ */ (0, _jsxruntime.jsx)(PrefetchPageLinks, {
185
- pathname
212
+ shouldPrefetch && __webpack_chunk_load__ && !isAbsolute ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PrefetchPageLinks, {
213
+ path: resolvedPath
186
214
  }) : null
187
215
  ]
188
216
  });
189
217
  });
190
218
  };
191
- const Link = createPrefetchLink(_router.Link);
219
+ const Link = createPrefetchLink(import_router.Link);
192
220
  Link.displayName = "Link";
193
- const NavLink = createPrefetchLink(_router.NavLink);
221
+ const NavLink = createPrefetchLink(import_router.NavLink);
194
222
  NavLink.displayName = "NavLink";
223
+ // Annotate the CommonJS export names for ESM import in node:
224
+ 0 && (module.exports = {
225
+ Link,
226
+ NavLink,
227
+ composeEventHandlers
228
+ });
@@ -1,12 +1,29 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "installGlobals", {
6
- enumerable: true,
7
- get: function() {
8
- return installGlobals;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fetch_exports = {};
20
+ __export(fetch_exports, {
21
+ installGlobals: () => installGlobals
10
22
  });
23
+ module.exports = __toCommonJS(fetch_exports);
11
24
  function installGlobals() {
12
25
  }
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ installGlobals
29
+ });
@@ -1,11 +1,28 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "installGlobals", {
6
- enumerable: true,
7
- get: function() {
8
- return _node.installGlobals;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fetch_node_exports = {};
20
+ __export(fetch_node_exports, {
21
+ installGlobals: () => import_node.installGlobals
22
+ });
23
+ module.exports = __toCommonJS(fetch_node_exports);
24
+ var import_node = require("@remix-run/node");
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ installGlobals
10
28
  });
11
- const _node = require("@remix-run/node");
@@ -1,12 +1,29 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "installGlobals", {
6
- enumerable: true,
7
- get: function() {
8
- return installGlobals;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fetch_worker_exports = {};
20
+ __export(fetch_worker_exports, {
21
+ installGlobals: () => installGlobals
10
22
  });
23
+ module.exports = __toCommonJS(fetch_worker_exports);
11
24
  function installGlobals() {
12
25
  }
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ installGlobals
29
+ });
@@ -1,12 +1,29 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "modifyRoutes", {
6
- enumerable: true,
7
- get: function() {
8
- return modifyRoutes;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var hooks_exports = {};
20
+ __export(hooks_exports, {
21
+ modifyRoutes: () => modifyRoutes
22
+ });
23
+ module.exports = __toCommonJS(hooks_exports);
24
+ var import_plugin = require("@modern-js/plugin");
25
+ const modifyRoutes = (0, import_plugin.createWaterfall)();
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ modifyRoutes
10
29
  });
11
- const _plugin = require("@modern-js/plugin");
12
- const modifyRoutes = (0, _plugin.createWaterfall)();