@wular/pnext 0.1.5 → 0.1.7

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 (302) hide show
  1. package/bin/pnext +9 -2
  2. package/dist/server/_chunks/aliases-j47a10ce.js +44 -0
  3. package/dist/server/_chunks/analyze-arswqe6s.js +445 -0
  4. package/dist/server/_chunks/boot-af0mv3dy.js +36 -0
  5. package/dist/server/_chunks/build-spy3dxp4.js +84 -0
  6. package/dist/server/_chunks/build-t9h0hec3.js +3550 -0
  7. package/dist/server/_chunks/build-tier-m7yvqz61.js +2472 -0
  8. package/dist/server/_chunks/compile-53j02j27.js +22 -0
  9. package/dist/server/_chunks/config-1yzwexq6.js +27 -0
  10. package/dist/server/_chunks/config-n2z7yxps.js +22 -0
  11. package/dist/server/_chunks/create-meec9hs6.js +134 -0
  12. package/dist/server/_chunks/dev-fjmqg6en.js +220 -0
  13. package/dist/server/_chunks/esbuild-yyktfrtt.js +15 -0
  14. package/dist/server/_chunks/generate-n9sh6hzt.js +21 -0
  15. package/dist/server/_chunks/index-0374j2b9.js +66 -0
  16. package/dist/server/_chunks/index-06nyqntx.js +213 -0
  17. package/dist/server/_chunks/index-1011cscr.js +5263 -0
  18. package/dist/server/_chunks/index-11sfk4hb.js +170 -0
  19. package/dist/server/_chunks/index-20ppawv7.js +297 -0
  20. package/dist/server/_chunks/index-2dv4y4wd.js +1065 -0
  21. package/dist/server/_chunks/index-2vz0wzdn.js +59 -0
  22. package/dist/server/_chunks/index-2wfv4kvx.js +182 -0
  23. package/dist/server/_chunks/index-357na4a8.js +109 -0
  24. package/dist/server/_chunks/index-3b3at80h.js +109 -0
  25. package/dist/server/_chunks/index-3tf1xjsp.js +6166 -0
  26. package/dist/server/_chunks/index-3xbr4eyv.js +105 -0
  27. package/dist/server/_chunks/index-4399bvd2.js +18 -0
  28. package/dist/server/_chunks/index-4hgjrqh7.js +851 -0
  29. package/dist/server/_chunks/index-4q2gbfwk.js +2530 -0
  30. package/dist/server/_chunks/index-4t92hdxd.js +172 -0
  31. package/dist/server/_chunks/index-4zzebszd.js +10 -0
  32. package/dist/server/_chunks/index-5gyr4emz.js +107 -0
  33. package/dist/server/_chunks/index-5hr4062s.js +70 -0
  34. package/dist/server/_chunks/index-68m3mwbd.js +84 -0
  35. package/dist/server/_chunks/index-6b009mt0.js +56 -0
  36. package/dist/server/_chunks/index-6e4fqv30.js +588 -0
  37. package/dist/server/_chunks/index-6gex3pfa.js +15 -0
  38. package/dist/server/_chunks/index-6kp9r0d9.js +11 -0
  39. package/dist/server/_chunks/index-6q7zvrap.js +134 -0
  40. package/dist/server/_chunks/index-73z4esab.js +38 -0
  41. package/dist/server/_chunks/index-79ngvam8.js +60 -0
  42. package/dist/server/_chunks/index-7wc9n8be.js +25 -0
  43. package/dist/server/_chunks/index-8k7pfejn.js +1599 -0
  44. package/dist/server/_chunks/index-8kcxdfya.js +206 -0
  45. package/dist/server/_chunks/index-91x12ykq.js +274 -0
  46. package/dist/server/_chunks/index-9ch50vtq.js +18 -0
  47. package/dist/server/_chunks/index-9hx2641q.js +28 -0
  48. package/dist/server/_chunks/index-9n2914ww.js +535 -0
  49. package/dist/server/_chunks/index-9ych9ma8.js +207 -0
  50. package/dist/server/_chunks/index-b6wtkdp4.js +24 -0
  51. package/dist/server/_chunks/index-bcws5eh2.js +35 -0
  52. package/dist/server/_chunks/index-c0g2wf3z.js +92 -0
  53. package/dist/server/_chunks/index-cf4rvxv6.js +95 -0
  54. package/dist/server/_chunks/index-cjgqs13g.js +65 -0
  55. package/dist/server/_chunks/index-ckkdpht5.js +41 -0
  56. package/dist/server/_chunks/index-cyfednwb.js +87 -0
  57. package/dist/server/_chunks/index-danncfhy.js +311 -0
  58. package/dist/server/_chunks/index-dg0f05zs.js +199 -0
  59. package/dist/server/_chunks/index-e3a6yx84.js +18 -0
  60. package/dist/server/_chunks/index-e88tyv35.js +45 -0
  61. package/dist/server/_chunks/index-eajaspjk.js +1253 -0
  62. package/dist/server/_chunks/index-eeaanp2e.js +483 -0
  63. package/dist/server/_chunks/index-egykcqg3.js +101 -0
  64. package/dist/server/_chunks/index-en7n9f7m.js +22 -0
  65. package/dist/server/_chunks/index-ezgj0tr1.js +88 -0
  66. package/dist/server/_chunks/index-fkp000p1.js +590 -0
  67. package/dist/server/_chunks/index-fn1chkkd.js +214 -0
  68. package/dist/server/_chunks/index-fp8r0sqs.js +64 -0
  69. package/dist/server/_chunks/index-ggk2j965.js +9432 -0
  70. package/dist/server/_chunks/index-grta8ap3.js +238 -0
  71. package/dist/server/_chunks/index-h2a70tg4.js +7 -0
  72. package/dist/server/_chunks/index-h4xy648y.js +51 -0
  73. package/dist/server/_chunks/index-hkdfj58q.js +92 -0
  74. package/dist/server/_chunks/index-j2zrcp1k.js +66 -0
  75. package/dist/server/_chunks/index-jcsjq3d1.js +20 -0
  76. package/dist/server/_chunks/index-jepjvcrf.js +198 -0
  77. package/dist/server/_chunks/index-jks0x0a1.js +14 -0
  78. package/dist/server/_chunks/index-jx7bqvw1.js +57 -0
  79. package/dist/server/_chunks/index-k1g3epw0.js +1299 -0
  80. package/dist/server/_chunks/index-knp0s912.js +7 -0
  81. package/dist/server/_chunks/index-kq8kpzye.js +472 -0
  82. package/dist/server/_chunks/index-kqyy1d4f.js +50 -0
  83. package/dist/server/_chunks/index-kresp2n8.js +445 -0
  84. package/dist/server/_chunks/index-ms9v9tnx.js +31 -0
  85. package/dist/server/_chunks/index-n4hxpng2.js +11 -0
  86. package/dist/server/_chunks/index-ncnes8c6.js +17 -0
  87. package/dist/server/_chunks/index-nqh3xhdc.js +57 -0
  88. package/dist/server/_chunks/index-nyrba2kr.js +4130 -0
  89. package/dist/server/_chunks/index-p77b4kcx.js +296 -0
  90. package/dist/server/_chunks/index-pym1cezq.js +39 -0
  91. package/dist/server/_chunks/index-q738kkhj.js +100 -0
  92. package/dist/server/_chunks/index-qjj6gddn.js +54 -0
  93. package/dist/server/_chunks/index-qm6kmhqs.js +110 -0
  94. package/dist/server/_chunks/index-qn4z5s3c.js +819 -0
  95. package/dist/server/_chunks/index-qpwsgt3a.js +158 -0
  96. package/dist/server/_chunks/index-r97ptz1q.js +97 -0
  97. package/dist/server/_chunks/index-ras0sdab.js +26 -0
  98. package/dist/server/_chunks/index-rcs322t1.js +19 -0
  99. package/dist/server/_chunks/index-rn8dyr1f.js +126 -0
  100. package/dist/server/_chunks/index-rt9qq1va.js +4 -0
  101. package/dist/server/_chunks/index-rthrsed5.js +356 -0
  102. package/dist/server/_chunks/index-sctcgyvv.js +185 -0
  103. package/dist/server/_chunks/index-sjpckxqn.js +213 -0
  104. package/dist/server/_chunks/index-sq3kvz3g.js +200 -0
  105. package/dist/server/_chunks/index-stbk3jhn.js +31 -0
  106. package/dist/server/_chunks/index-sv8m6789.js +266 -0
  107. package/dist/server/_chunks/index-tgcakdxc.js +125 -0
  108. package/dist/server/_chunks/index-tgsfjmep.js +74 -0
  109. package/dist/server/_chunks/index-tq0pc7eg.js +154 -0
  110. package/dist/server/_chunks/index-tq1f96v7.js +51 -0
  111. package/dist/server/_chunks/index-tqn2qnnn.js +241 -0
  112. package/dist/server/_chunks/index-tvqkq6e6.js +128 -0
  113. package/dist/server/_chunks/index-v1ags1na.js +132 -0
  114. package/dist/server/_chunks/index-vvmmknm1.js +1431 -0
  115. package/dist/server/_chunks/index-vvq7rqtn.js +329 -0
  116. package/dist/server/_chunks/index-vz0km5qk.js +33 -0
  117. package/dist/server/_chunks/index-w6h8m6vp.js +138 -0
  118. package/dist/server/_chunks/index-web361b8.js +138 -0
  119. package/dist/server/_chunks/index-wpfhfbs4.js +194 -0
  120. package/dist/server/_chunks/index-x0y005nh.js +283 -0
  121. package/dist/server/_chunks/index-x3yn4ywm.js +22 -0
  122. package/dist/server/_chunks/index-x93hv0sc.js +271 -0
  123. package/dist/server/_chunks/index-xvj80c3a.js +30 -0
  124. package/dist/server/_chunks/index-xywjg2vc.js +100 -0
  125. package/dist/server/_chunks/index-y2jr2n72.js +152 -0
  126. package/dist/server/_chunks/index-y36a0ybw.js +57 -0
  127. package/dist/server/_chunks/index-ye9hmsvf.js +47 -0
  128. package/dist/server/_chunks/index-yhxkxghe.js +56 -0
  129. package/dist/server/_chunks/index-ym67zqxp.js +130 -0
  130. package/dist/server/_chunks/index-ytjvpbm2.js +736 -0
  131. package/dist/server/_chunks/index-yz54pxrh.js +960 -0
  132. package/dist/server/_chunks/index-z4z9zv3b.js +733 -0
  133. package/dist/server/_chunks/index-z84ab1w0.js +1270 -0
  134. package/dist/server/_chunks/index-z88qv16t.js +11 -0
  135. package/dist/server/_chunks/index-zqpqyg8p.js +666 -0
  136. package/dist/server/_chunks/loader-7yw0j98z.js +78 -0
  137. package/dist/server/_chunks/modules-jn8bmbn8.js +74 -0
  138. package/dist/server/_chunks/pipeline-yy9jhydf.js +832 -0
  139. package/dist/server/_chunks/production-jar9ztm3.js +44 -0
  140. package/dist/server/_chunks/proxy-config-j84dgksn.js +21 -0
  141. package/dist/server/_chunks/proxy-w1d0wmsn.js +33 -0
  142. package/dist/server/_chunks/router-k1reahfn.js +498 -0
  143. package/dist/server/_chunks/routes-2s277fc6.js +64 -0
  144. package/dist/server/_chunks/run-pvd8bs1t.js +696 -0
  145. package/dist/server/_chunks/server-mt4a994c.js +1835 -0
  146. package/dist/server/_chunks/tsconfig-defaults-1nb3308g.js +20 -0
  147. package/dist/server/_chunks/typegen-0qr0459b.js +35 -0
  148. package/dist/server/api/client-cache.js +14 -0
  149. package/dist/server/cli/index.js +378 -0
  150. package/dist/server/cli/start.js +137 -0
  151. package/dist/server/client/reference.js +16 -0
  152. package/dist/server/compat/next/cache.js +56 -0
  153. package/dist/server/compat/next/canonical-url.js +13 -0
  154. package/dist/server/compat/next/client-cache.js +57 -0
  155. package/dist/server/compat/next/client-navigation.js +232 -0
  156. package/dist/server/compat/next/client-only.js +1 -0
  157. package/dist/server/compat/next/client-script.js +178 -0
  158. package/dist/server/compat/next/client-server.js +34 -0
  159. package/dist/server/compat/next/config-headers.js +32 -0
  160. package/dist/server/compat/next/config-loader.js +25 -0
  161. package/dist/server/compat/next/config.js +10 -0
  162. package/dist/server/compat/next/constants.js +18 -0
  163. package/dist/server/compat/next/custom-server.js +10 -0
  164. package/dist/server/compat/next/dist/client/components/app-router-headers.js +48 -0
  165. package/dist/server/compat/next/dist/server/web/spec-extension/revalidate.js +27 -0
  166. package/dist/server/compat/next/dist/server/web/spec-extension/unstable-cache.js +25 -0
  167. package/dist/server/compat/next/dist/server/web/spec-extension/unstable-no-store.js +25 -0
  168. package/dist/server/compat/next/dynamic.js +32 -0
  169. package/dist/server/compat/next/error.js +112 -0
  170. package/dist/server/compat/next/font/cache.js +14 -0
  171. package/dist/server/compat/next/font/google.js +3 -0
  172. package/dist/server/compat/next/font/index.js +1 -0
  173. package/dist/server/compat/next/font/local.js +22 -0
  174. package/dist/server/compat/next/font/runtime-client.js +33 -0
  175. package/dist/server/compat/next/font/runtime.js +41 -0
  176. package/dist/server/compat/next/font/shared.js +22 -0
  177. package/dist/server/compat/next/form.js +129 -0
  178. package/dist/server/compat/next/head.js +10 -0
  179. package/dist/server/compat/next/headers.js +30 -0
  180. package/dist/server/compat/next/image/client.js +11 -0
  181. package/dist/server/compat/next/image/config.js +18 -0
  182. package/dist/server/compat/next/image/optimizer.js +25 -0
  183. package/dist/server/compat/next/image/patterns.js +12 -0
  184. package/dist/server/compat/next/image/props.js +16 -0
  185. package/dist/server/compat/next/image/shared.js +86 -0
  186. package/dist/server/compat/next/image/static-metadata.js +32 -0
  187. package/dist/server/compat/next/image/validate.js +8 -0
  188. package/dist/server/compat/next/image.js +59 -0
  189. package/dist/server/compat/next/index.js +1 -0
  190. package/dist/server/compat/next/legacy-image.js +78 -0
  191. package/dist/server/compat/next/legacy-request-apis.js +24 -0
  192. package/dist/server/compat/next/link-transform.js +14 -0
  193. package/dist/server/compat/next/link.js +14 -0
  194. package/dist/server/compat/next/navigation.js +190 -0
  195. package/dist/server/compat/next/offline.js +45 -0
  196. package/dist/server/compat/next/og.js +8 -0
  197. package/dist/server/compat/next/preferred-region.js +8 -0
  198. package/dist/server/compat/next/redirects.js +30 -0
  199. package/dist/server/compat/next/resource-hints.js +30 -0
  200. package/dist/server/compat/next/rewrites.js +41 -0
  201. package/dist/server/compat/next/root-params.js +121 -0
  202. package/dist/server/compat/next/route-state.js +23 -0
  203. package/dist/server/compat/next/router.js +103 -0
  204. package/dist/server/compat/next/script.js +37 -0
  205. package/dist/server/compat/next/server-only.js +1 -0
  206. package/dist/server/compat/next/server.js +131 -0
  207. package/dist/server/compat/next/svgr.js +14 -0
  208. package/dist/server/compat/next/telemetry.js +10 -0
  209. package/dist/server/compat/next/usage.js +13 -0
  210. package/dist/server/compat/next/user-agent.js +12 -0
  211. package/dist/server/compat/next/web-vitals.js +35 -0
  212. package/dist/server/compat/react/action-state.js +11 -0
  213. package/dist/server/compat/react/client-lite.js +83 -0
  214. package/dist/server/compat/react/client.js +131 -0
  215. package/dist/server/compat/react/compiler-runtime.js +42 -0
  216. package/dist/server/compat/react/dom-client.js +106 -0
  217. package/dist/server/compat/react/dom-react-server.js +37 -0
  218. package/dist/server/compat/react/dom-server.js +40 -0
  219. package/dist/server/compat/react/dom.js +52 -0
  220. package/dist/server/compat/react/hooks-extra.js +12 -0
  221. package/dist/server/compat/react/internals.js +14 -0
  222. package/dist/server/compat/react/parity.js +11 -0
  223. package/dist/server/compat/react/preact.js +113 -0
  224. package/dist/server/compat/react/react-server.js +133 -0
  225. package/dist/server/compat/react/router-shim.js +8 -0
  226. package/dist/server/compat/react/server-component-use.js +14 -0
  227. package/dist/server/compat/react/server-inserted-html.js +14 -0
  228. package/dist/server/compat/react/server.js +194 -0
  229. package/dist/server/compat/react/style-values.js +10 -0
  230. package/dist/server/compat/react/use.js +10 -0
  231. package/dist/server/compat/react/view-transition.js +12 -0
  232. package/dist/server/generation.json +1 -0
  233. package/package.json +4 -1
  234. package/src/api/dynamic.tsx +2 -0
  235. package/src/api/server.ts +24 -6
  236. package/src/cli/adapters/vercel-warm.ts +315 -61
  237. package/src/cli/adapters/vercel.ts +348 -71
  238. package/src/cli/build.ts +58 -33
  239. package/src/cli/index.ts +23 -10
  240. package/src/cli/serve/entry.ts +21 -159
  241. package/src/cli/serve/immutable.ts +31 -0
  242. package/src/cli/serve/pipeline.ts +82 -84
  243. package/src/cli/start.ts +3 -1
  244. package/src/client/chunk-fold.ts +19 -6
  245. package/src/client/react-tier.ts +3 -2
  246. package/src/client/reference-stub.ts +21 -2
  247. package/src/compat/actions/client-plugin.ts +4 -2
  248. package/src/compat/actions/config.ts +6 -5
  249. package/src/compat/actions/extensions.ts +2 -3
  250. package/src/compat/aliases.ts +8 -1
  251. package/src/compat/bundler/config.ts +88 -0
  252. package/src/compat/bundler/optimize-package-imports.ts +86 -26
  253. package/src/compat/bundler/relay-transform.ts +15 -3
  254. package/src/compat/cache-control.ts +16 -8
  255. package/src/compat/css/modules.ts +18 -5
  256. package/src/compat/lifecycle/error-funnel.ts +1 -1
  257. package/src/compat/lifecycle/instrumentation.ts +117 -24
  258. package/src/compat/lifecycle/testmode.ts +3 -2
  259. package/src/compat/next/config-loader.ts +137 -13
  260. package/src/compat/next/font/runtime.ts +22 -2
  261. package/src/compat/next/og.ts +3 -3
  262. package/src/compat/next/usage.ts +3 -2
  263. package/src/compat/pages/api.ts +83 -14
  264. package/src/compat/pages/router.ts +30 -14
  265. package/src/compat/register/bundler.ts +3 -1
  266. package/src/compat/register/middleware.ts +1 -1
  267. package/src/compat/register/otel.ts +5 -9
  268. package/src/compat/register/render.ts +3 -1
  269. package/src/compat/register/use-cache.ts +3 -1
  270. package/src/compat/release.ts +46 -0
  271. package/src/compat/segment/serve.ts +1 -1
  272. package/src/compat/validation/validate.ts +10 -7
  273. package/src/config.ts +51 -7
  274. package/src/css/assets.ts +213 -0
  275. package/src/css/build.ts +174 -238
  276. package/src/dev/server.ts +27 -8
  277. package/src/extensions.ts +4 -0
  278. package/src/render/hooks.ts +13 -0
  279. package/src/render/renderer.ts +52 -32
  280. package/src/request/context.ts +9 -0
  281. package/src/resolve/dynamic.ts +3 -1
  282. package/src/resolve/imports.ts +12 -52
  283. package/src/resolve/package-json.ts +56 -0
  284. package/src/resolve/scan-facts.ts +65 -0
  285. package/src/routing/href.ts +10 -3
  286. package/src/routing/match.ts +287 -0
  287. package/src/routing/metadata-files.ts +19 -5
  288. package/src/routing/proxy-config.ts +137 -0
  289. package/src/routing/proxy.ts +35 -134
  290. package/src/routing/routes.ts +22 -281
  291. package/src/runtime/fingerprint.ts +23 -8
  292. package/src/runtime/load.ts +170 -0
  293. package/src/runtime/loader.ts +215 -43
  294. package/src/runtime/module-cache.ts +13 -0
  295. package/src/runtime/modules.ts +370 -81
  296. package/src/runtime/prebundle.ts +81 -0
  297. package/src/runtime/production.ts +391 -0
  298. package/src/runtime/release-graph.ts +334 -0
  299. package/src/runtime/vendor-build.ts +724 -13
  300. package/src/runtime/vendor.ts +16 -3
  301. package/src/types.ts +2 -0
  302. package/src/utils/fs.ts +89 -3
