nitro 3.0.1-alpha.0 → 3.0.1-alpha.2

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 (316) hide show
  1. package/README.md +2 -0
  2. package/dist/_build/common.mjs +24940 -0
  3. package/dist/_build/rolldown.mjs +172 -0
  4. package/dist/_build/rollup.mjs +201 -0
  5. package/dist/_build/vite.build.mjs +16 -0
  6. package/dist/_chunks/dev.mjs +707 -0
  7. package/dist/_chunks/nitro.mjs +1191 -0
  8. package/dist/_chunks/nitro2.mjs +101 -0
  9. package/dist/_chunks/utils.mjs +254 -0
  10. package/dist/_common.mjs +45 -0
  11. package/dist/_dev.d.mts +12 -0
  12. package/dist/_libs/c12+giget+readdirp+chokidar.d.mts +214 -0
  13. package/dist/_libs/citty.mjs +363 -0
  14. package/dist/_libs/commondir+is-reference.mjs +1300 -0
  15. package/dist/_libs/compatx.d.mts +47 -0
  16. package/dist/_libs/compatx.mjs +46 -0
  17. package/dist/_libs/confbox.mjs +2509 -0
  18. package/dist/_libs/esbuild.d.mts +20 -0
  19. package/dist/_libs/escape-string-regexp.mjs +8 -0
  20. package/dist/_libs/estree-walker.mjs +187 -0
  21. package/dist/_libs/hasown+resolve+deepmerge.mjs +1972 -0
  22. package/dist/_libs/httpxy.d.mts +79 -0
  23. package/dist/_libs/httpxy.mjs +415 -0
  24. package/dist/_libs/klona.mjs +38 -0
  25. package/dist/_libs/magic-string.d.mts +220 -0
  26. package/dist/_libs/mlly.d.mts +57 -0
  27. package/dist/_libs/nypm+giget+tinyexec.mjs +3603 -0
  28. package/dist/_libs/pkg-types.d.mts +23 -0
  29. package/dist/_libs/plugin-alias.mjs +66 -0
  30. package/dist/_libs/plugin-inject.mjs +135 -0
  31. package/dist/_libs/plugin-json.mjs +36 -0
  32. package/dist/_libs/pluginutils+plugin-commonjs.d.mts +241 -0
  33. package/dist/_libs/pluginutils.mjs +652 -0
  34. package/dist/_libs/rc9+c12+dotenv.mjs +972 -0
  35. package/dist/_libs/readdirp+chokidar.mjs +1611 -0
  36. package/dist/_libs/remapping.mjs +117 -0
  37. package/dist/_libs/resolve-uri+gen-mapping.mjs +448 -0
  38. package/dist/_libs/rou3.d.mts +43 -0
  39. package/dist/_libs/rou3.mjs +322 -0
  40. package/dist/_libs/std-env.d.mts +4 -0
  41. package/dist/_libs/tsconfck.mjs +832 -0
  42. package/dist/_libs/ultrahtml.mjs +138 -0
  43. package/dist/_libs/unimport+unplugin.mjs +1785 -0
  44. package/dist/_libs/unplugin+unimport.d.mts +426 -0
  45. package/dist/_libs/unwasm.d.mts +29 -0
  46. package/dist/_presets.mjs +1802 -0
  47. package/dist/builder.d.mts +63 -0
  48. package/dist/builder.mjs +9 -0
  49. package/dist/cli/_chunks/build.mjs +48 -0
  50. package/dist/cli/_chunks/common.mjs +15 -0
  51. package/dist/cli/_chunks/dev.mjs +62 -0
  52. package/dist/cli/_chunks/list.mjs +27 -0
  53. package/dist/cli/_chunks/prepare.mjs +19 -0
  54. package/dist/cli/_chunks/run.mjs +55 -0
  55. package/dist/cli/_chunks/task.mjs +16 -0
  56. package/dist/cli/index.d.mts +1 -1
  57. package/dist/cli/index.mjs +20 -476
  58. package/dist/node_modules/@poppinss/colors/build/index.js +130 -160
  59. package/dist/node_modules/@poppinss/colors/package.json +20 -18
  60. package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +1 -1
  61. package/dist/node_modules/@poppinss/dumper/package.json +1 -1
  62. package/dist/node_modules/@poppinss/exception/build/index.js +36 -55
  63. package/dist/node_modules/@poppinss/exception/package.json +19 -16
  64. package/dist/node_modules/@sindresorhus/is/distribution/index.js +47 -6
  65. package/dist/node_modules/@sindresorhus/is/package.json +1 -1
  66. package/dist/node_modules/@speed-highlight/core/dist/index.js +2 -2
  67. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -2
  68. package/dist/node_modules/@speed-highlight/core/package.json +8 -4
  69. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  70. package/dist/node_modules/cookie-es/package.json +37 -0
  71. package/dist/node_modules/hookable/dist/index.mjs +244 -268
  72. package/dist/node_modules/hookable/package.json +29 -26
  73. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  74. package/dist/node_modules/rendu/package.json +47 -0
  75. package/dist/node_modules/ufo/dist/index.mjs +16 -9
  76. package/dist/node_modules/ufo/package.json +15 -14
  77. package/dist/node_modules/unctx/package.json +16 -16
  78. package/dist/node_modules/youch/build/{chunk-4XB2BYKC.js → chunk-7QV3D5YX.js} +2 -4
  79. package/dist/node_modules/youch/build/{chunk-PUHGL6HA.js → chunk-AUGPHE32.js} +2 -4
  80. package/dist/node_modules/youch/build/{chunk-VE4LENUR.js → chunk-CM7DWJNZ.js} +4 -5
  81. package/dist/node_modules/youch/build/{chunk-JAN2TFI2.js → chunk-EJH674NB.js} +6 -5
  82. package/dist/node_modules/youch/build/{chunk-EUJBVOYB.js → chunk-OIJ3WD7L.js} +2 -4
  83. package/dist/node_modules/youch/build/{chunk-HFSXRSKS.js → chunk-P36L72PL.js} +5 -3
  84. package/dist/node_modules/youch/build/{chunk-4YEN7HVQ.js → chunk-PE3GG3TN.js} +5 -1
  85. package/dist/node_modules/youch/build/{chunk-PINJDICN.js → chunk-X53OIOJH.js} +2 -4
  86. package/dist/node_modules/youch/build/index.js +22 -15
  87. package/dist/node_modules/youch/build/public/error_info/style.css +1 -0
  88. package/dist/node_modules/youch/build/public/error_metadata/style.css +3 -0
  89. package/dist/node_modules/youch/build/public/error_stack/script.js +20 -22
  90. package/dist/node_modules/youch/build/public/error_stack/style.css +2 -3
  91. package/dist/node_modules/youch/build/public/header/script.js +0 -2
  92. package/dist/node_modules/youch/build/public/layout/script.js +0 -8
  93. package/dist/node_modules/youch/build/public/layout/style.css +4 -0
  94. package/dist/node_modules/youch/package.json +16 -17
  95. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +2 -1
  96. package/dist/presets/_nitro/runtime/nitro-dev.mjs +47 -42
  97. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +3 -3
  98. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +11 -15
  99. package/dist/presets/_nitro/runtime/service-worker.d.mts +2 -1
  100. package/dist/presets/_nitro/runtime/service-worker.mjs +17 -14
  101. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +2 -1
  102. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +8 -7
  103. package/dist/presets/aws-lambda/runtime/_utils.d.mts +3 -13
  104. package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
  105. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +2 -3
  106. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +25 -29
  107. package/dist/presets/aws-lambda/runtime/aws-lambda.d.mts +1 -1
  108. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +9 -9
  109. package/dist/presets/azure/runtime/_utils.mjs +43 -43
  110. package/dist/presets/azure/runtime/azure-swa.d.mts +3 -3
  111. package/dist/presets/azure/runtime/azure-swa.mjs +25 -23
  112. package/dist/presets/bun/runtime/bun.d.mts +3 -1
  113. package/dist/presets/bun/runtime/bun.mjs +34 -22
  114. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +12 -9
  115. package/dist/presets/cloudflare/runtime/_module-handler.mjs +84 -90
  116. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +7 -15
  117. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +62 -64
  118. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +2 -8
  119. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +15 -18
  120. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +13 -13
  121. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +35 -43
  122. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
  123. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -82
  124. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  125. package/dist/presets/deno/runtime/deno-deploy.d.mts +5 -1
  126. package/dist/presets/deno/runtime/deno-deploy.mjs +15 -13
  127. package/dist/presets/deno/runtime/deno-server.d.mts +1 -4
  128. package/dist/presets/deno/runtime/deno-server.mjs +32 -53
  129. package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -2
  130. package/dist/presets/netlify/runtime/netlify-edge.mjs +18 -14
  131. package/dist/presets/netlify/runtime/netlify.d.mts +3 -2
  132. package/dist/presets/netlify/runtime/netlify.mjs +15 -19
  133. package/dist/presets/node/runtime/node-cluster.d.mts +3 -1
  134. package/dist/presets/node/runtime/node-cluster.mjs +49 -54
  135. package/dist/presets/node/runtime/node-middleware.d.mts +3 -4
  136. package/dist/presets/node/runtime/node-middleware.mjs +9 -9
  137. package/dist/presets/node/runtime/node-server.d.mts +1 -1
  138. package/dist/presets/node/runtime/node-server.mjs +36 -34
  139. package/dist/presets/standard/runtime/server.d.mts +2 -4
  140. package/dist/presets/standard/runtime/server.mjs +3 -5
  141. package/dist/presets/stormkit/runtime/stormkit.d.mts +14 -14
  142. package/dist/presets/stormkit/runtime/stormkit.mjs +22 -22
  143. package/dist/presets/vercel/runtime/isr.d.mts +2 -0
  144. package/dist/presets/vercel/runtime/isr.mjs +19 -0
  145. package/dist/presets/vercel/runtime/vercel.node.d.mts +3 -0
  146. package/dist/presets/vercel/runtime/vercel.node.mjs +24 -0
  147. package/dist/presets/vercel/runtime/vercel.web.d.mts +8 -0
  148. package/dist/presets/vercel/runtime/vercel.web.mjs +25 -0
  149. package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -1
  150. package/dist/presets/winterjs/runtime/winterjs.mjs +74 -70
  151. package/dist/presets/zeabur/runtime/zeabur.d.mts +2 -2
  152. package/dist/presets/zeabur/runtime/zeabur.mjs +2 -2
  153. package/dist/runtime/app.d.mts +1 -0
  154. package/dist/runtime/app.mjs +1 -0
  155. package/dist/runtime/cache.d.mts +1 -0
  156. package/dist/runtime/cache.mjs +1 -0
  157. package/dist/runtime/config.d.mts +3 -0
  158. package/dist/runtime/config.mjs +4 -0
  159. package/dist/runtime/context.d.mts +1 -0
  160. package/dist/runtime/context.mjs +1 -0
  161. package/dist/runtime/database.d.mts +1 -0
  162. package/dist/runtime/database.mjs +1 -0
  163. package/dist/runtime/internal/app.d.mts +15 -1
  164. package/dist/runtime/internal/app.mjs +199 -144
  165. package/dist/runtime/internal/cache.d.mts +9 -5
  166. package/dist/runtime/internal/cache.mjs +248 -219
  167. package/dist/runtime/internal/context.d.mts +9 -9
  168. package/dist/runtime/internal/context.mjs +17 -10
  169. package/dist/runtime/internal/database.mjs +9 -11
  170. package/dist/runtime/internal/error/dev.d.mts +4 -4
  171. package/dist/runtime/internal/error/dev.mjs +106 -105
  172. package/dist/runtime/internal/error/hooks.d.mts +1 -0
  173. package/dist/runtime/internal/error/hooks.mjs +9 -0
  174. package/dist/runtime/internal/error/prod.d.mts +5 -4
  175. package/dist/runtime/internal/error/prod.mjs +51 -59
  176. package/dist/runtime/internal/error/utils.d.mts +4 -4
  177. package/dist/runtime/internal/error/utils.mjs +1 -1
  178. package/dist/runtime/internal/meta.d.mts +1 -1
  179. package/dist/runtime/internal/meta.mjs +1 -1
  180. package/dist/runtime/internal/plugin.d.mts +2 -2
  181. package/dist/runtime/internal/plugin.mjs +1 -1
  182. package/dist/runtime/internal/route-rules.d.mts +4 -8
  183. package/dist/runtime/internal/route-rules.mjs +54 -52
  184. package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -2
  185. package/dist/runtime/internal/routes/dev-tasks.mjs +17 -19
  186. package/dist/runtime/internal/routes/openapi.mjs +82 -88
  187. package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
  188. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
  189. package/dist/runtime/internal/routes/renderer-template.dev.mjs +15 -17
  190. package/dist/runtime/internal/routes/renderer-template.mjs +2 -2
  191. package/dist/runtime/internal/routes/scalar.mjs +22 -23
  192. package/dist/runtime/internal/routes/swagger.mjs +9 -11
  193. package/dist/runtime/internal/runtime-config.d.mts +4 -4
  194. package/dist/runtime/internal/runtime-config.mjs +44 -39
  195. package/dist/runtime/internal/static.mjs +63 -74
  196. package/dist/runtime/internal/storage.mjs +3 -3
  197. package/dist/runtime/internal/task.d.mts +6 -6
  198. package/dist/runtime/internal/task.mjs +57 -61
  199. package/dist/runtime/internal/vite/dev-entry.mjs +11 -2
  200. package/dist/runtime/internal/vite/{dev-worker.mjs → node-runner.mjs} +54 -57
  201. package/dist/runtime/internal/vite/ssr-renderer.mjs +3 -1
  202. package/{lib/runtime-meta.d.mts → dist/runtime/meta.d.mts} +2 -2
  203. package/dist/runtime/meta.mjs +26 -0
  204. package/dist/runtime/nitro.d.mts +9 -0
  205. package/dist/runtime/nitro.mjs +32 -0
  206. package/dist/runtime/runtime-config.d.mts +1 -0
  207. package/dist/runtime/runtime-config.mjs +1 -0
  208. package/dist/runtime/storage.d.mts +1 -0
  209. package/dist/runtime/storage.mjs +1 -0
  210. package/dist/runtime/task.d.mts +1 -0
  211. package/dist/runtime/task.mjs +1 -0
  212. package/dist/runtime/virtual/_runtime_warn.mjs +5 -0
  213. package/dist/runtime/virtual/database.d.mts +8 -0
  214. package/dist/runtime/virtual/database.mjs +2 -0
  215. package/dist/runtime/virtual/error-handler.d.mts +6 -0
  216. package/dist/runtime/virtual/error-handler.mjs +9 -0
  217. package/dist/runtime/virtual/feature-flags.d.mts +7 -0
  218. package/dist/runtime/virtual/feature-flags.mjs +7 -0
  219. package/dist/runtime/virtual/plugins.d.mts +3 -0
  220. package/dist/runtime/virtual/plugins.mjs +2 -0
  221. package/dist/runtime/virtual/polyfills.d.mts +3 -0
  222. package/dist/runtime/virtual/polyfills.mjs +2 -0
  223. package/dist/runtime/virtual/public-assets.d.mts +9 -0
  224. package/dist/runtime/virtual/public-assets.mjs +8 -0
  225. package/dist/runtime/virtual/renderer-template.d.mts +4 -0
  226. package/dist/runtime/virtual/renderer-template.mjs +7 -0
  227. package/dist/runtime/virtual/routing-meta.d.mts +7 -0
  228. package/dist/runtime/virtual/routing-meta.mjs +2 -0
  229. package/dist/runtime/virtual/routing.d.mts +8 -0
  230. package/dist/runtime/virtual/routing.mjs +11 -0
  231. package/dist/runtime/virtual/runtime-config.d.mts +3 -0
  232. package/dist/runtime/virtual/runtime-config.mjs +5 -0
  233. package/dist/runtime/virtual/server-assets.d.mts +6 -0
  234. package/dist/runtime/virtual/server-assets.mjs +12 -0
  235. package/dist/runtime/virtual/storage.d.mts +3 -0
  236. package/dist/runtime/virtual/storage.mjs +5 -0
  237. package/dist/runtime/virtual/tasks.d.mts +10 -0
  238. package/dist/runtime/virtual/tasks.mjs +3 -0
  239. package/dist/runtime/vite.d.mts +8 -0
  240. package/dist/runtime/vite.mjs +9 -0
  241. package/dist/types/index.d.mts +2561 -2312
  242. package/dist/types/index.mjs +10 -0
  243. package/dist/vite.d.mts +44 -51
  244. package/dist/vite.mjs +737 -68
  245. package/lib/tsconfig.json +27 -0
  246. package/lib/vite.types.d.mts +26 -0
  247. package/lib/vite.types.mjs +2 -0
  248. package/package.json +118 -101
  249. package/dist/_chunks/app.mjs +0 -19797
  250. package/dist/_chunks/build.mjs +0 -84
  251. package/dist/_chunks/build2.mjs +0 -318
  252. package/dist/_chunks/build3.mjs +0 -6452
  253. package/dist/_chunks/detect-acorn.mjs +0 -503
  254. package/dist/_chunks/index.mjs +0 -22242
  255. package/dist/_chunks/index2.mjs +0 -297
  256. package/dist/_chunks/index3.mjs +0 -1058
  257. package/dist/_chunks/index4.mjs +0 -1206
  258. package/dist/_chunks/info.mjs +0 -11157
  259. package/dist/_chunks/json5.mjs +0 -68
  260. package/dist/_chunks/jsonc.mjs +0 -51
  261. package/dist/_chunks/pathe.M-eThtNZ.mjs +0 -204
  262. package/dist/_chunks/plugin.mjs +0 -960
  263. package/dist/_chunks/server.mjs +0 -254
  264. package/dist/_chunks/snapshot.mjs +0 -284
  265. package/dist/_chunks/toml.mjs +0 -259
  266. package/dist/_chunks/yaml.mjs +0 -86
  267. package/dist/cli/build.mjs +0 -54
  268. package/dist/cli/common.mjs +0 -13
  269. package/dist/cli/dev.mjs +0 -95
  270. package/dist/cli/index2.mjs +0 -17
  271. package/dist/cli/list.mjs +0 -34
  272. package/dist/cli/prepare.mjs +0 -24
  273. package/dist/cli/run.mjs +0 -60
  274. package/dist/index.d.mts +0 -52
  275. package/dist/index.mjs +0 -55
  276. package/dist/node_modules/cookie/dist/index.js +0 -239
  277. package/dist/node_modules/cookie/package.json +0 -42
  278. package/dist/node_modules/kleur/index.js +0 -110
  279. package/dist/node_modules/klona/dist/index.mjs +0 -81
  280. package/dist/node_modules/klona/full/index.mjs +0 -53
  281. package/dist/node_modules/klona/package.json +0 -74
  282. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  283. package/dist/node_modules/std-env/package.json +0 -46
  284. package/dist/node_modules/youch/build/chunk-OSUFJZHZ.js +0 -6
  285. package/dist/presets/vercel/runtime/vercel.d.mts +0 -8
  286. package/dist/presets/vercel/runtime/vercel.mjs +0 -17
  287. package/dist/presets.mjs +0 -2460
  288. package/dist/runtime/index.d.mts +0 -11
  289. package/dist/runtime/index.mjs +0 -17
  290. package/dist/runtime/internal/debug.d.mts +0 -2
  291. package/dist/runtime/internal/debug.mjs +0 -5
  292. package/dist/runtime/internal/empty.d.mts +0 -0
  293. package/dist/runtime/internal/index.d.mts +0 -3
  294. package/dist/runtime/internal/index.mjs +0 -3
  295. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +0 -16
  296. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +0 -213
  297. package/dist/runtime/internal/renderer.d.mts +0 -3
  298. package/dist/runtime/internal/renderer.mjs +0 -36
  299. package/dist/runtime/internal/shutdown.d.mts +0 -9
  300. package/dist/runtime/internal/shutdown.mjs +0 -34
  301. package/dist/runtime/internal/utils.d.mts +0 -1
  302. package/dist/runtime/internal/utils.mjs +0 -15
  303. package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
  304. package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
  305. package/dist/runtime/internal/vite/prod-setup.mjs +0 -55
  306. package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
  307. package/lib/config.d.mts +0 -9
  308. package/lib/config.mjs +0 -5
  309. package/lib/deps/ofetch.mjs +0 -1
  310. package/lib/deps/ofetch.mts +0 -1
  311. package/lib/meta.d.mts +0 -5
  312. package/lib/meta.mjs +0 -21
  313. package/lib/runtime-meta.mjs +0 -38
  314. /package/dist/runtime/{internal/vite/dev-worker.d.mts → virtual/_runtime_warn.d.mts} +0 -0
  315. /package/lib/{deps/h3.d.mts → h3.d.mts} +0 -0
  316. /package/lib/{deps/h3.mjs → h3.mjs} +0 -0
