@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,22 @@
1
+ // @bun
2
+ import {
3
+ compileMdx,
4
+ mdxOptionsFromConfig,
5
+ resolveMdxComponents
6
+ } from "./index-qm6kmhqs.js";
7
+ import"./index-6e4fqv30.js";
8
+ import"./index-cjgqs13g.js";
9
+ import"./index-jks0x0a1.js";
10
+ import"./index-6b009mt0.js";
11
+ import"./index-4zzebszd.js";
12
+ import"./index-sq3kvz3g.js";
13
+ import"./index-ckkdpht5.js";
14
+ import"./index-kresp2n8.js";
15
+ import"./index-e3a6yx84.js";
16
+ import"./index-7wc9n8be.js";
17
+ import"./index-rt9qq1va.js";
18
+ export {
19
+ compileMdx,
20
+ mdxOptionsFromConfig,
21
+ resolveMdxComponents
22
+ };
@@ -0,0 +1,27 @@
1
+ // @bun
2
+ import {
3
+ DEFAULT_OUT_DIR,
4
+ devOutSegment,
5
+ frameworkRuntimeAliasEntries,
6
+ loadConfig,
7
+ pathToFileHref,
8
+ pnextAliases,
9
+ publicEnvDefines,
10
+ registerConfigSource
11
+ } from "./index-x93hv0sc.js";
12
+ import"./index-tqn2qnnn.js";
13
+ import"./index-grta8ap3.js";
14
+ import"./index-kresp2n8.js";
15
+ import"./index-e3a6yx84.js";
16
+ import"./index-pym1cezq.js";
17
+ import"./index-rt9qq1va.js";
18
+ export {
19
+ DEFAULT_OUT_DIR,
20
+ devOutSegment,
21
+ frameworkRuntimeAliasEntries,
22
+ loadConfig,
23
+ pathToFileHref,
24
+ pnextAliases,
25
+ publicEnvDefines,
26
+ registerConfigSource
27
+ };
@@ -0,0 +1,22 @@
1
+ // @bun
2
+ import {
3
+ registerConfigSource
4
+ } from "./index-ncnes8c6.js";
5
+ import"./index-6e4fqv30.js";
6
+ import"./index-cjgqs13g.js";
7
+ import"./index-jks0x0a1.js";
8
+ import"./index-6b009mt0.js";
9
+ import"./index-4zzebszd.js";
10
+ import"./index-sq3kvz3g.js";
11
+ import"./index-ckkdpht5.js";
12
+ import"./index-x93hv0sc.js";
13
+ import"./index-tqn2qnnn.js";
14
+ import"./index-grta8ap3.js";
15
+ import"./index-kresp2n8.js";
16
+ import"./index-e3a6yx84.js";
17
+ import"./index-7wc9n8be.js";
18
+ import"./index-pym1cezq.js";
19
+ import"./index-rt9qq1va.js";
20
+ export {
21
+ registerConfigSource
22
+ };
@@ -0,0 +1,134 @@
1
+ // @bun
2
+ import { join as __pnextJoin } from "node:path";
3
+ const __PNEXT_PACKAGE_ROOT__ = __pnextJoin(import.meta.dirname, "../../..");
4
+ import {
5
+ latestPnextVersionRange
6
+ } from "./index-jx7bqvw1.js";
7
+ import {
8
+ formatDuration
9
+ } from "./index-73z4esab.js";
10
+ import"./index-20ppawv7.js";
11
+ import"./index-tqn2qnnn.js";
12
+ import {
13
+ bold,
14
+ cyan,
15
+ dim,
16
+ green
17
+ } from "./index-6kp9r0d9.js";
18
+ import"./index-rt9qq1va.js";
19
+
20
+ // src/cli/create.ts
21
+ import { existsSync } from "fs";
22
+ import { mkdir, readdir } from "fs/promises";
23
+ import path from "path";
24
+ async function createApp(dir, options) {
25
+ if (!dir) {
26
+ console.log("Usage: pnext create <directory> [--no-install]");
27
+ throw new Error("pnext create requires a directory argument");
28
+ }
29
+ const target = path.resolve(dir);
30
+ if (existsSync(target)) {
31
+ if ((await readdir(target)).length > 0) {
32
+ throw new Error(`Directory already exists and is not empty: ${target}`);
33
+ }
34
+ } else {
35
+ await mkdir(target, { recursive: true });
36
+ }
37
+ const name = sanitizePackageName(path.basename(target));
38
+ console.log(`\u26A1 ${bold("pnext create")} ${dim(`\u2014 scaffolding ${name}`)}
39
+ `);
40
+ const files = await scaffoldFiles(name, await latestPnextVersionRange("create"));
41
+ await Promise.all(Object.entries(files).map(([file, source]) => Bun.write(path.join(target, file), source)));
42
+ for (const file of Object.keys(files).sort())
43
+ console.log(` ${green("+")} ${dim(file)}`);
44
+ let installed = false;
45
+ if (options.install) {
46
+ console.log("");
47
+ installed = await install(target, dir);
48
+ }
49
+ printNextSteps(dir, installed);
50
+ }
51
+ function sanitizePackageName(raw) {
52
+ const name = raw.trim().toLowerCase().replace(/[^a-z0-9._-]+/g, "-").replace(/^[-._]+|[-._]+$/g, "");
53
+ return name || "pnext-app";
54
+ }
55
+ async function install(target, dir) {
56
+ const stop = spinner("Installing dependencies...");
57
+ const start = Bun.nanoseconds();
58
+ const proc = Bun.spawn(["bun", "install"], { cwd: target, stdout: "pipe", stderr: "pipe" });
59
+ const [stderr, , code] = await Promise.all([
60
+ new Response(proc.stderr).text(),
61
+ new Response(proc.stdout).text(),
62
+ proc.exited
63
+ ]);
64
+ stop();
65
+ if (code === 0) {
66
+ const durationMs = (Bun.nanoseconds() - start) / 1e6;
67
+ console.log(`${green("\u2713")} ${bold("Installed dependencies")} ${dim(`in ${formatDuration(durationMs)}`)}`);
68
+ return true;
69
+ }
70
+ console.log(`${dim("Install failed. Run it manually:")}`);
71
+ console.log(` ${cyan("cd")} ${dir}`);
72
+ console.log(` ${cyan("bun install")}`);
73
+ if (stderr.trim())
74
+ console.log(dim(stderr.trim()));
75
+ return false;
76
+ }
77
+ function spinner(label) {
78
+ if (!process.stdout.isTTY) {
79
+ console.log(label);
80
+ return () => {
81
+ return;
82
+ };
83
+ }
84
+ const frames = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
85
+ let frame = 0;
86
+ process.stdout.write(`${cyan(frames[0])} ${label}`);
87
+ const timer = setInterval(() => {
88
+ frame = (frame + 1) % frames.length;
89
+ process.stdout.write(`\r${cyan(frames[frame])} ${label}`);
90
+ }, 80);
91
+ return () => {
92
+ clearInterval(timer);
93
+ process.stdout.write("\r\x1B[K");
94
+ };
95
+ }
96
+ function printNextSteps(dir, installed) {
97
+ const commands = installed ? [`cd ${dir}`, "bun dev"] : [`cd ${dir}`, "bun install", "bun dev"];
98
+ const title = "Next steps";
99
+ const width = Math.max(title.length, ...commands.map((c) => c.length)) + 2;
100
+ const row = (text, colorFn = (s) => s) => `${dim("\u2502")} ${colorFn(text.padEnd(width))} ${dim("\u2502")}`;
101
+ console.log("");
102
+ console.log(dim(`\u250C${"\u2500".repeat(width + 2)}\u2510`));
103
+ console.log(row(title, bold));
104
+ console.log(row(""));
105
+ for (const cmd of commands)
106
+ console.log(row(cmd, cyan));
107
+ console.log(dim(`\u2514${"\u2500".repeat(width + 2)}\u2518`));
108
+ }
109
+ var TEMPLATE_DIR = path.join(__PNEXT_PACKAGE_ROOT__ + "/src/cli", "template");
110
+ var PLACEHOLDER_NAME = "pnext-app";
111
+ async function scaffoldFiles(name, pnextRange) {
112
+ const files = {};
113
+ for (const entry of await readdir(TEMPLATE_DIR, { recursive: true, withFileTypes: true })) {
114
+ if (!entry.isFile())
115
+ continue;
116
+ const rel = path.relative(TEMPLATE_DIR, path.join(entry.parentPath, entry.name));
117
+ const source = await Bun.file(path.join(TEMPLATE_DIR, rel)).text();
118
+ if (rel === "gitignore") {
119
+ files[".gitignore"] = source;
120
+ } else if (rel === "package.json") {
121
+ const pkg = JSON.parse(source);
122
+ pkg.name = name;
123
+ pkg.devDependencies["@wular/pnext"] = pnextRange;
124
+ files[rel] = `${JSON.stringify(pkg, null, 2)}
125
+ `;
126
+ } else {
127
+ files[rel] = source.replaceAll(PLACEHOLDER_NAME, name);
128
+ }
129
+ }
130
+ return files;
131
+ }
132
+ export {
133
+ createApp
134
+ };
@@ -0,0 +1,220 @@
1
+ // @bun
2
+ import {
3
+ moduleGenerationStats
4
+ } from "./index-x3yn4ywm.js";
5
+ import {
6
+ markBoot,
7
+ printBootTrace
8
+ } from "./index-tq1f96v7.js";
9
+ import"./index-vz0km5qk.js";
10
+ import {
11
+ browserHost,
12
+ ensurePortFree,
13
+ openBrowser,
14
+ printServerReady
15
+ } from "./index-q738kkhj.js";
16
+ import {
17
+ dim
18
+ } from "./index-6kp9r0d9.js";
19
+ import {
20
+ __require
21
+ } from "./index-rt9qq1va.js";
22
+
23
+ // src/cli/dev.ts
24
+ import { createRequire } from "module";
25
+ import path from "path";
26
+ var devProcessTitle = "pnext-dev";
27
+ var devRestartEnv = "PNEXT_DEV_RESTART";
28
+ var defaultMaxDevRssMb = 2048;
29
+ var defaultMaxEsbuildRssMb = 1024;
30
+ var defaultMaxStaleModules = 150;
31
+ var drainTimeoutMs = 5000;
32
+ function nameDevProcess() {
33
+ process.title = devProcessTitle;
34
+ }
35
+ async function dev(options = {}) {
36
+ nameDevProcess();
37
+ const [{ loadConfig }, { startDevServer }] = await Promise.all([
38
+ import("./config-1yzwexq6.js"),
39
+ import("./server-mt4a994c.js")
40
+ ]);
41
+ markBoot("dev:imports");
42
+ const config = await loadConfig(options.root, { dev: true });
43
+ markBoot("dev:config");
44
+ warnDuplicateSass(config.root, Boolean(config.compat?.next));
45
+ const port = options.port ?? 3000;
46
+ const hostname = options.hostname ?? "0.0.0.0";
47
+ await ensurePortFree(port, hostname, { attempts: 10 });
48
+ markBoot("dev:port");
49
+ const start = Date.now();
50
+ const warm = process.env.PNEXT_DEV_WARM !== "0";
51
+ const server = await startDevServer({ config, port, hostname, warm });
52
+ markBoot("dev:server");
53
+ const elapsedMs = Date.now() - start;
54
+ const url = `http://${browserHost(hostname)}:${server.port ?? port}`;
55
+ printServerReady({ mode: "dev", hostname, port: server.port ?? port, elapsedMs });
56
+ printBootTrace();
57
+ if (process.env.PNEXT_DEV_ESBUILD_WARM !== "0") {
58
+ import("./esbuild-yyktfrtt.js").then((module) => module.warmEsbuildService());
59
+ }
60
+ registerShutdown(server);
61
+ watchServerMemory(server);
62
+ watchStaleModules(server);
63
+ watchEsbuildMemory();
64
+ if (server.warmup)
65
+ console.log(dim("Warming up and opening the browser..."));
66
+ await server.warmup;
67
+ if (process.env[devRestartEnv] !== "1")
68
+ openBrowser(url);
69
+ return server;
70
+ }
71
+ function warnDuplicateSass(root, nextCompat) {
72
+ if (!nextCompat)
73
+ return;
74
+ const appRequire = createRequire(path.join(root, "package.json"));
75
+ const installed = (name) => {
76
+ try {
77
+ appRequire.resolve(name);
78
+ return true;
79
+ } catch {
80
+ return false;
81
+ }
82
+ };
83
+ if (!installed("sass") || !installed("node-sass"))
84
+ return;
85
+ console.warn("Your project has both `sass` and `node-sass` installed as dependencies, but should only use one or the other. Please remove the `node-sass` dependency from your project. Read more: https://nextjs.org/docs/messages/duplicate-sass");
86
+ }
87
+ function watchServerMemory(server) {
88
+ const limitMb = Number(process.env.PNEXT_DEV_MAX_RSS_MB || defaultMaxDevRssMb);
89
+ if (!Number.isFinite(limitMb) || limitMb <= 0)
90
+ return;
91
+ const limitBytes = limitMb * 1024 * 1024;
92
+ const timer = setInterval(() => {
93
+ const rss = typeof process.memoryUsage.rss === "function" ? process.memoryUsage.rss() : process.memoryUsage().rss;
94
+ if (rss < limitBytes)
95
+ return;
96
+ clearInterval(timer);
97
+ const usedMb = Math.round(rss / 1048576);
98
+ console.log(dim(`Dev server reached ${usedMb}MB of memory (limit ${limitMb}MB, set PNEXT_DEV_MAX_RSS_MB to change); restarting to release stale modules...`));
99
+ restartDevProcess(server);
100
+ }, 15000);
101
+ timer.unref();
102
+ }
103
+ function watchEsbuildMemory() {
104
+ if (process.platform === "win32")
105
+ return;
106
+ const limitMb = Number(process.env.PNEXT_DEV_MAX_ESBUILD_RSS_MB || defaultMaxEsbuildRssMb);
107
+ if (!Number.isFinite(limitMb) || limitMb <= 0)
108
+ return;
109
+ let highTicks = 0;
110
+ const timer = setInterval(() => {
111
+ const rssMb = esbuildServiceRssMb();
112
+ highTicks = rssMb > limitMb ? highTicks + 1 : 0;
113
+ if (highTicks < 2)
114
+ return;
115
+ highTicks = 0;
116
+ console.log(dim(`esbuild reached ${Math.round(rssMb)}MB of memory (limit ${limitMb}MB, set PNEXT_DEV_MAX_ESBUILD_RSS_MB to change); restarting it to release the heap...`));
117
+ (async () => {
118
+ const { stopEsbuildService } = await import("./esbuild-yyktfrtt.js");
119
+ stopEsbuildService();
120
+ })();
121
+ }, 15000);
122
+ timer.unref();
123
+ }
124
+ function watchStaleModules(server) {
125
+ const limit = Number(process.env.PNEXT_DEV_MAX_STALE_MODULES || defaultMaxStaleModules);
126
+ if (!Number.isFinite(limit) || limit <= 0)
127
+ return;
128
+ const timer = setInterval(() => {
129
+ const { stale } = moduleGenerationStats();
130
+ if (stale < limit)
131
+ return;
132
+ clearInterval(timer);
133
+ console.log(dim(`Dev server is holding ${stale} superseded module generations (limit ${limit}, set PNEXT_DEV_MAX_STALE_MODULES to change); restarting to release them...`));
134
+ restartDevProcess(server);
135
+ }, 15000);
136
+ timer.unref();
137
+ }
138
+ function esbuildServices() {
139
+ const found = [];
140
+ try {
141
+ const stdout = Bun.spawnSync(["ps", "-ax", "-o", "pid=,ppid=,rss=,ucomm="]).stdout.toString();
142
+ for (const line of stdout.split(`
143
+ `)) {
144
+ const [pid, ppid, rss, ...name] = line.trim().split(/\s+/);
145
+ if (Number(ppid) === process.pid && name.join(" ").includes("esbuild")) {
146
+ found.push([Number(pid), Number(rss) / 1024]);
147
+ }
148
+ }
149
+ } catch {}
150
+ return found;
151
+ }
152
+ function esbuildServiceRssMb() {
153
+ return esbuildServices().reduce((total, [, rssMb]) => total + rssMb, 0);
154
+ }
155
+ async function restartDevProcess(server) {
156
+ try {
157
+ server.stop(false);
158
+ await server.drain?.(drainTimeoutMs);
159
+ server.stop(true);
160
+ } catch {}
161
+ for (const [pid] of esbuildServices()) {
162
+ try {
163
+ process.kill(pid, "SIGTERM");
164
+ } catch {}
165
+ }
166
+ const argv = [process.execPath, "--conditions=react-server", ...process.argv.slice(1)];
167
+ const env = { ...process.env, [devRestartEnv]: "1" };
168
+ try {
169
+ await execSelf(argv, env);
170
+ } catch {}
171
+ Bun.spawn(argv, { stdin: "inherit", stdout: "inherit", stderr: "inherit", env });
172
+ process.exit(0);
173
+ }
174
+ async function execSelf(argv, env) {
175
+ if (process.platform === "win32")
176
+ return;
177
+ const { dlopen, FFIType, ptr, suffix } = await import("bun:ffi");
178
+ const libc = process.platform === "darwin" ? "/usr/lib/libSystem.B.dylib" : `libc.${suffix}.6`;
179
+ const { symbols } = dlopen(libc, {
180
+ execve: {
181
+ args: [FFIType.cstring, FFIType.ptr, FFIType.ptr],
182
+ returns: FFIType.i32
183
+ }
184
+ });
185
+ const encoder = new TextEncoder;
186
+ const cString = (value) => encoder.encode(`${value}\x00`);
187
+ const cArray = (values) => {
188
+ const cells = values.map(cString);
189
+ const array = new BigInt64Array(cells.length + 1);
190
+ cells.forEach((cell, index) => {
191
+ array[index] = BigInt(ptr(cell));
192
+ });
193
+ return { array, cells };
194
+ };
195
+ const args = cArray(argv);
196
+ const envp = cArray(Object.entries(env).filter(([, value]) => value !== undefined).map(([key, value]) => `${key}=${value}`));
197
+ symbols.execve(cString(argv[0]), ptr(args.array), ptr(envp.array));
198
+ args.cells, envp.cells;
199
+ }
200
+ function registerShutdown(server) {
201
+ let closing = false;
202
+ const shutdown = () => {
203
+ if (closing)
204
+ return;
205
+ closing = true;
206
+ try {
207
+ server.stop(true);
208
+ } catch {}
209
+ process.exit(0);
210
+ };
211
+ for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"]) {
212
+ process.once(signal, shutdown);
213
+ }
214
+ }
215
+ export {
216
+ dev,
217
+ devProcessTitle,
218
+ devRestartEnv,
219
+ nameDevProcess
220
+ };
@@ -0,0 +1,15 @@
1
+ // @bun
2
+ import {
3
+ build,
4
+ stopEsbuildService,
5
+ transform,
6
+ warmEsbuildService
7
+ } from "./index-cjgqs13g.js";
8
+ import"./index-7wc9n8be.js";
9
+ import"./index-rt9qq1va.js";
10
+ export {
11
+ build,
12
+ stopEsbuildService,
13
+ transform,
14
+ warmEsbuildService
15
+ };
@@ -0,0 +1,21 @@
1
+ // @bun
2
+ import {
3
+ generateTypedRoutes
4
+ } from "./index-4hgjrqh7.js";
5
+ import"./index-v1ags1na.js";
6
+ import"./index-6e4fqv30.js";
7
+ import"./index-cjgqs13g.js";
8
+ import"./index-jks0x0a1.js";
9
+ import"./index-6b009mt0.js";
10
+ import"./index-4zzebszd.js";
11
+ import"./index-sq3kvz3g.js";
12
+ import"./index-ckkdpht5.js";
13
+ import"./index-20ppawv7.js";
14
+ import"./index-tqn2qnnn.js";
15
+ import"./index-kresp2n8.js";
16
+ import"./index-e3a6yx84.js";
17
+ import"./index-7wc9n8be.js";
18
+ import"./index-rt9qq1va.js";
19
+ export {
20
+ generateTypedRoutes
21
+ };
@@ -0,0 +1,66 @@
1
+ // @bun
2
+ import {
3
+ currentRenderCacheMeta
4
+ } from "./index-9n2914ww.js";
5
+ import {
6
+ legacyRequestAPIs
7
+ } from "./index-grta8ap3.js";
8
+
9
+ // src/compat/next/legacy-request-apis.ts
10
+ var PROMISE_PROPS = new Set(["then", "catch", "finally", "constructor"]);
11
+ var warned = new Set;
12
+ function withSyncAccess(promise, api, produce) {
13
+ let value;
14
+ const resolve = () => value ??= produce();
15
+ return new Proxy(promise, {
16
+ get(target, prop) {
17
+ if (PROMISE_PROPS.has(prop) || prop === Symbol.toStringTag) {
18
+ const own = Reflect.get(target, prop, target);
19
+ return typeof own === "function" ? own.bind(target) : own;
20
+ }
21
+ warnSyncApiAccess(api, prop);
22
+ const source = resolve();
23
+ const read = Reflect.get(source, prop, source);
24
+ return typeof read === "function" ? read.bind(source) : read;
25
+ }
26
+ });
27
+ }
28
+ function withSyncProps(promise, kind, value) {
29
+ if (!legacyRequestAPIs())
30
+ return promise;
31
+ for (const key of Object.keys(value)) {
32
+ if (key in promise)
33
+ continue;
34
+ Object.defineProperty(promise, key, {
35
+ get() {
36
+ warnSyncPropAccess(kind, key);
37
+ return value[key];
38
+ },
39
+ enumerable: true,
40
+ configurable: true
41
+ });
42
+ }
43
+ return promise;
44
+ }
45
+ function warnSyncApiAccess(api, prop) {
46
+ const expression = prop === Symbol.iterator ? `\`...${api}()\` or similar iteration` : `\`${api}().${String(prop)}\``;
47
+ warnSyncAccess(expression, `${api}()`, "value");
48
+ }
49
+ function warnSyncPropAccess(kind, key) {
50
+ warnSyncAccess(`\`${kind}.${key}\``, kind, "properties");
51
+ }
52
+ function warnSyncAccess(expression, subject, noun) {
53
+ const route = currentRenderCacheMeta()?.route;
54
+ const key = `${route ?? ""}|${expression}|${callsite()}`;
55
+ if (warned.has(key))
56
+ return;
57
+ warned.add(key);
58
+ console.warn(`${route ? `Route "${route}" ` : "This route "}used ${expression}. ` + `\`${subject}\` should be awaited before using its ${noun}. ` + "Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis");
59
+ }
60
+ function callsite() {
61
+ const frames = new Error().stack?.split(`
62
+ `).slice(1) ?? [];
63
+ return frames.find((frame) => !frame.includes("legacy-request-apis")) ?? "";
64
+ }
65
+
66
+ export { withSyncAccess, withSyncProps };