@@ -0,0 +1,172 @@
1
+ // @bun
2
+ import {
3
+ getImagesConfig,
4
+ resolveImageProps
5
+ } from "./index-rthrsed5.js";
6
+
7
+ // src/compat/next/image/client.tsx
8
+ import {
9
+ forwardRef,
10
+ useCallback,
11
+ useEffect,
12
+ useLayoutEffect,
13
+ useRef,
14
+ useState
15
+ } from "preact/compat";
16
+ import { jsx, jsxs, Fragment } from "preact/jsx-runtime";
17
+ "use client";
18
+ var useSettleEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
19
+ function hydrating() {
20
+ return typeof window !== "undefined" && !window.__NEXT_HYDRATED;
21
+ }
22
+ function handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete) {
23
+ if (!img)
24
+ return;
25
+ const src = img.src;
26
+ const marker = img;
27
+ if (marker["data-loaded-src"] === src)
28
+ return;
29
+ marker["data-loaded-src"] = src;
30
+ const p = "decode" in img ? img.decode() : Promise.resolve();
31
+ p.catch(() => {
32
+ return;
33
+ }).then(() => {
34
+ if (!img.parentElement || !img.isConnected)
35
+ return;
36
+ if (placeholder !== "empty")
37
+ setBlurComplete(true);
38
+ if (onLoadRef.current) {
39
+ const event = new Event("load");
40
+ Object.defineProperty(event, "target", { writable: false, value: img });
41
+ let prevented = false;
42
+ let stopped = false;
43
+ onLoadRef.current({
44
+ ...event,
45
+ nativeEvent: event,
46
+ currentTarget: img,
47
+ target: img,
48
+ isDefaultPrevented: () => prevented,
49
+ isPropagationStopped: () => stopped,
50
+ persist: () => {
51
+ return;
52
+ },
53
+ preventDefault: () => {
54
+ prevented = true;
55
+ event.preventDefault();
56
+ },
57
+ stopPropagation: () => {
58
+ stopped = true;
59
+ event.stopPropagation();
60
+ }
61
+ });
62
+ }
63
+ if (onLoadingCompleteRef.current)
64
+ onLoadingCompleteRef.current(img);
65
+ });
66
+ }
67
+ function useMergedRef(refA, refB) {
68
+ const cleanupA = useRef(null);
69
+ const cleanupB = useRef(null);
70
+ return useCallback((current) => {
71
+ if (current === null) {
72
+ cleanupA.current?.();
73
+ cleanupA.current = null;
74
+ cleanupB.current?.();
75
+ cleanupB.current = null;
76
+ } else {
77
+ if (refA)
78
+ cleanupA.current = applyRef(refA, current);
79
+ if (refB)
80
+ cleanupB.current = applyRef(refB, current);
81
+ }
82
+ }, [refA, refB]);
83
+ }
84
+ function applyRef(ref, current) {
85
+ if (typeof ref === "function") {
86
+ const cleanup = ref(current);
87
+ return typeof cleanup === "function" ? cleanup : () => ref(null);
88
+ }
89
+ ref.current = current;
90
+ return () => {
91
+ ref.current = null;
92
+ };
93
+ }
94
+ var Image = forwardRef(function Image2({ __pnextConfig, ...imageProps }, forwardedRef) {
95
+ const config = __pnextConfig ?? getImagesConfig();
96
+ const [blurComplete, setBlurComplete] = useState(false);
97
+ const [showAltText, setShowAltText] = useState(false);
98
+ const { props, meta } = resolveImageProps(imageProps, config, blurComplete, showAltText);
99
+ const { onLoad, onError, onLoadingComplete } = imageProps;
100
+ const onLoadRef = useRef(onLoad);
101
+ useEffect(() => {
102
+ onLoadRef.current = onLoad;
103
+ }, [onLoad]);
104
+ const onLoadingCompleteRef = useRef(onLoadingComplete);
105
+ useEffect(() => {
106
+ onLoadingCompleteRef.current = onLoadingComplete;
107
+ }, [onLoadingComplete]);
108
+ const placeholder = meta.placeholder;
109
+ const renderedSrc = typeof props.src === "string" ? props.src : "";
110
+ const insertedImgRef = useRef(null);
111
+ const settledSrcRef = useRef(undefined);
112
+ const swallowErrorRef = useRef(false);
113
+ useSettleEffect(() => {
114
+ const img = insertedImgRef.current;
115
+ if (img === null || settledSrcRef.current === renderedSrc)
116
+ return;
117
+ settledSrcRef.current = renderedSrc;
118
+ if (onError) {
119
+ if (img.complete) {
120
+ const currentSrc = img.src;
121
+ img.src = currentSrc;
122
+ } else if (hydrating()) {
123
+ swallowErrorRef.current = true;
124
+ img.addEventListener("error", () => {
125
+ swallowErrorRef.current = false;
126
+ const failedSrc = img.src;
127
+ img.src = failedSrc;
128
+ }, { once: true });
129
+ }
130
+ }
131
+ const settle = () => handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete);
132
+ if (img.complete)
133
+ settle();
134
+ }, [renderedSrc, placeholder, onError]);
135
+ const ref = useMergedRef(forwardedRef, insertedImgRef);
136
+ const extra = imageProps;
137
+ const preloadLink = meta.preload ? /* @__PURE__ */ jsx("link", {
138
+ rel: "preload",
139
+ as: "image",
140
+ href: meta.imgAttributes.srcSet ? undefined : meta.imgAttributes.src,
141
+ ...{
142
+ imagesrcset: meta.imgAttributes.srcSet,
143
+ imagesizes: meta.imgAttributes.sizes,
144
+ crossOrigin: extra.crossOrigin,
145
+ referrerPolicy: extra.referrerPolicy,
146
+ fetchpriority: extra.fetchPriority
147
+ }
148
+ }) : null;
149
+ return /* @__PURE__ */ jsxs(Fragment, {
150
+ children: [
151
+ preloadLink,
152
+ /* @__PURE__ */ jsx("img", {
153
+ ...props,
154
+ "data-nimg": meta.fill ? "fill" : "1",
155
+ ref,
156
+ onLoad: (event) => {
157
+ handleLoading(event.currentTarget, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete);
158
+ },
159
+ onError: (event) => {
160
+ setShowAltText(true);
161
+ if (placeholder !== "empty")
162
+ setBlurComplete(true);
163
+ if (swallowErrorRef.current)
164
+ return;
165
+ onError?.(event);
166
+ }
167
+ })
168
+ ]
169
+ });
170
+ });
171
+ var client_default = Image;
172
+ export { Image, client_default };
@@ -0,0 +1,10 @@
1
+ // @bun
2
+ // src/compat/next/constants.ts
3
+ var PHASE_EXPORT = "phase-export";
4
+ var PHASE_PRODUCTION_BUILD = "phase-production-build";
5
+ var PHASE_PRODUCTION_SERVER = "phase-production-server";
6
+ var PHASE_DEVELOPMENT_SERVER = "phase-development-server";
7
+ var PHASE_TEST = "phase-test";
8
+ var PHASE_INFO = "phase-info";
9
+
10
+ export { PHASE_EXPORT, PHASE_PRODUCTION_BUILD, PHASE_PRODUCTION_SERVER, PHASE_DEVELOPMENT_SERVER, PHASE_TEST, PHASE_INFO };
@@ -0,0 +1,107 @@
1
+ // @bun
2
+ import {
3
+ onExtensionHostReset
4
+ } from "./index-zqpqyg8p.js";
5
+ import {
6
+ __require
7
+ } from "./index-rt9qq1va.js";
8
+
9
+ // src/runtime/fetch-host.ts
10
+ var installed = false;
11
+ var upstreamAborts = new WeakMap;
12
+ function isHostKey(key) {
13
+ return typeof key === "string" && key.length === 4 && key.toLowerCase() === "host";
14
+ }
15
+ function hasHost(headers) {
16
+ if (headers instanceof Headers)
17
+ return headers.has("host");
18
+ if (Array.isArray(headers)) {
19
+ for (const entry of headers)
20
+ if (isHostKey(entry?.[0]))
21
+ return true;
22
+ return false;
23
+ }
24
+ for (const key in headers)
25
+ if (isHostKey(key))
26
+ return true;
27
+ return false;
28
+ }
29
+ function withoutHost(headers) {
30
+ const next = new Headers(headers);
31
+ next.delete("host");
32
+ return next;
33
+ }
34
+ function installFetchHostNormalization() {
35
+ if (installed)
36
+ return;
37
+ installed = true;
38
+ const original = globalThis.fetch.bind(globalThis);
39
+ globalThis.fetch = function fetch(input, init) {
40
+ const source = init?.headers ?? (input instanceof Request ? input.headers : undefined);
41
+ const normalized = source !== undefined && hasHost(source) ? { ...init, headers: withoutHost(source) } : init;
42
+ return trackUpstream(original, input, normalized);
43
+ };
44
+ }
45
+ function trackUpstream(original, input, init) {
46
+ const controller = new AbortController;
47
+ const caller = init?.signal ?? (input instanceof Request ? input.signal : undefined);
48
+ const signal = caller ? AbortSignal.any([caller, controller.signal]) : controller.signal;
49
+ return original(input, { ...init, signal }).then((response) => {
50
+ if (response.body)
51
+ upstreamAborts.set(response.body, controller);
52
+ return response;
53
+ });
54
+ }
55
+ function abortUpstreamFetchOnDisconnect(body, signal) {
56
+ if (!body || !signal || !upstreamAborts.has(body))
57
+ return;
58
+ const abort = () => {
59
+ const controller = upstreamAborts.get(body);
60
+ if (!controller)
61
+ return;
62
+ upstreamAborts.delete(body);
63
+ controller.abort();
64
+ };
65
+ if (signal.aborted)
66
+ abort();
67
+ else
68
+ signal.addEventListener("abort", abort, { once: true });
69
+ }
70
+
71
+ // src/compat-bootstrap.ts
72
+ function compatEnabled(config) {
73
+ const compat = config.compat;
74
+ return Boolean(compat?.next || compat?.react || compat?.reactCompiler);
75
+ }
76
+ var bootRegistration;
77
+ var registration;
78
+ onExtensionHostReset(() => {
79
+ bootRegistration = undefined;
80
+ registration = undefined;
81
+ });
82
+ function bootstrapCompatBoot(config) {
83
+ installFetchHostNormalization();
84
+ if (!compatEnabled(config))
85
+ return Promise.resolve();
86
+ bootRegistration ??= import("./boot-af0mv3dy.js").then((module) => module.registerCompatBootExtensions(config));
87
+ return bootRegistration;
88
+ }
89
+ function bootstrapCompat(config, options = {}) {
90
+ installFetchHostNormalization();
91
+ if (!compatEnabled(config))
92
+ return Promise.resolve();
93
+ registration ??= bootstrapCompatBoot(config).then(() => import("./index-ggk2j965.js")).then((module) => module.registerCompatExtensions(config, options));
94
+ return registration;
95
+ }
96
+ async function generateCompatRouteTypes(config, routes) {
97
+ if (!config.compat?.next)
98
+ return;
99
+ const [{ writeTsconfigDefaults }, { generateTypedRoutes }] = await Promise.all([
100
+ import("./tsconfig-defaults-1nb3308g.js"),
101
+ import("./generate-n9sh6hzt.js")
102
+ ]);
103
+ await writeTsconfigDefaults(config);
104
+ await generateTypedRoutes(config, routes);
105
+ }
106
+
107
+ export { abortUpstreamFetchOnDisconnect, bootstrapCompatBoot, bootstrapCompat, generateCompatRouteTypes };
@@ -0,0 +1,70 @@
1
+ // @bun
2
+ // src/routing/forwarded.ts
3
+ var FORWARDED_HOST = "x-forwarded-host";
4
+ var FORWARDED_PORT = "x-forwarded-port";
5
+ var FORWARDED_PROTO = "x-forwarded-proto";
6
+ var FORWARDED_FOR = "x-forwarded-for";
7
+ function withForwardedHeaders(request, peer) {
8
+ const headers = request.headers;
9
+ const hasHost = headers.has(FORWARDED_HOST);
10
+ const hasPort = headers.has(FORWARDED_PORT);
11
+ const hasProto = headers.has(FORWARDED_PROTO);
12
+ const hasFor = headers.has(FORWARDED_FOR);
13
+ if (hasHost && hasPort && hasProto && (hasFor || !peer))
14
+ return request;
15
+ let url;
16
+ try {
17
+ url = new URL(request.url);
18
+ } catch {
19
+ return request;
20
+ }
21
+ const host = headers.get("host") ?? url.host;
22
+ const proto = url.protocol.replace(":", "");
23
+ const port = url.port;
24
+ const next = new Headers(headers);
25
+ if (!hasHost)
26
+ next.set(FORWARDED_HOST, host);
27
+ if (!hasPort)
28
+ next.set(FORWARDED_PORT, port);
29
+ if (!hasProto)
30
+ next.set(FORWARDED_PROTO, proto);
31
+ if (!hasFor && peer) {
32
+ const address = peer.requestIP(request)?.address;
33
+ if (address)
34
+ next.set(FORWARDED_FOR, address);
35
+ }
36
+ return new Request(request, { headers: next });
37
+ }
38
+
39
+ // src/utils/content-type.ts
40
+ import path from "path";
41
+ var contentTypes = {
42
+ ".avif": "image/avif",
43
+ ".bmp": "image/bmp",
44
+ ".css": "text/css; charset=utf-8",
45
+ ".eot": "application/vnd.ms-fontobject",
46
+ ".gif": "image/gif",
47
+ ".htm": "text/html; charset=utf-8",
48
+ ".html": "text/html; charset=utf-8",
49
+ ".ico": "image/x-icon",
50
+ ".jpeg": "image/jpeg",
51
+ ".jpg": "image/jpeg",
52
+ ".js": "text/javascript; charset=utf-8",
53
+ ".json": "application/json; charset=utf-8",
54
+ ".mjs": "text/javascript; charset=utf-8",
55
+ ".otf": "font/otf",
56
+ ".png": "image/png",
57
+ ".svg": "image/svg+xml",
58
+ ".tif": "image/tiff",
59
+ ".tiff": "image/tiff",
60
+ ".ttf": "font/ttf",
61
+ ".wasm": "application/wasm",
62
+ ".webp": "image/webp",
63
+ ".woff": "font/woff",
64
+ ".woff2": "font/woff2"
65
+ };
66
+ function contentType(file) {
67
+ return contentTypes[path.extname(file).toLowerCase()] ?? "application/octet-stream";
68
+ }
69
+
70
+ export { withForwardedHeaders, contentType };
@@ -0,0 +1,84 @@
1
+ // @bun
2
+ import {
3
+ hooksUsable
4
+ } from "./index-j2zrcp1k.js";
5
+
6
+ // src/compat/react/action-state.ts
7
+ import { useCallback, useRef, useState } from "preact/hooks";
8
+ function useActionState(action, initialState, _permalink) {
9
+ if (!hooksUsable()) {
10
+ const staticInitial = (consumeActionStateOverride() ?? { value: initialState }).value;
11
+ const staticDispatch = (payload) => void Promise.resolve(action(staticInitial, payload));
12
+ tagFormStateDispatch(staticDispatch, action, staticInitial, _permalink);
13
+ return [staticInitial, staticDispatch, false];
14
+ }
15
+ const initialRef = useRef(null);
16
+ if (!initialRef.current) {
17
+ initialRef.current = {
18
+ value: (consumeActionStateOverride() ?? { value: initialState }).value
19
+ };
20
+ }
21
+ const [state, setState] = useState(initialRef.current.value);
22
+ const [pending, setPending] = useState(0);
23
+ const lastSettled = useRef(initialRef.current.value);
24
+ const chain = useRef(Promise.resolve());
25
+ const pendingError = useRef(null);
26
+ const [, forceRender] = useState(0);
27
+ const dispatch = useCallback((payload) => {
28
+ setPending((count) => count + 1);
29
+ chain.current = chain.current.then(async () => {
30
+ try {
31
+ const redirectsBefore = actionRedirectCount();
32
+ const next = await action(lastSettled.current, payload);
33
+ if (next === undefined && actionRedirectCount() !== redirectsBefore) {
34
+ lastSettled.current = initialRef.current.value;
35
+ setState(() => initialRef.current.value);
36
+ return;
37
+ }
38
+ lastSettled.current = next;
39
+ setState(() => next);
40
+ } finally {
41
+ setPending((count) => count - 1);
42
+ }
43
+ });
44
+ chain.current = chain.current.catch((error) => {
45
+ if (typeof window === "undefined")
46
+ return;
47
+ pendingError.current = { error };
48
+ forceRender((count) => count + 1);
49
+ });
50
+ }, [action]);
51
+ if (pendingError.current) {
52
+ const { error } = pendingError.current;
53
+ pendingError.current = null;
54
+ throw error;
55
+ }
56
+ tagFormStateDispatch(dispatch, action, state, _permalink);
57
+ return [state, dispatch, pending > 0];
58
+ }
59
+ function tagFormStateDispatch(dispatch, action, state, permalink) {
60
+ dispatch.$$pnextFormState = {
61
+ action,
62
+ state,
63
+ ...permalink !== undefined ? { permalink } : {}
64
+ };
65
+ }
66
+ function actionRedirectCount() {
67
+ return globalThis.__pnextActionRedirects ?? 0;
68
+ }
69
+ function consumeActionStateOverride() {
70
+ const holder = globalThis;
71
+ if (!("__PNEXT_ACTION_STATE__" in holder))
72
+ return;
73
+ const override = holder.__PNEXT_ACTION_STATE__;
74
+ if (override !== null && typeof override === "object" && "skip" in override && typeof override.skip === "number" && override.skip > 0) {
75
+ override.skip--;
76
+ return;
77
+ }
78
+ delete holder.__PNEXT_ACTION_STATE__;
79
+ return {
80
+ value: override !== null && typeof override === "object" && "value" in override ? override.value : override
81
+ };
82
+ }
83
+
84
+ export { useActionState, consumeActionStateOverride };
@@ -0,0 +1,56 @@
1
+ // @bun
2
+ // src/compat/next/telemetry.ts
3
+ var EVENT_CLI_SESSION_STARTED = "NEXT_CLI_SESSION_STARTED";
4
+ var EVENT_BUILD_FEATURE_USAGE = "NEXT_BUILD_FEATURE_USAGE";
5
+ var emitted = false;
6
+ var featureUsageEmitted = false;
7
+ function configuredStaleTimes(config) {
8
+ const experimental = config.experimental;
9
+ if (!experimental || typeof experimental !== "object")
10
+ return {};
11
+ const staleTimes = experimental.staleTimes;
12
+ if (!staleTimes || typeof staleTimes !== "object")
13
+ return {};
14
+ const value = staleTimes;
15
+ return {
16
+ ...typeof value.static === "number" ? { static: value.static } : {},
17
+ ...typeof value.dynamic === "number" ? { dynamic: value.dynamic } : {}
18
+ };
19
+ }
20
+ function emitSessionStartedTelemetry(config) {
21
+ if (emitted)
22
+ return;
23
+ if (!process.env.NEXT_TELEMETRY_DEBUG)
24
+ return;
25
+ emitted = true;
26
+ const staleTimes = configuredStaleTimes(config);
27
+ const event = {
28
+ eventName: EVENT_CLI_SESSION_STARTED,
29
+ payload: {
30
+ nodeVersion: process.version,
31
+ cliCommand: process.argv[2] ?? "unknown",
32
+ staticStaleTime: staleTimes.static ?? null,
33
+ dynamicStaleTime: staleTimes.dynamic ?? null
34
+ }
35
+ };
36
+ console.log(`[telemetry] ${JSON.stringify(event, null, 2)}`);
37
+ }
38
+ function emitBuildFeatureUsageTelemetry(config) {
39
+ if (featureUsageEmitted)
40
+ return;
41
+ if (!process.env.NEXT_TELEMETRY_DEBUG)
42
+ return;
43
+ if ((process.argv[2] ?? "") !== "build")
44
+ return;
45
+ featureUsageEmitted = true;
46
+ const experimental = config.experimental;
47
+ const esmExternals = experimental && typeof experimental === "object" ? experimental.esmExternals : undefined;
48
+ if (esmExternals !== undefined && esmExternals !== true) {
49
+ console.log(`[telemetry] ${JSON.stringify({
50
+ eventName: EVENT_BUILD_FEATURE_USAGE,
51
+ payload: { featureName: "esmExternals", invocationCount: 1 }
52
+ }, null, 2)}`);
53
+ }
54
+ }
55
+
56
+ export { emitSessionStartedTelemetry, emitBuildFeatureUsageTelemetry };