@@ -0,0 +1,322 @@
1
+ //#region node_modules/.pnpm/rou3@0.7.12/node_modules/rou3/dist/index.mjs
2
+ const NullProtoObj = /* @__PURE__ */ (() => {
3
+ const e = function() {};
4
+ return e.prototype = Object.create(null), Object.freeze(e.prototype), e;
5
+ })();
6
+ /**
7
+ * Create a new router context.
8
+ */
9
+ function createRouter() {
10
+ return {
11
+ root: { key: "" },
12
+ static: new NullProtoObj()
13
+ };
14
+ }
15
+ function splitPath(path) {
16
+ const [_, ...s] = path.split("/");
17
+ return s[s.length - 1] === "" ? s.slice(0, -1) : s;
18
+ }
19
+ function getMatchParams(segments, paramsMap) {
20
+ const params = new NullProtoObj();
21
+ for (const [index, name] of paramsMap) {
22
+ const segment = index < 0 ? segments.slice(-(index + 1)).join("/") : segments[index];
23
+ if (typeof name === "string") params[name] = segment;
24
+ else {
25
+ const match = segment.match(name);
26
+ if (match) for (const key in match.groups) params[key] = match.groups[key];
27
+ }
28
+ }
29
+ return params;
30
+ }
31
+ /**
32
+ * Add a route to the router context.
33
+ */
34
+ function addRoute(ctx, method = "", path, data) {
35
+ method = method.toUpperCase();
36
+ if (path.charCodeAt(0) !== 47) path = `/${path}`;
37
+ path = path.replace(/\\:/g, "%3A");
38
+ const segments = splitPath(path);
39
+ let node = ctx.root;
40
+ let _unnamedParamIndex = 0;
41
+ const paramsMap = [];
42
+ const paramsRegexp = [];
43
+ for (let i = 0; i < segments.length; i++) {
44
+ let segment = segments[i];
45
+ if (segment.startsWith("**")) {
46
+ if (!node.wildcard) node.wildcard = { key: "**" };
47
+ node = node.wildcard;
48
+ paramsMap.push([
49
+ -(i + 1),
50
+ segment.split(":")[1] || "_",
51
+ segment.length === 2
52
+ ]);
53
+ break;
54
+ }
55
+ if (segment === "*" || segment.includes(":")) {
56
+ if (!node.param) node.param = { key: "*" };
57
+ node = node.param;
58
+ if (segment === "*") paramsMap.push([
59
+ i,
60
+ `_${_unnamedParamIndex++}`,
61
+ true
62
+ ]);
63
+ else if (segment.includes(":", 1)) {
64
+ const regexp = getParamRegexp(segment);
65
+ paramsRegexp[i] = regexp;
66
+ node.hasRegexParam = true;
67
+ paramsMap.push([
68
+ i,
69
+ regexp,
70
+ false
71
+ ]);
72
+ } else paramsMap.push([
73
+ i,
74
+ segment.slice(1),
75
+ false
76
+ ]);
77
+ continue;
78
+ }
79
+ if (segment === "\\*") segment = segments[i] = "*";
80
+ else if (segment === "\\*\\*") segment = segments[i] = "**";
81
+ const child = node.static?.[segment];
82
+ if (child) node = child;
83
+ else {
84
+ const staticNode = { key: segment };
85
+ if (!node.static) node.static = new NullProtoObj();
86
+ node.static[segment] = staticNode;
87
+ node = staticNode;
88
+ }
89
+ }
90
+ const hasParams = paramsMap.length > 0;
91
+ if (!node.methods) node.methods = new NullProtoObj();
92
+ node.methods[method] ??= [];
93
+ node.methods[method].push({
94
+ data: data || null,
95
+ paramsRegexp,
96
+ paramsMap: hasParams ? paramsMap : void 0
97
+ });
98
+ if (!hasParams) ctx.static["/" + segments.join("/")] = node;
99
+ }
100
+ function getParamRegexp(segment) {
101
+ const regex = segment.replace(/:(\w+)/g, (_, id) => `(?<${id}>[^/]+)`).replace(/\./g, "\\.");
102
+ return /* @__PURE__ */ new RegExp(`^${regex}$`);
103
+ }
104
+ /**
105
+ * Find a route by path.
106
+ */
107
+ function findRoute(ctx, method = "", path, opts) {
108
+ if (path.charCodeAt(path.length - 1) === 47) path = path.slice(0, -1);
109
+ const staticNode = ctx.static[path];
110
+ if (staticNode && staticNode.methods) {
111
+ const staticMatch = staticNode.methods[method] || staticNode.methods[""];
112
+ if (staticMatch !== void 0) return staticMatch[0];
113
+ }
114
+ const segments = splitPath(path);
115
+ const match = _lookupTree(ctx, ctx.root, method, segments, 0)?.[0];
116
+ if (match === void 0) return;
117
+ if (opts?.params === false) return match;
118
+ return {
119
+ data: match.data,
120
+ params: match.paramsMap ? getMatchParams(segments, match.paramsMap) : void 0
121
+ };
122
+ }
123
+ function _lookupTree(ctx, node, method, segments, index) {
124
+ if (index === segments.length) {
125
+ if (node.methods) {
126
+ const match = node.methods[method] || node.methods[""];
127
+ if (match) return match;
128
+ }
129
+ if (node.param && node.param.methods) {
130
+ const match = node.param.methods[method] || node.param.methods[""];
131
+ if (match) {
132
+ const pMap = match[0].paramsMap;
133
+ if (pMap?.[pMap?.length - 1]?.[2]) return match;
134
+ }
135
+ }
136
+ if (node.wildcard && node.wildcard.methods) {
137
+ const match = node.wildcard.methods[method] || node.wildcard.methods[""];
138
+ if (match) {
139
+ const pMap = match[0].paramsMap;
140
+ if (pMap?.[pMap?.length - 1]?.[2]) return match;
141
+ }
142
+ }
143
+ return;
144
+ }
145
+ const segment = segments[index];
146
+ if (node.static) {
147
+ const staticChild = node.static[segment];
148
+ if (staticChild) {
149
+ const match = _lookupTree(ctx, staticChild, method, segments, index + 1);
150
+ if (match) return match;
151
+ }
152
+ }
153
+ if (node.param) {
154
+ const match = _lookupTree(ctx, node.param, method, segments, index + 1);
155
+ if (match) {
156
+ if (node.param.hasRegexParam) {
157
+ const exactMatch = match.find((m) => m.paramsRegexp[index]?.test(segment)) || match.find((m) => !m.paramsRegexp[index]);
158
+ return exactMatch ? [exactMatch] : void 0;
159
+ }
160
+ return match;
161
+ }
162
+ }
163
+ if (node.wildcard && node.wildcard.methods) return node.wildcard.methods[method] || node.wildcard.methods[""];
164
+ }
165
+ /**
166
+ * Find all route patterns that match the given path.
167
+ */
168
+ function findAllRoutes(ctx, method = "", path, opts) {
169
+ if (path.charCodeAt(path.length - 1) === 47) path = path.slice(0, -1);
170
+ const segments = splitPath(path);
171
+ const matches = _findAll(ctx, ctx.root, method, segments, 0);
172
+ if (opts?.params === false) return matches;
173
+ return matches.map((m) => {
174
+ return {
175
+ data: m.data,
176
+ params: m.paramsMap ? getMatchParams(segments, m.paramsMap) : void 0
177
+ };
178
+ });
179
+ }
180
+ function _findAll(ctx, node, method, segments, index, matches = []) {
181
+ const segment = segments[index];
182
+ if (node.wildcard && node.wildcard.methods) {
183
+ const match = node.wildcard.methods[method] || node.wildcard.methods[""];
184
+ if (match) matches.push(...match);
185
+ }
186
+ if (node.param) {
187
+ _findAll(ctx, node.param, method, segments, index + 1, matches);
188
+ if (index === segments.length && node.param.methods) {
189
+ const match = node.param.methods[method] || node.param.methods[""];
190
+ if (match) {
191
+ const pMap = match[0].paramsMap;
192
+ if (pMap?.[pMap?.length - 1]?.[2]) matches.push(...match);
193
+ }
194
+ }
195
+ }
196
+ const staticChild = node.static?.[segment];
197
+ if (staticChild) _findAll(ctx, staticChild, method, segments, index + 1, matches);
198
+ if (index === segments.length && node.methods) {
199
+ const match = node.methods[method] || node.methods[""];
200
+ if (match) matches.push(...match);
201
+ }
202
+ return matches;
203
+ }
204
+
205
+ //#endregion
206
+ //#region node_modules/.pnpm/rou3@0.7.12/node_modules/rou3/dist/compiler.mjs
207
+ /**
208
+ * Compile the router instance into a compact runnable code.
209
+ *
210
+ * **IMPORTANT:** Route data must be serializable to JSON (i.e., no functions or classes) or implement the `toJSON()` method to render custom code or you can pass custom `serialize` function in options.
211
+ *
212
+ * @example
213
+ * import { createRouter, addRoute } from "rou3";
214
+ * import { compileRouterToString } from "rou3/compiler";
215
+ * const router = createRouter();
216
+ * // [add some routes with serializable data]
217
+ * const compilerCode = compileRouterToString(router, "findRoute");
218
+ * // "const findRoute=(m, p) => {}"
219
+ */
220
+ function compileRouterToString(router, functionName, opts) {
221
+ const ctx = {
222
+ opts: opts || {},
223
+ router,
224
+ data: [],
225
+ compileToString: true
226
+ };
227
+ let compiled = `(m,p)=>{${compileRouteMatch(ctx)}}`;
228
+ if (ctx.data.length > 0) compiled = `/* @__PURE__ */ (() => { ${`const ${ctx.data.map((v, i) => `$${i}=${v}`).join(",")};`}; return ${compiled}})()`;
229
+ return functionName ? `const ${functionName}=${compiled};` : compiled;
230
+ }
231
+ function compileRouteMatch(ctx) {
232
+ let code = "";
233
+ const staticNodes = /* @__PURE__ */ new Set();
234
+ for (const key in ctx.router.static) {
235
+ const node = ctx.router.static[key];
236
+ if (node?.methods) {
237
+ staticNodes.add(node);
238
+ code += `if(p===${JSON.stringify(key.replace(/\/$/, "") || "/")}){${compileMethodMatch(ctx, node.methods, [], -1)}}`;
239
+ }
240
+ }
241
+ const match = compileNode(ctx, ctx.router.root, [], 0, staticNodes);
242
+ if (match) code += `let s=p.split("/"),l=s.length-1;${match}`;
243
+ if (!code) return ctx.opts?.matchAll ? `return [];` : "";
244
+ return `${ctx.opts?.matchAll ? `let r=[];` : ""}if(p.charCodeAt(p.length-1)===47)p=p.slice(0,-1)||"/";${code}${ctx.opts?.matchAll ? "return r;" : ""}`;
245
+ }
246
+ function compileMethodMatch(ctx, methods, params, currentIdx) {
247
+ let code = "";
248
+ for (const key in methods) {
249
+ const matchers = methods[key];
250
+ if (matchers && matchers?.length > 0) {
251
+ if (key !== "") code += `if(m==="${key}")${matchers.length > 1 ? "{" : ""}`;
252
+ const _matchers = matchers.map((m) => compileFinalMatch(ctx, m, currentIdx, params)).sort((a, b) => b.weight - a.weight);
253
+ for (const matcher of _matchers) code += matcher.code;
254
+ if (key !== "") code += matchers.length > 1 ? "}" : "";
255
+ }
256
+ }
257
+ return code;
258
+ }
259
+ function compileFinalMatch(ctx, data, currentIdx, params) {
260
+ let ret = `{data:${serializeData(ctx, data.data)}`;
261
+ const conditions = [];
262
+ const { paramsMap, paramsRegexp } = data;
263
+ if (paramsMap && paramsMap.length > 0) {
264
+ if (!paramsMap[paramsMap.length - 1][2] && currentIdx !== -1) conditions.push(`l>=${currentIdx}`);
265
+ for (let i = 0; i < paramsRegexp.length; i++) {
266
+ const regexp = paramsRegexp[i];
267
+ if (!regexp) continue;
268
+ conditions.push(`${regexp.toString()}.test(s[${i + 1}])`);
269
+ }
270
+ ret += ",params:{";
271
+ for (let i = 0; i < paramsMap.length; i++) {
272
+ const map = paramsMap[i];
273
+ ret += typeof map[1] === "string" ? `${JSON.stringify(map[1])}:${params[i]},` : `...(${map[1].toString()}.exec(${params[i]}))?.groups,`;
274
+ }
275
+ ret += "}";
276
+ }
277
+ return {
278
+ code: (conditions.length > 0 ? `if(${conditions.join("&&")})` : "") + (ctx.opts?.matchAll ? `r.unshift(${ret}});` : `return ${ret}};`),
279
+ weight: conditions.length
280
+ };
281
+ }
282
+ function compileNode(ctx, node, params, startIdx, staticNodes) {
283
+ let code = "";
284
+ if (node.methods && !staticNodes.has(node)) {
285
+ const match = compileMethodMatch(ctx, node.methods, params, node.key === "*" ? startIdx : -1);
286
+ if (match) {
287
+ const hasLastOptionalParam = node.key === "*";
288
+ code += `if(l===${startIdx}${hasLastOptionalParam ? `||l===${startIdx - 1}` : ""}){${match}}`;
289
+ }
290
+ }
291
+ if (node.static) for (const key in node.static) {
292
+ const match = compileNode(ctx, node.static[key], params, startIdx + 1, staticNodes);
293
+ if (match) code += `if(s[${startIdx + 1}]===${JSON.stringify(key)}){${match}}`;
294
+ }
295
+ if (node.param) {
296
+ const match = compileNode(ctx, node.param, [...params, `s[${startIdx + 1}]`], startIdx + 1, staticNodes);
297
+ if (match) code += match;
298
+ }
299
+ if (node.wildcard) {
300
+ const { wildcard } = node;
301
+ if (wildcard.static || wildcard.param || wildcard.wildcard) throw new Error("Compiler mode does not support patterns after wildcard");
302
+ if (wildcard.methods) {
303
+ const match = compileMethodMatch(ctx, wildcard.methods, [...params, `s.slice(${startIdx + 1}).join('/')`], startIdx);
304
+ if (match) code += match;
305
+ }
306
+ }
307
+ return code;
308
+ }
309
+ function serializeData(ctx, value) {
310
+ if (ctx.compileToString) if (ctx.opts?.serialize) value = ctx.opts.serialize(value);
311
+ else if (typeof value?.toJSON === "function") value = value.toJSON();
312
+ else value = JSON.stringify(value);
313
+ let index = ctx.data.indexOf(value);
314
+ if (index === -1) {
315
+ ctx.data.push(value);
316
+ index = ctx.data.length - 1;
317
+ }
318
+ return `$${index}`;
319
+ }
320
+
321
+ //#endregion
322
+ export { findRoute as a, findAllRoutes as i, addRoute as n, createRouter as r, compileRouterToString as t };
@@ -0,0 +1,4 @@
1
+ //#region node_modules/.pnpm/std-env@3.10.0/node_modules/std-env/dist/index.d.ts
2
+ type ProviderName = "" | "appveyor" | "aws_amplify" | "azure_pipelines" | "azure_static" | "appcircle" | "bamboo" | "bitbucket" | "bitrise" | "buddy" | "buildkite" | "circle" | "cirrus" | "cloudflare_pages" | "cloudflare_workers" | "codebuild" | "codefresh" | "drone" | "drone" | "dsari" | "github_actions" | "gitlab" | "gocd" | "layerci" | "hudson" | "jenkins" | "magnum" | "netlify" | "nevercode" | "render" | "sail" | "semaphore" | "screwdriver" | "shippable" | "solano" | "strider" | "teamcity" | "travis" | "vercel" | "appcenter" | "codesandbox" | "stackblitz" | "stormkit" | "cleavr" | "zeabur" | "codesphere" | "railway" | "deno-deploy" | "firebase_app_hosting";
3
+ //#endregion
4
+ export { ProviderName as t };