@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,588 @@
1
+ // @bun
2
+ import {
3
+ build
4
+ } from "./index-cjgqs13g.js";
5
+ import {
6
+ setConfig
7
+ } from "./index-jks0x0a1.js";
8
+ import {
9
+ emitBuildFeatureUsageTelemetry,
10
+ emitSessionStartedTelemetry
11
+ } from "./index-6b009mt0.js";
12
+ import {
13
+ PHASE_DEVELOPMENT_SERVER,
14
+ PHASE_PRODUCTION_BUILD
15
+ } from "./index-4zzebszd.js";
16
+ import {
17
+ collectImagesConfigErrors
18
+ } from "./index-sq3kvz3g.js";
19
+ import {
20
+ setSvgAsComponentEnabled,
21
+ webpackReferencesSvgr
22
+ } from "./index-ckkdpht5.js";
23
+ import {
24
+ setCacheComponents
25
+ } from "./index-kresp2n8.js";
26
+
27
+ // src/compat/next/config-loader.ts
28
+ import {
29
+ existsSync,
30
+ mkdirSync,
31
+ readFileSync,
32
+ readdirSync,
33
+ renameSync,
34
+ rmSync,
35
+ writeFileSync
36
+ } from "fs";
37
+ import { createRequire } from "module";
38
+ import path from "path";
39
+ import { pathToFileURL } from "url";
40
+
41
+ // src/compat/mdx/stub.ts
42
+ var NEXT_MDX_STUB_CONTENTS = `
43
+ const createMDX = (pluginOptions = {}) => (nextConfig = {}) => ({
44
+ ...nextConfig,
45
+ mdxOptions: (pluginOptions && pluginOptions.options) || {},
46
+ });
47
+ module.exports = createMDX;
48
+ module.exports.default = createMDX;
49
+ `;
50
+ function nextMdxConfigStubPlugin() {
51
+ return {
52
+ name: "pnext-next-mdx-config-stub",
53
+ setup(build2) {
54
+ build2.onResolve({ filter: /^@next\/mdx(?:\/|$)/ }, (args) => ({
55
+ path: args.path,
56
+ namespace: "pnext-next-mdx-stub"
57
+ }));
58
+ build2.onLoad({ filter: /.*/, namespace: "pnext-next-mdx-stub" }, () => ({
59
+ contents: NEXT_MDX_STUB_CONTENTS,
60
+ loader: "js"
61
+ }));
62
+ }
63
+ };
64
+ }
65
+
66
+ // src/compat/next/config-loader.ts
67
+ var CONFIG_BASENAMES = [
68
+ "next.config.ts",
69
+ "next.config.mts",
70
+ "next.config.cts",
71
+ "next.config.js",
72
+ "next.config.mjs",
73
+ "next.config.cjs"
74
+ ];
75
+ var store = {};
76
+ var storeReleased = false;
77
+ function nextConfigReleased() {
78
+ return storeReleased;
79
+ }
80
+ function getNextConfig() {
81
+ return store;
82
+ }
83
+ function readCacheComponentsFlag(config) {
84
+ if (process.env.__NEXT_CACHE_COMPONENTS === "true")
85
+ return true;
86
+ if (config.cacheComponents === true)
87
+ return true;
88
+ const experimental = config.experimental;
89
+ if (experimental?.cacheComponents === true)
90
+ return true;
91
+ if (experimental?.dynamicIO === true)
92
+ return true;
93
+ return false;
94
+ }
95
+ function setNextConfig(config) {
96
+ store = config;
97
+ setCacheComponents(readCacheComponentsFlag(config));
98
+ setSvgAsComponentEnabled(webpackReferencesSvgr(config));
99
+ globalThis.__PNEXT_BASE_PATH__ = typeof config.basePath === "string" ? config.basePath : "";
100
+ globalThis.__PNEXT_SKIP_TRAILING_SLASH__ = config.skipTrailingSlashRedirect === true;
101
+ globalThis.__PNEXT_TRAILING_SLASH__ = config.trailingSlash === true;
102
+ }
103
+ function findConfigPath(root) {
104
+ for (const name of CONFIG_BASENAMES) {
105
+ const candidate = path.join(root, name);
106
+ if (existsSync(candidate))
107
+ return candidate;
108
+ }
109
+ return;
110
+ }
111
+ var { Bun: bun } = globalThis;
112
+ function configSourceKey(configPath) {
113
+ try {
114
+ return bun.hash(readFileSync(configPath)).toString(36);
115
+ } catch {
116
+ return "config";
117
+ }
118
+ }
119
+ function findTsconfig(root) {
120
+ const candidate = path.join(root, "tsconfig.json");
121
+ return existsSync(candidate) ? candidate : undefined;
122
+ }
123
+ async function importConfigModule(configPath, root, options) {
124
+ const cjs = cjsConfigFormat(configPath, root);
125
+ if (process.env.PNEXT_CONFIG_FAST !== "0" && selfContainedConfig(configPath)) {
126
+ if (cjs)
127
+ return createRequire(pathToFileURL(configPath))(configPath);
128
+ const module = await import(pathToFileURL(configPath).href);
129
+ return module.default ?? {};
130
+ }
131
+ const outDir = path.join(root, ".pnext", ...options.dev ? ["dev"] : [], "config");
132
+ const outfile = path.join(outDir, `next.config.${configSourceKey(configPath)}.${cjs ? "cjs" : "mjs"}`);
133
+ if (options.serve && existsSync(outfile))
134
+ return importConfigBundle(outfile, cjs);
135
+ try {
136
+ mkdirSync(outDir, { recursive: true });
137
+ await bundleConfig({ configPath, root, outDir, outfile, cjs });
138
+ } catch (error) {
139
+ if (!options.serve)
140
+ throw error;
141
+ throw new Error(`pnext: ${path.relative(root, outfile)} is missing and could not be rebuilt here \u2014 run ` + "`pnext build` and deploy its output dir, which carries the config bundle. Cause: " + (error instanceof Error ? error.message : String(error)), { cause: error });
142
+ }
143
+ pruneStaleConfigBundles(outDir, outfile);
144
+ return importConfigBundle(outfile, cjs);
145
+ }
146
+ async function emitNextConfigBundle(root, outDir) {
147
+ const configPath = findConfigPath(root);
148
+ if (!configPath)
149
+ return;
150
+ const cjs = cjsConfigFormat(configPath, root);
151
+ const [file, ...handlerFiles] = await Promise.all([
152
+ hashedOutput(outDir, "next.config", cjs ? ".cjs" : ".mjs", (outfile) => bundleConfig({ configPath, root, outDir, outfile, cjs, relocatable: true })),
153
+ ...cacheHandlerFiles(store).map(([name, source]) => hashedOutput(outDir, name, ".cjs", (outfile) => build({
154
+ entryPoints: [source],
155
+ outfile,
156
+ bundle: true,
157
+ platform: "node",
158
+ format: "cjs",
159
+ target: "esnext",
160
+ packages: "external",
161
+ logLevel: "silent"
162
+ })).then((output) => [name, output]))
163
+ ]);
164
+ return { file, handlers: Object.fromEntries(handlerFiles) };
165
+ }
166
+ async function hashedOutput(outDir, name, ext, emit) {
167
+ const temporary = path.join(outDir, `${name}.${process.pid}.tmp${ext}`);
168
+ await emit(temporary);
169
+ const hash = bun.hash(readFileSync(temporary)).toString(36);
170
+ const outfile = path.join(outDir, `${name}.${hash}${ext}`);
171
+ renameSync(temporary, outfile);
172
+ return outfile;
173
+ }
174
+ function cacheHandlerFiles(config) {
175
+ const handlers = config.cacheHandlers;
176
+ return [
177
+ ["cache-handler", config.cacheHandler],
178
+ [
179
+ "cache-handler-default",
180
+ handlers && typeof handlers === "object" ? handlers.default : undefined
181
+ ]
182
+ ].filter((entry) => typeof entry[1] === "string" && path.isAbsolute(entry[1]) && existsSync(entry[1]));
183
+ }
184
+ function releasedCacheHandlers(config, handlers) {
185
+ const handler = handlers["cache-handler"];
186
+ const fallback = handlers["cache-handler-default"];
187
+ return {
188
+ ...config,
189
+ ...handler ? { cacheHandler: handler } : {},
190
+ ...fallback ? { cacheHandlers: { ...config.cacheHandlers, default: fallback } } : {}
191
+ };
192
+ }
193
+ var toPosix = (file) => file.split(path.sep).join("/");
194
+ function bundleConfig({
195
+ configPath,
196
+ root,
197
+ outDir,
198
+ outfile,
199
+ cjs,
200
+ relocatable = false
201
+ }) {
202
+ const configUrl = relocatable ? `new URL(${JSON.stringify(toPosix(path.relative(outDir, configPath)))}, ${cjs ? '__pnextNodeRequire("node:url").pathToFileURL(__filename)' : "import.meta.url"}).href` : JSON.stringify(pathToFileURL(configPath).href);
203
+ return build({
204
+ entryPoints: [configPath],
205
+ outfile,
206
+ bundle: true,
207
+ platform: "node",
208
+ format: cjs ? "cjs" : "esm",
209
+ target: "esnext",
210
+ packages: "external",
211
+ plugins: [nextDistStubPlugin(outDir), nextMdxConfigStubPlugin()],
212
+ banner: cjs ? {
213
+ js: `var __pnextNodeRequire = module.require.bind(module);
214
+ var __pnextConfigUrl = ${configUrl};
215
+ var __pnextConfigFile = __pnextNodeRequire("node:url").fileURLToPath(__pnextConfigUrl);
216
+ var __pnextConfigDir = __pnextNodeRequire("node:path").dirname(__pnextConfigFile);
217
+ var require = __pnextNodeRequire("node:module").createRequire(__pnextConfigUrl);`
218
+ } : {
219
+ js: `import { createRequire as __pnextCreateRequire } from "node:module";
220
+ import { fileURLToPath as __pnextFileURLToPath } from "node:url";
221
+ import { dirname as __pnextDirname } from "node:path";
222
+ const __pnextConfigUrl = ${configUrl};
223
+ const __pnextConfigFile = __pnextFileURLToPath(__pnextConfigUrl);
224
+ const __pnextConfigDir = __pnextDirname(__pnextConfigFile);
225
+ const require = __pnextCreateRequire(__pnextConfigUrl);`
226
+ },
227
+ tsconfig: findTsconfig(root),
228
+ define: {
229
+ __dirname: "__pnextConfigDir",
230
+ __filename: "__pnextConfigFile",
231
+ "import.meta.url": "__pnextConfigUrl"
232
+ },
233
+ logLevel: "silent",
234
+ sourcemap: false,
235
+ metafile: false
236
+ });
237
+ }
238
+ async function importConfigBundle(outfile, cjs) {
239
+ if (cjs)
240
+ return createRequire(pathToFileURL(outfile))(outfile);
241
+ const module = await import(pathToFileURL(outfile).href);
242
+ return module.default ?? {};
243
+ }
244
+ function pruneStaleConfigBundles(outDir, outfile) {
245
+ try {
246
+ for (const entry of readdirSync(outDir)) {
247
+ if (!/^next\.config\..+\.[cm]js$/.test(entry))
248
+ continue;
249
+ if (path.join(outDir, entry) === outfile)
250
+ continue;
251
+ rmSync(path.join(outDir, entry), { force: true });
252
+ }
253
+ } catch {}
254
+ }
255
+ function selfContainedConfig(configPath) {
256
+ try {
257
+ const source = readFileSync(configPath, "utf8").replaceAll("import.meta", "");
258
+ return !/\b(?:import|require|__dirname|__filename)\b/.test(source);
259
+ } catch {
260
+ return false;
261
+ }
262
+ }
263
+ function cjsConfigFormat(configPath, root) {
264
+ if (configPath.endsWith(".cjs") || configPath.endsWith(".cts"))
265
+ return true;
266
+ if (!configPath.endsWith(".js"))
267
+ return false;
268
+ try {
269
+ const pkg = JSON.parse(readFileSync(path.join(root, "package.json"), "utf8"));
270
+ return pkg.type !== "module";
271
+ } catch {
272
+ return true;
273
+ }
274
+ }
275
+ var NEXT_DIST_STUB_CONTENTS = `class PNextConfigStub {}
276
+ module.exports = new Proxy(PNextConfigStub, { get: (t, k) => (k === "default" ? PNextConfigStub : t[k] ?? PNextConfigStub) });
277
+ `;
278
+ function nextDistStubPlugin(outDir) {
279
+ return {
280
+ name: "pnext-next-dist-stub",
281
+ setup(build2) {
282
+ build2.onResolve({ filter: /^next\/dist\// }, (args) => {
283
+ if (args.kind === "require-resolve") {
284
+ const stubPath = path.join(outDir, "next-dist-stub", `${args.path}.cjs`);
285
+ mkdirSync(path.dirname(stubPath), { recursive: true });
286
+ writeFileSync(stubPath, NEXT_DIST_STUB_CONTENTS);
287
+ return { path: stubPath, external: true };
288
+ }
289
+ return { path: args.path, namespace: "pnext-next-dist-stub" };
290
+ });
291
+ build2.onLoad({ filter: /.*/, namespace: "pnext-next-dist-stub" }, () => ({
292
+ contents: NEXT_DIST_STUB_CONTENTS,
293
+ loader: "js"
294
+ }));
295
+ }
296
+ };
297
+ }
298
+ function currentPhase(dev) {
299
+ return dev ? PHASE_DEVELOPMENT_SERVER : PHASE_PRODUCTION_BUILD;
300
+ }
301
+ function isModuleNotFoundError(error) {
302
+ if (!error || typeof error !== "object")
303
+ return false;
304
+ const code = error.code;
305
+ if (code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND")
306
+ return true;
307
+ const message = error.message;
308
+ return typeof message === "string" && /Cannot find (?:module|package)/.test(message);
309
+ }
310
+ function describeMissingModule(error) {
311
+ const message = error.message;
312
+ const match = typeof message === "string" ? /Cannot find (?:module|package) ['"]([^'"]+)['"]/.exec(message) : null;
313
+ return match ? `${match[1]} not installed` : "a required module is not installed";
314
+ }
315
+ async function resolveConfigExport(exported, dev) {
316
+ const value = typeof exported === "function" ? await exported(currentPhase(dev), { defaultConfig: {} }) : await exported;
317
+ return value ?? {};
318
+ }
319
+ function mapOverrides(config) {
320
+ const overrides = {};
321
+ if (typeof config.basePath === "string")
322
+ overrides.basePath = config.basePath;
323
+ if (typeof config.assetPrefix === "string" && config.assetPrefix.length > 0) {
324
+ overrides.assetPrefix = config.assetPrefix;
325
+ }
326
+ if (typeof config.trailingSlash === "boolean")
327
+ overrides.trailingSlash = config.trailingSlash;
328
+ if (typeof config.skipTrailingSlashRedirect === "boolean")
329
+ overrides.skipTrailingSlashRedirect = config.skipTrailingSlashRedirect;
330
+ if (typeof config.productionBrowserSourceMaps === "boolean")
331
+ overrides.productionBrowserSourceMaps = config.productionBrowserSourceMaps;
332
+ if (typeof config.distDir === "string" && config.distDir.length > 0 && config.output !== "export") {
333
+ overrides.outDir = config.distDir;
334
+ }
335
+ return overrides;
336
+ }
337
+ function normalizeCacheHandlerPath(config, root) {
338
+ const value = config.cacheHandler;
339
+ const cacheHandlers = config.cacheHandlers;
340
+ let next = config;
341
+ if (typeof value === "string" && isRelativePathSpecifier(value)) {
342
+ next = { ...next, cacheHandler: path.resolve(root, value) };
343
+ }
344
+ if (cacheHandlers && typeof cacheHandlers === "object" && !Array.isArray(cacheHandlers)) {
345
+ const normalized = {};
346
+ let changed = false;
347
+ for (const [key, handlerPath] of Object.entries(cacheHandlers)) {
348
+ if (typeof handlerPath === "string" && isRelativePathSpecifier(handlerPath)) {
349
+ normalized[key] = path.resolve(root, handlerPath);
350
+ changed = true;
351
+ } else {
352
+ normalized[key] = handlerPath;
353
+ }
354
+ }
355
+ if (changed)
356
+ next = { ...next, cacheHandlers: normalized };
357
+ }
358
+ return next;
359
+ }
360
+ function isRelativePathSpecifier(value) {
361
+ return value === "." || value === ".." || value.startsWith("./") || value.startsWith("../");
362
+ }
363
+ function applyEnv(config) {
364
+ const env = config.env;
365
+ if (!env || typeof env !== "object")
366
+ return;
367
+ for (const [key, value] of Object.entries(env)) {
368
+ if (value === undefined || value === null)
369
+ continue;
370
+ if (process.env[key] !== undefined)
371
+ continue;
372
+ process.env[key] = typeof value === "string" ? value : JSON.stringify(value) ?? "";
373
+ }
374
+ }
375
+ function applyRuntimeConfig(config) {
376
+ const serverRuntimeConfig = config.serverRuntimeConfig;
377
+ const publicRuntimeConfig = config.publicRuntimeConfig;
378
+ if (!serverRuntimeConfig && !publicRuntimeConfig)
379
+ return;
380
+ setConfig({
381
+ ...serverRuntimeConfig && typeof serverRuntimeConfig === "object" ? { serverRuntimeConfig } : {},
382
+ ...publicRuntimeConfig && typeof publicRuntimeConfig === "object" ? { publicRuntimeConfig } : {}
383
+ });
384
+ }
385
+ var VALID_DEV_INDICATOR_POSITIONS = new Set([
386
+ "top-left",
387
+ "top-right",
388
+ "bottom-left",
389
+ "bottom-right"
390
+ ]);
391
+ var KNOWN_TOP_LEVEL_CONFIG_KEYS = new Set([
392
+ "adapterPath",
393
+ "agentRules",
394
+ "allowedDevOrigins",
395
+ "assetPrefix",
396
+ "basePath",
397
+ "bundlePagesRouterDependencies",
398
+ "cacheComponents",
399
+ "cacheHandler",
400
+ "cacheHandlers",
401
+ "cacheLife",
402
+ "cacheMaxMemorySize",
403
+ "cleanDistDir",
404
+ "compiler",
405
+ "compress",
406
+ "configFile",
407
+ "configFileName",
408
+ "configOrigin",
409
+ "crossOrigin",
410
+ "deploymentId",
411
+ "devIndicators",
412
+ "distDir",
413
+ "enablePrerenderSourceMaps",
414
+ "env",
415
+ "excludeDefaultMomentLocales",
416
+ "expireTime",
417
+ "experimental",
418
+ "exportPathMap",
419
+ "generateBuildId",
420
+ "generateEtags",
421
+ "headers",
422
+ "htmlLimitedBots",
423
+ "httpAgentOptions",
424
+ "images",
425
+ "logging",
426
+ "modularizeImports",
427
+ "onDemandEntries",
428
+ "output",
429
+ "outputFileTracingExcludes",
430
+ "outputFileTracingIncludes",
431
+ "outputFileTracingRoot",
432
+ "pageExtensions",
433
+ "partialPrefetching",
434
+ "poweredByHeader",
435
+ "productionBrowserSourceMaps",
436
+ "publicRuntimeConfig",
437
+ "reactCompiler",
438
+ "reactMaxHeadersLength",
439
+ "reactProductionProfiling",
440
+ "reactStrictMode",
441
+ "resolveExtensions",
442
+ "redirects",
443
+ "rewrites",
444
+ "sassOptions",
445
+ "serverExternalPackages",
446
+ "serverRuntimeConfig",
447
+ "skipProxyUrlNormalize",
448
+ "skipTrailingSlashRedirect",
449
+ "staticPageGenerationTimeout",
450
+ "i18n",
451
+ "instrumentationClientInject",
452
+ "trailingSlash",
453
+ "skipMiddlewareUrlNormalize",
454
+ "transpilePackages",
455
+ "turbopack",
456
+ "typedRoutes",
457
+ "typescript",
458
+ "useFileSystemPublicRoutes",
459
+ "watchOptions",
460
+ "webpack"
461
+ ]);
462
+ var DEPRECATED_CONFIG_OPTIONS = [
463
+ {
464
+ key: "experimental.middlewarePrefetch",
465
+ reason: (file) => `\`experimental.middlewarePrefetch\` is deprecated. Please use \`experimental.proxyPrefetch\` instead in ${file}.`
466
+ },
467
+ {
468
+ key: "experimental.middlewareClientMaxBodySize",
469
+ reason: (file) => `\`experimental.middlewareClientMaxBodySize\` is deprecated. Please use \`experimental.proxyClientMaxBodySize\` instead in ${file}.`
470
+ },
471
+ {
472
+ key: "experimental.externalMiddlewareRewritesResolve",
473
+ reason: (file) => `\`experimental.externalMiddlewareRewritesResolve\` is deprecated. Please use \`experimental.externalProxyRewritesResolve\` instead in ${file}.`
474
+ },
475
+ {
476
+ key: "skipMiddlewareUrlNormalize",
477
+ reason: (file) => `\`skipMiddlewareUrlNormalize\` is deprecated. Please use \`skipProxyUrlNormalize\` instead in ${file}.`
478
+ },
479
+ {
480
+ key: "experimental.instrumentationHook",
481
+ reason: (file) => `\`experimental.instrumentationHook\` is no longer needed, because \`instrumentation.js\` is available by default. You can remove it from ${file}.`
482
+ }
483
+ ];
484
+ var warnedConfigPaths = new Set;
485
+ function validateConfig(config, configPath, emitWarnings) {
486
+ if (emitWarnings && !warnedConfigPaths.has(configPath)) {
487
+ warnedConfigPaths.add(configPath);
488
+ const configFileName = path.basename(configPath);
489
+ warnUnknownConfigKeys(config);
490
+ warnEsmExternalsFalse(config);
491
+ warnDeprecatedConfigOptions(config, configFileName);
492
+ warnWebpackCompat(config, configFileName);
493
+ }
494
+ validateDevIndicatorPosition(config);
495
+ const imageErrors = collectImagesConfigErrors(config, path.dirname(configPath));
496
+ if (imageErrors.length > 0) {
497
+ throw new Error(`Invalid next.config.js options detected:
498
+ ${imageErrors.map((e) => ` ${e}`).join(`
499
+ `)}
500
+ See more info here: https://nextjs.org/docs/messages/invalid-next-config`);
501
+ }
502
+ }
503
+ function hasNestedKey(config, dottedKey) {
504
+ let current = config;
505
+ for (const key of dottedKey.split(".")) {
506
+ if (!current || typeof current !== "object")
507
+ return false;
508
+ current = current[key];
509
+ if (current === undefined)
510
+ return false;
511
+ }
512
+ return true;
513
+ }
514
+ function warnDeprecatedConfigOptions(config, configFileName) {
515
+ for (const { key, reason } of DEPRECATED_CONFIG_OPTIONS) {
516
+ if (hasNestedKey(config, key))
517
+ console.warn(reason(configFileName));
518
+ }
519
+ }
520
+ function warnUnknownConfigKeys(config) {
521
+ const invalid = Object.keys(config).filter((key) => !KNOWN_TOP_LEVEL_CONFIG_KEYS.has(key));
522
+ if (invalid.length === 0)
523
+ return;
524
+ console.warn(`Invalid next.config.js options detected: ${invalid.map((key) => `"${key}"`).join(", ")}`);
525
+ }
526
+ function warnWebpackCompat(config, configFileName) {
527
+ if (typeof config.webpack !== "function")
528
+ return;
529
+ console.warn(`\`webpack\` in ${configFileName} is not executed by pnext \u2014 esbuild is the only bundler. ` + "`transpilePackages`, `experimental.optimizePackageImports`, and `turbopack.resolveAlias` are supported natively; see https://pnext.dev/docs/compat.");
530
+ if (webpackReferencesSvgr(config)) {
531
+ console.info("pnext detected @svgr/webpack in `webpack()` and will compile `.svg` imports to inline Preact components instead (see https://pnext.dev/docs/compat).");
532
+ }
533
+ }
534
+ function warnEsmExternalsFalse(config) {
535
+ const experimental = config.experimental;
536
+ if (!experimental || typeof experimental !== "object")
537
+ return;
538
+ if (experimental.esmExternals !== false)
539
+ return;
540
+ console.warn('The "experimental.esmExternals" option has been modified. experimental.esmExternals is not recommended to be modified as it may disrupt module resolution. It should be removed from your next.config.js');
541
+ }
542
+ function validateDevIndicatorPosition(config) {
543
+ const devIndicators = config.devIndicators;
544
+ if (!devIndicators || typeof devIndicators !== "object")
545
+ return;
546
+ const position = devIndicators.position;
547
+ if (typeof position !== "string" || VALID_DEV_INDICATOR_POSITIONS.has(position))
548
+ return;
549
+ throw new Error(`Invalid "devIndicator.position" provided, expected one of top-left, top-right, bottom-left, bottom-right, received ${position}`);
550
+ }
551
+ async function loadNextConfig(root, options = {}) {
552
+ storeReleased = options.bundle !== undefined;
553
+ const configPath = options.bundle === undefined ? findConfigPath(root) : options.bundle;
554
+ if (!configPath) {
555
+ setNextConfig({});
556
+ emitSessionStartedTelemetry({});
557
+ return { config: {}, overrides: {} };
558
+ }
559
+ if (options.bundle && !existsSync(options.bundle)) {
560
+ throw new Error(`pnext: the build's compiled next.config (${options.bundle}) is missing. Run 'pnext build' again.`);
561
+ }
562
+ let exported;
563
+ try {
564
+ exported = options.bundle ? await importConfigBundle(options.bundle, options.bundle.endsWith(".cjs")) : await importConfigModule(configPath, root, {
565
+ dev: Boolean(options.dev),
566
+ serve: Boolean(options.serve)
567
+ });
568
+ } catch (error) {
569
+ if (isModuleNotFoundError(error)) {
570
+ console.warn(`pnext: could not load ${path.relative(root, configPath)} (${describeMissingModule(error)}); continuing with default config`);
571
+ setNextConfig({});
572
+ emitSessionStartedTelemetry({});
573
+ return { config: {}, overrides: {} };
574
+ }
575
+ throw error;
576
+ }
577
+ const resolved = normalizeCacheHandlerPath(await resolveConfigExport(exported, Boolean(options.dev)), root);
578
+ const config = options.bundle ? releasedCacheHandlers(resolved, options.handlers ?? {}) : resolved;
579
+ validateConfig(config, configPath, options.warnings !== false);
580
+ setNextConfig(config);
581
+ applyEnv(config);
582
+ applyRuntimeConfig(config);
583
+ emitSessionStartedTelemetry(config);
584
+ emitBuildFeatureUsageTelemetry(config);
585
+ return { config, overrides: mapOverrides(config) };
586
+ }
587
+
588
+ export { nextConfigReleased, getNextConfig, setNextConfig, emitNextConfigBundle, loadNextConfig };
@@ -0,0 +1,15 @@
1
+ // @bun
2
+ // src/compat/actions/unrecognized-error.ts
3
+ class UnrecognizedActionError extends Error {
4
+ constructor(...args) {
5
+ super(...args);
6
+ this.name = "UnrecognizedActionError";
7
+ }
8
+ }
9
+ function isUnrecognizedActionError(error) {
10
+ if (error instanceof UnrecognizedActionError)
11
+ return true;
12
+ return error instanceof Error && (error.name === "UnrecognizedActionError" || / was not found on the server\.?$/.test(error.message));
13
+ }
14
+
15
+ export { isUnrecognizedActionError };
@@ -0,0 +1,11 @@
1
+ // @bun
2
+ // src/utils/ansi.ts
3
+ function color(open, close) {
4
+ return (value) => process.stdout.isTTY && !process.env.NO_COLOR ? `${open}${value}${close}` : value;
5
+ }
6
+ var dim = color("\x1B[38;5;244m", "\x1B[39m");
7
+ var bold = color("\x1B[1m", "\x1B[22m");
8
+ var cyan = color("\x1B[36m", "\x1B[39m");
9
+ var green = color("\x1B[32m", "\x1B[39m");
10
+
11
+ export { dim, bold, cyan, green };