nitro 3.0.0 → 3.0.1-alpha.1

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 (293) hide show
  1. package/dist/_build/common.mjs +68 -0
  2. package/dist/_build/common2.mjs +772 -0
  3. package/dist/_build/rolldown.mjs +206 -0
  4. package/dist/_build/rollup.mjs +289 -0
  5. package/dist/_build/vite.build.mjs +56 -0
  6. package/dist/_build/vite.plugin.mjs +768 -0
  7. package/dist/_chunks/ANM1K1bE.mjs +304 -0
  8. package/dist/_chunks/B-D1JOIz.mjs +1355 -0
  9. package/dist/_chunks/BX9-zVkM.mjs +59 -0
  10. package/dist/_chunks/Bqks5huO.mjs +31 -0
  11. package/dist/_chunks/C7CbzoI1.mjs +39 -0
  12. package/dist/_dev.d.mts +12 -0
  13. package/dist/_dev.mjs +705 -0
  14. package/dist/_libs/acorn.mjs +5034 -0
  15. package/dist/_libs/c12.mjs +2858 -0
  16. package/dist/_libs/chokidar.mjs +1561 -0
  17. package/dist/_libs/citty.mjs +333 -0
  18. package/dist/_libs/commondir.mjs +22 -0
  19. package/dist/_libs/compatx.mjs +46 -0
  20. package/dist/_libs/confbox.mjs +2920 -0
  21. package/dist/_libs/deepmerge.mjs +86 -0
  22. package/dist/_libs/dot-prop.mjs +138 -0
  23. package/dist/_libs/duplexer.mjs +71 -0
  24. package/dist/_libs/escape-string-regexp.mjs +8 -0
  25. package/dist/_libs/estree-walker.mjs +330 -0
  26. package/dist/_libs/etag.mjs +80 -0
  27. package/dist/_libs/fdir.mjs +514 -0
  28. package/dist/_libs/function-bind.mjs +63 -0
  29. package/dist/_libs/gen-mapping.mjs +612 -0
  30. package/dist/_libs/giget.mjs +19289 -0
  31. package/dist/_libs/gzip-size.mjs +21 -0
  32. package/dist/_libs/hasown.mjs +14 -0
  33. package/dist/_libs/httpxy.mjs +410 -0
  34. package/dist/_libs/is-core-module.mjs +220 -0
  35. package/dist/_libs/is-module.mjs +13 -0
  36. package/dist/_libs/is-reference.mjs +32 -0
  37. package/dist/_libs/js-tokens.mjs +382 -0
  38. package/dist/_libs/klona.mjs +38 -0
  39. package/dist/_libs/knitwork.mjs +124 -0
  40. package/dist/_libs/local-pkg.mjs +1686 -0
  41. package/dist/_libs/magic-string.mjs +939 -0
  42. package/dist/_libs/mime.mjs +1391 -0
  43. package/dist/_libs/node-fetch-native.mjs +173 -0
  44. package/dist/_libs/path-parse.mjs +47 -0
  45. package/dist/_libs/pathe.mjs +41 -0
  46. package/dist/_libs/picomatch.mjs +1673 -0
  47. package/dist/_libs/plugin-alias.mjs +64 -0
  48. package/dist/_libs/plugin-commonjs.mjs +1491 -0
  49. package/dist/_libs/plugin-inject.mjs +135 -0
  50. package/dist/_libs/plugin-json.mjs +36 -0
  51. package/dist/_libs/plugin-node-resolve.mjs +1553 -0
  52. package/dist/_libs/plugin-replace.mjs +104 -0
  53. package/dist/_libs/pretty-bytes.mjs +116 -0
  54. package/dist/_libs/remapping.mjs +117 -0
  55. package/dist/_libs/rou3.mjs +319 -0
  56. package/dist/_libs/std-env.mjs +158 -0
  57. package/dist/_libs/strip-literal.mjs +51 -0
  58. package/dist/_libs/tinyglobby.mjs +292 -0
  59. package/dist/_libs/tsconfck.mjs +832 -0
  60. package/dist/_libs/ultrahtml.mjs +138 -0
  61. package/dist/_libs/unimport.mjs +3520 -0
  62. package/dist/_libs/untyped.mjs +271 -0
  63. package/dist/_libs/unwasm.mjs +5836 -0
  64. package/dist/_libs/vite-plugin-fullstack.mjs +561 -0
  65. package/dist/_presets.mjs +1752 -0
  66. package/dist/builder.d.mts +63 -0
  67. package/dist/builder.mjs +33 -0
  68. package/dist/cli/_chunks/build.mjs +48 -0
  69. package/dist/cli/_chunks/common.mjs +15 -0
  70. package/dist/cli/_chunks/detect-acorn.mjs +12 -0
  71. package/dist/cli/_chunks/dev.mjs +68 -0
  72. package/dist/cli/_chunks/dist.mjs +3 -0
  73. package/dist/cli/_chunks/dist2.mjs +3 -0
  74. package/dist/cli/_chunks/dist3.mjs +3 -0
  75. package/dist/cli/_chunks/dist4.mjs +4 -0
  76. package/dist/cli/_chunks/dist5.mjs +4 -0
  77. package/dist/cli/_chunks/esm.mjs +3 -0
  78. package/dist/cli/_chunks/json5.mjs +4 -0
  79. package/dist/cli/_chunks/jsonc.mjs +4 -0
  80. package/dist/cli/_chunks/list.mjs +27 -0
  81. package/dist/cli/_chunks/multipart-parser.mjs +6 -0
  82. package/dist/cli/_chunks/prepare.mjs +19 -0
  83. package/dist/cli/_chunks/run.mjs +55 -0
  84. package/dist/cli/_chunks/task.mjs +16 -0
  85. package/dist/cli/_chunks/toml.mjs +4 -0
  86. package/dist/cli/_chunks/yaml.mjs +4 -0
  87. package/dist/cli/index.d.mts +1 -1
  88. package/dist/cli/index.mjs +20 -476
  89. package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +1 -1
  90. package/dist/node_modules/@poppinss/dumper/package.json +1 -1
  91. package/dist/node_modules/@sindresorhus/is/distribution/index.js +1 -1
  92. package/dist/node_modules/@sindresorhus/is/package.json +1 -1
  93. package/dist/node_modules/@speed-highlight/core/dist/index.js +2 -2
  94. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -2
  95. package/dist/node_modules/@speed-highlight/core/package.json +7 -3
  96. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  97. package/dist/node_modules/cookie-es/package.json +37 -0
  98. package/dist/node_modules/hookable/dist/index.mjs +243 -266
  99. package/dist/node_modules/hookable/package.json +29 -26
  100. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  101. package/dist/node_modules/rendu/package.json +47 -0
  102. package/dist/node_modules/youch/build/{chunk-VE4LENUR.js → chunk-F4I6KX4R.js} +2 -1
  103. package/dist/node_modules/youch/build/{chunk-JAN2TFI2.js → chunk-YYEJ3AGB.js} +4 -1
  104. package/dist/node_modules/youch/build/index.js +16 -8
  105. package/dist/node_modules/youch/build/public/error_stack/script.js +20 -22
  106. package/dist/node_modules/youch/build/public/header/script.js +0 -2
  107. package/dist/node_modules/youch/build/public/layout/script.js +0 -8
  108. package/dist/node_modules/youch/build/public/layout/style.css +4 -0
  109. package/dist/node_modules/youch/package.json +16 -17
  110. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +1 -0
  111. package/dist/presets/_nitro/runtime/nitro-dev.mjs +48 -42
  112. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +2 -2
  113. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +10 -14
  114. package/dist/presets/_nitro/runtime/service-worker.d.mts +1 -0
  115. package/dist/presets/_nitro/runtime/service-worker.mjs +15 -12
  116. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +1 -0
  117. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +7 -6
  118. package/dist/presets/aws-lambda/runtime/_utils.d.mts +8 -13
  119. package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
  120. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +1 -2
  121. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +26 -28
  122. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +8 -8
  123. package/dist/presets/azure/runtime/_utils.mjs +43 -43
  124. package/dist/presets/azure/runtime/azure-swa.d.mts +2 -2
  125. package/dist/presets/azure/runtime/azure-swa.mjs +24 -22
  126. package/dist/presets/bun/runtime/bun.d.mts +2 -0
  127. package/dist/presets/bun/runtime/bun.mjs +34 -21
  128. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +10 -7
  129. package/dist/presets/cloudflare/runtime/_module-handler.mjs +80 -88
  130. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +6 -14
  131. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +60 -63
  132. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +1 -7
  133. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +14 -16
  134. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +12 -12
  135. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +40 -42
  136. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
  137. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -82
  138. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  139. package/dist/presets/deno/runtime/deno-deploy.d.mts +4 -0
  140. package/dist/presets/deno/runtime/deno-deploy.mjs +15 -12
  141. package/dist/presets/deno/runtime/deno-server.d.mts +0 -3
  142. package/dist/presets/deno/runtime/deno-server.mjs +32 -52
  143. package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -1
  144. package/dist/presets/netlify/runtime/netlify-edge.mjs +15 -12
  145. package/dist/presets/netlify/runtime/netlify.mjs +12 -18
  146. package/dist/presets/node/runtime/node-cluster.d.mts +3 -1
  147. package/dist/presets/node/runtime/node-cluster.mjs +50 -54
  148. package/dist/presets/node/runtime/node-middleware.d.mts +2 -3
  149. package/dist/presets/node/runtime/node-middleware.mjs +9 -8
  150. package/dist/presets/node/runtime/node-server.mjs +37 -34
  151. package/dist/presets/standard/runtime/server.d.mts +1 -3
  152. package/dist/presets/standard/runtime/server.mjs +2 -4
  153. package/dist/presets/stormkit/runtime/stormkit.d.mts +13 -13
  154. package/dist/presets/stormkit/runtime/stormkit.mjs +21 -21
  155. package/dist/presets/vercel/runtime/vercel.node.d.mts +3 -0
  156. package/dist/presets/vercel/runtime/vercel.node.mjs +15 -0
  157. package/dist/presets/vercel/runtime/{vercel.d.mts → vercel.web.d.mts} +3 -3
  158. package/dist/presets/vercel/runtime/vercel.web.mjs +20 -0
  159. package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -0
  160. package/dist/presets/winterjs/runtime/winterjs.mjs +73 -69
  161. package/dist/presets/zeabur/runtime/zeabur.d.mts +1 -1
  162. package/dist/presets/zeabur/runtime/zeabur.mjs +1 -1
  163. package/dist/runtime/app.d.mts +1 -0
  164. package/dist/runtime/app.mjs +1 -0
  165. package/dist/runtime/cache.d.mts +1 -0
  166. package/dist/runtime/cache.mjs +1 -0
  167. package/dist/runtime/config.d.mts +3 -0
  168. package/dist/runtime/config.mjs +4 -0
  169. package/dist/runtime/context.d.mts +1 -0
  170. package/dist/runtime/context.mjs +1 -0
  171. package/dist/runtime/database.d.mts +1 -0
  172. package/dist/runtime/database.mjs +1 -0
  173. package/dist/runtime/internal/app.d.mts +11 -1
  174. package/dist/runtime/internal/app.mjs +188 -140
  175. package/dist/runtime/internal/cache.d.mts +9 -5
  176. package/dist/runtime/internal/cache.mjs +248 -219
  177. package/dist/runtime/internal/context.d.mts +9 -9
  178. package/dist/runtime/internal/context.mjs +17 -10
  179. package/dist/runtime/internal/database.mjs +8 -10
  180. package/dist/runtime/internal/error/dev.d.mts +5 -4
  181. package/dist/runtime/internal/error/dev.mjs +106 -105
  182. package/dist/runtime/internal/error/hooks.d.mts +1 -0
  183. package/dist/runtime/internal/error/hooks.mjs +9 -0
  184. package/dist/runtime/internal/error/prod.d.mts +5 -4
  185. package/dist/runtime/internal/error/prod.mjs +51 -59
  186. package/dist/runtime/internal/error/utils.d.mts +4 -4
  187. package/dist/runtime/internal/error/utils.mjs +1 -1
  188. package/dist/runtime/internal/meta.d.mts +1 -1
  189. package/dist/runtime/internal/meta.mjs +1 -1
  190. package/dist/runtime/internal/plugin.d.mts +2 -2
  191. package/dist/runtime/internal/plugin.mjs +1 -1
  192. package/dist/runtime/internal/route-rules.d.mts +8 -8
  193. package/dist/runtime/internal/route-rules.mjs +54 -52
  194. package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -2
  195. package/dist/runtime/internal/routes/dev-tasks.mjs +16 -18
  196. package/dist/runtime/internal/routes/openapi.d.mts +1 -0
  197. package/dist/runtime/internal/routes/openapi.mjs +81 -87
  198. package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
  199. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
  200. package/dist/runtime/internal/routes/renderer-template.dev.mjs +15 -17
  201. package/dist/runtime/internal/routes/renderer-template.mjs +1 -1
  202. package/dist/runtime/internal/routes/scalar.d.mts +1 -0
  203. package/dist/runtime/internal/routes/scalar.mjs +22 -23
  204. package/dist/runtime/internal/routes/swagger.d.mts +1 -0
  205. package/dist/runtime/internal/routes/swagger.mjs +9 -11
  206. package/dist/runtime/internal/runtime-config.d.mts +4 -4
  207. package/dist/runtime/internal/runtime-config.mjs +40 -35
  208. package/dist/runtime/internal/static.mjs +63 -74
  209. package/dist/runtime/internal/storage.mjs +2 -2
  210. package/dist/runtime/internal/task.d.mts +6 -6
  211. package/dist/runtime/internal/task.mjs +56 -60
  212. package/dist/runtime/internal/vite/dev-entry.mjs +11 -1
  213. package/dist/runtime/internal/vite/dev-worker.mjs +9 -57
  214. package/dist/runtime/internal/vite/ssr-renderer.mjs +3 -1
  215. package/{lib/runtime-meta.d.mts → dist/runtime/meta.d.mts} +1 -1
  216. package/dist/runtime/meta.mjs +26 -0
  217. package/dist/runtime/nitro.d.mts +12 -0
  218. package/dist/runtime/nitro.mjs +32 -0
  219. package/dist/runtime/runtime-config.d.mts +1 -0
  220. package/dist/runtime/runtime-config.mjs +1 -0
  221. package/dist/runtime/storage.d.mts +1 -0
  222. package/dist/runtime/storage.mjs +1 -0
  223. package/dist/runtime/task.d.mts +1 -0
  224. package/dist/runtime/task.mjs +1 -0
  225. package/dist/runtime/vite-runtime.d.mts +8 -0
  226. package/dist/runtime/vite-runtime.mjs +9 -0
  227. package/dist/types/index.d.mts +2625 -2297
  228. package/dist/types/index.mjs +1 -1
  229. package/dist/vite.d.mts +49 -51
  230. package/dist/vite.mjs +44 -68
  231. package/lib/tsconfig.json +27 -0
  232. package/package.json +86 -76
  233. package/dist/_chunks/app.mjs +0 -19797
  234. package/dist/_chunks/build.mjs +0 -84
  235. package/dist/_chunks/build2.mjs +0 -318
  236. package/dist/_chunks/build3.mjs +0 -6452
  237. package/dist/_chunks/detect-acorn.mjs +0 -503
  238. package/dist/_chunks/index.mjs +0 -22242
  239. package/dist/_chunks/index2.mjs +0 -297
  240. package/dist/_chunks/index3.mjs +0 -1058
  241. package/dist/_chunks/index4.mjs +0 -1206
  242. package/dist/_chunks/info.mjs +0 -11157
  243. package/dist/_chunks/json5.mjs +0 -68
  244. package/dist/_chunks/jsonc.mjs +0 -51
  245. package/dist/_chunks/pathe.M-eThtNZ.mjs +0 -204
  246. package/dist/_chunks/plugin.mjs +0 -960
  247. package/dist/_chunks/server.mjs +0 -254
  248. package/dist/_chunks/snapshot.mjs +0 -284
  249. package/dist/_chunks/toml.mjs +0 -259
  250. package/dist/_chunks/yaml.mjs +0 -86
  251. package/dist/cli/build.mjs +0 -54
  252. package/dist/cli/common.mjs +0 -13
  253. package/dist/cli/dev.mjs +0 -95
  254. package/dist/cli/index2.mjs +0 -17
  255. package/dist/cli/list.mjs +0 -34
  256. package/dist/cli/prepare.mjs +0 -24
  257. package/dist/cli/run.mjs +0 -60
  258. package/dist/index.d.mts +0 -52
  259. package/dist/index.mjs +0 -55
  260. package/dist/node_modules/cookie/dist/index.js +0 -239
  261. package/dist/node_modules/cookie/package.json +0 -42
  262. package/dist/node_modules/klona/dist/index.mjs +0 -81
  263. package/dist/node_modules/klona/full/index.mjs +0 -53
  264. package/dist/node_modules/klona/package.json +0 -74
  265. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  266. package/dist/node_modules/std-env/package.json +0 -46
  267. package/dist/presets/vercel/runtime/vercel.mjs +0 -17
  268. package/dist/presets.mjs +0 -2460
  269. package/dist/runtime/index.d.mts +0 -11
  270. package/dist/runtime/index.mjs +0 -17
  271. package/dist/runtime/internal/debug.d.mts +0 -2
  272. package/dist/runtime/internal/debug.mjs +0 -5
  273. package/dist/runtime/internal/empty.d.mts +0 -0
  274. package/dist/runtime/internal/index.d.mts +0 -3
  275. package/dist/runtime/internal/index.mjs +0 -3
  276. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +0 -16
  277. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +0 -213
  278. package/dist/runtime/internal/renderer.d.mts +0 -3
  279. package/dist/runtime/internal/renderer.mjs +0 -36
  280. package/dist/runtime/internal/shutdown.d.mts +0 -9
  281. package/dist/runtime/internal/shutdown.mjs +0 -34
  282. package/dist/runtime/internal/utils.d.mts +0 -1
  283. package/dist/runtime/internal/utils.mjs +0 -15
  284. package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
  285. package/dist/runtime/internal/vite/dev-worker.d.mts +0 -1
  286. package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
  287. package/dist/runtime/internal/vite/prod-setup.mjs +0 -55
  288. package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
  289. package/lib/config.d.mts +0 -9
  290. package/lib/config.mjs +0 -5
  291. package/lib/meta.d.mts +0 -5
  292. package/lib/meta.mjs +0 -21
  293. package/lib/runtime-meta.mjs +0 -38
@@ -0,0 +1,80 @@
1
+ import { n as __require, t as __commonJS } from "../_chunks/Bqks5huO.mjs";
2
+
3
+ //#region node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js
4
+ /*!
5
+ * etag
6
+ * Copyright(c) 2014-2016 Douglas Christopher Wilson
7
+ * MIT Licensed
8
+ */
9
+ var require_etag = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js": ((exports, module) => {
10
+ /**
11
+ * Module exports.
12
+ * @public
13
+ */
14
+ module.exports = etag;
15
+ /**
16
+ * Module dependencies.
17
+ * @private
18
+ */
19
+ var crypto = __require("crypto");
20
+ var Stats = __require("fs").Stats;
21
+ /**
22
+ * Module variables.
23
+ * @private
24
+ */
25
+ var toString = Object.prototype.toString;
26
+ /**
27
+ * Generate an entity tag.
28
+ *
29
+ * @param {Buffer|string} entity
30
+ * @return {string}
31
+ * @private
32
+ */
33
+ function entitytag(entity) {
34
+ if (entity.length === 0) return "\"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk\"";
35
+ var hash = crypto.createHash("sha1").update(entity, "utf8").digest("base64").substring(0, 27);
36
+ return "\"" + (typeof entity === "string" ? Buffer.byteLength(entity, "utf8") : entity.length).toString(16) + "-" + hash + "\"";
37
+ }
38
+ /**
39
+ * Create a simple ETag.
40
+ *
41
+ * @param {string|Buffer|Stats} entity
42
+ * @param {object} [options]
43
+ * @param {boolean} [options.weak]
44
+ * @return {String}
45
+ * @public
46
+ */
47
+ function etag(entity, options) {
48
+ if (entity == null) throw new TypeError("argument entity is required");
49
+ var isStats = isstats(entity);
50
+ var weak = options && typeof options.weak === "boolean" ? options.weak : isStats;
51
+ if (!isStats && typeof entity !== "string" && !Buffer.isBuffer(entity)) throw new TypeError("argument entity must be string, Buffer, or fs.Stats");
52
+ var tag = isStats ? stattag(entity) : entitytag(entity);
53
+ return weak ? "W/" + tag : tag;
54
+ }
55
+ /**
56
+ * Determine if object is a Stats object.
57
+ *
58
+ * @param {object} obj
59
+ * @return {boolean}
60
+ * @api private
61
+ */
62
+ function isstats(obj) {
63
+ if (typeof Stats === "function" && obj instanceof Stats) return true;
64
+ return obj && typeof obj === "object" && "ctime" in obj && toString.call(obj.ctime) === "[object Date]" && "mtime" in obj && toString.call(obj.mtime) === "[object Date]" && "ino" in obj && typeof obj.ino === "number" && "size" in obj && typeof obj.size === "number";
65
+ }
66
+ /**
67
+ * Generate a tag for a stat.
68
+ *
69
+ * @param {object} stat
70
+ * @return {string}
71
+ * @private
72
+ */
73
+ function stattag(stat) {
74
+ var mtime = stat.mtime.getTime().toString(16);
75
+ return "\"" + stat.size.toString(16) + "-" + mtime + "\"";
76
+ }
77
+ }) });
78
+
79
+ //#endregion
80
+ export { require_etag as t };
@@ -0,0 +1,514 @@
1
+ import * as nativeFs$1 from "fs";
2
+ import { basename, dirname, normalize, relative, resolve, sep } from "path";
3
+ import { createRequire } from "module";
4
+
5
+ //#region node_modules/.pnpm/fdir@6.5.0_picomatch@4.0.3/node_modules/fdir/dist/index.mjs
6
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
7
+ function cleanPath(path$1) {
8
+ let normalized = normalize(path$1);
9
+ if (normalized.length > 1 && normalized[normalized.length - 1] === sep) normalized = normalized.substring(0, normalized.length - 1);
10
+ return normalized;
11
+ }
12
+ const SLASHES_REGEX = /[\\/]/g;
13
+ function convertSlashes(path$1, separator) {
14
+ return path$1.replace(SLASHES_REGEX, separator);
15
+ }
16
+ const WINDOWS_ROOT_DIR_REGEX = /^[a-z]:[\\/]$/i;
17
+ function isRootDirectory(path$1) {
18
+ return path$1 === "/" || WINDOWS_ROOT_DIR_REGEX.test(path$1);
19
+ }
20
+ function normalizePath(path$1, options) {
21
+ const { resolvePaths, normalizePath: normalizePath$1, pathSeparator } = options;
22
+ const pathNeedsCleaning = process.platform === "win32" && path$1.includes("/") || path$1.startsWith(".");
23
+ if (resolvePaths) path$1 = resolve(path$1);
24
+ if (normalizePath$1 || pathNeedsCleaning) path$1 = cleanPath(path$1);
25
+ if (path$1 === ".") return "";
26
+ return convertSlashes(path$1[path$1.length - 1] !== pathSeparator ? path$1 + pathSeparator : path$1, pathSeparator);
27
+ }
28
+ function joinPathWithBasePath(filename, directoryPath) {
29
+ return directoryPath + filename;
30
+ }
31
+ function joinPathWithRelativePath(root, options) {
32
+ return function(filename, directoryPath) {
33
+ if (directoryPath.startsWith(root)) return directoryPath.slice(root.length) + filename;
34
+ else return convertSlashes(relative(root, directoryPath), options.pathSeparator) + options.pathSeparator + filename;
35
+ };
36
+ }
37
+ function joinPath(filename) {
38
+ return filename;
39
+ }
40
+ function joinDirectoryPath(filename, directoryPath, separator) {
41
+ return directoryPath + filename + separator;
42
+ }
43
+ function build$7(root, options) {
44
+ const { relativePaths, includeBasePath } = options;
45
+ return relativePaths && root ? joinPathWithRelativePath(root, options) : includeBasePath ? joinPathWithBasePath : joinPath;
46
+ }
47
+ function pushDirectoryWithRelativePath(root) {
48
+ return function(directoryPath, paths) {
49
+ paths.push(directoryPath.substring(root.length) || ".");
50
+ };
51
+ }
52
+ function pushDirectoryFilterWithRelativePath(root) {
53
+ return function(directoryPath, paths, filters) {
54
+ const relativePath = directoryPath.substring(root.length) || ".";
55
+ if (filters.every((filter) => filter(relativePath, true))) paths.push(relativePath);
56
+ };
57
+ }
58
+ const pushDirectory = (directoryPath, paths) => {
59
+ paths.push(directoryPath || ".");
60
+ };
61
+ const pushDirectoryFilter = (directoryPath, paths, filters) => {
62
+ const path$1 = directoryPath || ".";
63
+ if (filters.every((filter) => filter(path$1, true))) paths.push(path$1);
64
+ };
65
+ const empty$2 = () => {};
66
+ function build$6(root, options) {
67
+ const { includeDirs, filters, relativePaths } = options;
68
+ if (!includeDirs) return empty$2;
69
+ if (relativePaths) return filters && filters.length ? pushDirectoryFilterWithRelativePath(root) : pushDirectoryWithRelativePath(root);
70
+ return filters && filters.length ? pushDirectoryFilter : pushDirectory;
71
+ }
72
+ const pushFileFilterAndCount = (filename, _paths, counts, filters) => {
73
+ if (filters.every((filter) => filter(filename, false))) counts.files++;
74
+ };
75
+ const pushFileFilter = (filename, paths, _counts, filters) => {
76
+ if (filters.every((filter) => filter(filename, false))) paths.push(filename);
77
+ };
78
+ const pushFileCount = (_filename, _paths, counts, _filters) => {
79
+ counts.files++;
80
+ };
81
+ const pushFile = (filename, paths) => {
82
+ paths.push(filename);
83
+ };
84
+ const empty$1 = () => {};
85
+ function build$5(options) {
86
+ const { excludeFiles, filters, onlyCounts } = options;
87
+ if (excludeFiles) return empty$1;
88
+ if (filters && filters.length) return onlyCounts ? pushFileFilterAndCount : pushFileFilter;
89
+ else if (onlyCounts) return pushFileCount;
90
+ else return pushFile;
91
+ }
92
+ const getArray = (paths) => {
93
+ return paths;
94
+ };
95
+ const getArrayGroup = () => {
96
+ return [""].slice(0, 0);
97
+ };
98
+ function build$4(options) {
99
+ return options.group ? getArrayGroup : getArray;
100
+ }
101
+ const groupFiles = (groups, directory, files) => {
102
+ groups.push({
103
+ directory,
104
+ files,
105
+ dir: directory
106
+ });
107
+ };
108
+ const empty = () => {};
109
+ function build$3(options) {
110
+ return options.group ? groupFiles : empty;
111
+ }
112
+ const resolveSymlinksAsync = function(path$1, state, callback$1) {
113
+ const { queue, fs, options: { suppressErrors } } = state;
114
+ queue.enqueue();
115
+ fs.realpath(path$1, (error, resolvedPath) => {
116
+ if (error) return queue.dequeue(suppressErrors ? null : error, state);
117
+ fs.stat(resolvedPath, (error$1, stat$1) => {
118
+ if (error$1) return queue.dequeue(suppressErrors ? null : error$1, state);
119
+ if (stat$1.isDirectory() && isRecursive(path$1, resolvedPath, state)) return queue.dequeue(null, state);
120
+ callback$1(stat$1, resolvedPath);
121
+ queue.dequeue(null, state);
122
+ });
123
+ });
124
+ };
125
+ const resolveSymlinks = function(path$1, state, callback$1) {
126
+ const { queue, fs, options: { suppressErrors } } = state;
127
+ queue.enqueue();
128
+ try {
129
+ const resolvedPath = fs.realpathSync(path$1);
130
+ const stat$1 = fs.statSync(resolvedPath);
131
+ if (stat$1.isDirectory() && isRecursive(path$1, resolvedPath, state)) return;
132
+ callback$1(stat$1, resolvedPath);
133
+ } catch (e) {
134
+ if (!suppressErrors) throw e;
135
+ }
136
+ };
137
+ function build$2(options, isSynchronous) {
138
+ if (!options.resolveSymlinks || options.excludeSymlinks) return null;
139
+ return isSynchronous ? resolveSymlinks : resolveSymlinksAsync;
140
+ }
141
+ function isRecursive(path$1, resolved, state) {
142
+ if (state.options.useRealPaths) return isRecursiveUsingRealPaths(resolved, state);
143
+ let parent = dirname(path$1);
144
+ let depth = 1;
145
+ while (parent !== state.root && depth < 2) {
146
+ const resolvedPath = state.symlinks.get(parent);
147
+ if (!!resolvedPath && (resolvedPath === resolved || resolvedPath.startsWith(resolved) || resolved.startsWith(resolvedPath))) depth++;
148
+ else parent = dirname(parent);
149
+ }
150
+ state.symlinks.set(path$1, resolved);
151
+ return depth > 1;
152
+ }
153
+ function isRecursiveUsingRealPaths(resolved, state) {
154
+ return state.visited.includes(resolved + state.options.pathSeparator);
155
+ }
156
+ const onlyCountsSync = (state) => {
157
+ return state.counts;
158
+ };
159
+ const groupsSync = (state) => {
160
+ return state.groups;
161
+ };
162
+ const defaultSync = (state) => {
163
+ return state.paths;
164
+ };
165
+ const limitFilesSync = (state) => {
166
+ return state.paths.slice(0, state.options.maxFiles);
167
+ };
168
+ const onlyCountsAsync = (state, error, callback$1) => {
169
+ report(error, callback$1, state.counts, state.options.suppressErrors);
170
+ return null;
171
+ };
172
+ const defaultAsync = (state, error, callback$1) => {
173
+ report(error, callback$1, state.paths, state.options.suppressErrors);
174
+ return null;
175
+ };
176
+ const limitFilesAsync = (state, error, callback$1) => {
177
+ report(error, callback$1, state.paths.slice(0, state.options.maxFiles), state.options.suppressErrors);
178
+ return null;
179
+ };
180
+ const groupsAsync = (state, error, callback$1) => {
181
+ report(error, callback$1, state.groups, state.options.suppressErrors);
182
+ return null;
183
+ };
184
+ function report(error, callback$1, output, suppressErrors) {
185
+ if (error && !suppressErrors) callback$1(error, output);
186
+ else callback$1(null, output);
187
+ }
188
+ function build$1(options, isSynchronous) {
189
+ const { onlyCounts, group, maxFiles } = options;
190
+ if (onlyCounts) return isSynchronous ? onlyCountsSync : onlyCountsAsync;
191
+ else if (group) return isSynchronous ? groupsSync : groupsAsync;
192
+ else if (maxFiles) return isSynchronous ? limitFilesSync : limitFilesAsync;
193
+ else return isSynchronous ? defaultSync : defaultAsync;
194
+ }
195
+ const readdirOpts = { withFileTypes: true };
196
+ const walkAsync = (state, crawlPath, directoryPath, currentDepth, callback$1) => {
197
+ state.queue.enqueue();
198
+ if (currentDepth < 0) return state.queue.dequeue(null, state);
199
+ const { fs } = state;
200
+ state.visited.push(crawlPath);
201
+ state.counts.directories++;
202
+ fs.readdir(crawlPath || ".", readdirOpts, (error, entries = []) => {
203
+ callback$1(entries, directoryPath, currentDepth);
204
+ state.queue.dequeue(state.options.suppressErrors ? null : error, state);
205
+ });
206
+ };
207
+ const walkSync = (state, crawlPath, directoryPath, currentDepth, callback$1) => {
208
+ const { fs } = state;
209
+ if (currentDepth < 0) return;
210
+ state.visited.push(crawlPath);
211
+ state.counts.directories++;
212
+ let entries = [];
213
+ try {
214
+ entries = fs.readdirSync(crawlPath || ".", readdirOpts);
215
+ } catch (e) {
216
+ if (!state.options.suppressErrors) throw e;
217
+ }
218
+ callback$1(entries, directoryPath, currentDepth);
219
+ };
220
+ function build(isSynchronous) {
221
+ return isSynchronous ? walkSync : walkAsync;
222
+ }
223
+ /**
224
+ * This is a custom stateless queue to track concurrent async fs calls.
225
+ * It increments a counter whenever a call is queued and decrements it
226
+ * as soon as it completes. When the counter hits 0, it calls onQueueEmpty.
227
+ */
228
+ var Queue = class {
229
+ count = 0;
230
+ constructor(onQueueEmpty) {
231
+ this.onQueueEmpty = onQueueEmpty;
232
+ }
233
+ enqueue() {
234
+ this.count++;
235
+ return this.count;
236
+ }
237
+ dequeue(error, output) {
238
+ if (this.onQueueEmpty && (--this.count <= 0 || error)) {
239
+ this.onQueueEmpty(error, output);
240
+ if (error) {
241
+ output.controller.abort();
242
+ this.onQueueEmpty = void 0;
243
+ }
244
+ }
245
+ }
246
+ };
247
+ var Counter = class {
248
+ _files = 0;
249
+ _directories = 0;
250
+ set files(num) {
251
+ this._files = num;
252
+ }
253
+ get files() {
254
+ return this._files;
255
+ }
256
+ set directories(num) {
257
+ this._directories = num;
258
+ }
259
+ get directories() {
260
+ return this._directories;
261
+ }
262
+ /**
263
+ * @deprecated use `directories` instead
264
+ */
265
+ /* c8 ignore next 3 */
266
+ get dirs() {
267
+ return this._directories;
268
+ }
269
+ };
270
+ /**
271
+ * AbortController is not supported on Node 14 so we use this until we can drop
272
+ * support for Node 14.
273
+ */
274
+ var Aborter = class {
275
+ aborted = false;
276
+ abort() {
277
+ this.aborted = true;
278
+ }
279
+ };
280
+ var Walker = class {
281
+ root;
282
+ isSynchronous;
283
+ state;
284
+ joinPath;
285
+ pushDirectory;
286
+ pushFile;
287
+ getArray;
288
+ groupFiles;
289
+ resolveSymlink;
290
+ walkDirectory;
291
+ callbackInvoker;
292
+ constructor(root, options, callback$1) {
293
+ this.isSynchronous = !callback$1;
294
+ this.callbackInvoker = build$1(options, this.isSynchronous);
295
+ this.root = normalizePath(root, options);
296
+ this.state = {
297
+ root: isRootDirectory(this.root) ? this.root : this.root.slice(0, -1),
298
+ paths: [""].slice(0, 0),
299
+ groups: [],
300
+ counts: new Counter(),
301
+ options,
302
+ queue: new Queue((error, state) => this.callbackInvoker(state, error, callback$1)),
303
+ symlinks: /* @__PURE__ */ new Map(),
304
+ visited: [""].slice(0, 0),
305
+ controller: new Aborter(),
306
+ fs: options.fs || nativeFs$1
307
+ };
308
+ this.joinPath = build$7(this.root, options);
309
+ this.pushDirectory = build$6(this.root, options);
310
+ this.pushFile = build$5(options);
311
+ this.getArray = build$4(options);
312
+ this.groupFiles = build$3(options);
313
+ this.resolveSymlink = build$2(options, this.isSynchronous);
314
+ this.walkDirectory = build(this.isSynchronous);
315
+ }
316
+ start() {
317
+ this.pushDirectory(this.root, this.state.paths, this.state.options.filters);
318
+ this.walkDirectory(this.state, this.root, this.root, this.state.options.maxDepth, this.walk);
319
+ return this.isSynchronous ? this.callbackInvoker(this.state, null) : null;
320
+ }
321
+ walk = (entries, directoryPath, depth) => {
322
+ const { paths, options: { filters, resolveSymlinks: resolveSymlinks$1, excludeSymlinks, exclude, maxFiles, signal, useRealPaths, pathSeparator }, controller } = this.state;
323
+ if (controller.aborted || signal && signal.aborted || maxFiles && paths.length > maxFiles) return;
324
+ const files = this.getArray(this.state.paths);
325
+ for (let i = 0; i < entries.length; ++i) {
326
+ const entry = entries[i];
327
+ if (entry.isFile() || entry.isSymbolicLink() && !resolveSymlinks$1 && !excludeSymlinks) {
328
+ const filename = this.joinPath(entry.name, directoryPath);
329
+ this.pushFile(filename, files, this.state.counts, filters);
330
+ } else if (entry.isDirectory()) {
331
+ let path$1 = joinDirectoryPath(entry.name, directoryPath, this.state.options.pathSeparator);
332
+ if (exclude && exclude(entry.name, path$1)) continue;
333
+ this.pushDirectory(path$1, paths, filters);
334
+ this.walkDirectory(this.state, path$1, path$1, depth - 1, this.walk);
335
+ } else if (this.resolveSymlink && entry.isSymbolicLink()) {
336
+ let path$1 = joinPathWithBasePath(entry.name, directoryPath);
337
+ this.resolveSymlink(path$1, this.state, (stat$1, resolvedPath) => {
338
+ if (stat$1.isDirectory()) {
339
+ resolvedPath = normalizePath(resolvedPath, this.state.options);
340
+ if (exclude && exclude(entry.name, useRealPaths ? resolvedPath : path$1 + pathSeparator)) return;
341
+ this.walkDirectory(this.state, resolvedPath, useRealPaths ? resolvedPath : path$1 + pathSeparator, depth - 1, this.walk);
342
+ } else {
343
+ resolvedPath = useRealPaths ? resolvedPath : path$1;
344
+ const filename = basename(resolvedPath);
345
+ const directoryPath$1 = normalizePath(dirname(resolvedPath), this.state.options);
346
+ resolvedPath = this.joinPath(filename, directoryPath$1);
347
+ this.pushFile(resolvedPath, files, this.state.counts, filters);
348
+ }
349
+ });
350
+ }
351
+ }
352
+ this.groupFiles(this.state.groups, directoryPath, files);
353
+ };
354
+ };
355
+ function promise(root, options) {
356
+ return new Promise((resolve$1, reject) => {
357
+ callback(root, options, (err, output) => {
358
+ if (err) return reject(err);
359
+ resolve$1(output);
360
+ });
361
+ });
362
+ }
363
+ function callback(root, options, callback$1) {
364
+ new Walker(root, options, callback$1).start();
365
+ }
366
+ function sync(root, options) {
367
+ return new Walker(root, options).start();
368
+ }
369
+ var APIBuilder = class {
370
+ constructor(root, options) {
371
+ this.root = root;
372
+ this.options = options;
373
+ }
374
+ withPromise() {
375
+ return promise(this.root, this.options);
376
+ }
377
+ withCallback(cb) {
378
+ callback(this.root, this.options, cb);
379
+ }
380
+ sync() {
381
+ return sync(this.root, this.options);
382
+ }
383
+ };
384
+ let pm = null;
385
+ /* c8 ignore next 6 */
386
+ try {
387
+ __require.resolve("picomatch");
388
+ pm = __require("picomatch");
389
+ } catch {}
390
+ var Builder = class {
391
+ globCache = {};
392
+ options = {
393
+ maxDepth: Infinity,
394
+ suppressErrors: true,
395
+ pathSeparator: sep,
396
+ filters: []
397
+ };
398
+ globFunction;
399
+ constructor(options) {
400
+ this.options = {
401
+ ...this.options,
402
+ ...options
403
+ };
404
+ this.globFunction = this.options.globFunction;
405
+ }
406
+ group() {
407
+ this.options.group = true;
408
+ return this;
409
+ }
410
+ withPathSeparator(separator) {
411
+ this.options.pathSeparator = separator;
412
+ return this;
413
+ }
414
+ withBasePath() {
415
+ this.options.includeBasePath = true;
416
+ return this;
417
+ }
418
+ withRelativePaths() {
419
+ this.options.relativePaths = true;
420
+ return this;
421
+ }
422
+ withDirs() {
423
+ this.options.includeDirs = true;
424
+ return this;
425
+ }
426
+ withMaxDepth(depth) {
427
+ this.options.maxDepth = depth;
428
+ return this;
429
+ }
430
+ withMaxFiles(limit) {
431
+ this.options.maxFiles = limit;
432
+ return this;
433
+ }
434
+ withFullPaths() {
435
+ this.options.resolvePaths = true;
436
+ this.options.includeBasePath = true;
437
+ return this;
438
+ }
439
+ withErrors() {
440
+ this.options.suppressErrors = false;
441
+ return this;
442
+ }
443
+ withSymlinks({ resolvePaths = true } = {}) {
444
+ this.options.resolveSymlinks = true;
445
+ this.options.useRealPaths = resolvePaths;
446
+ return this.withFullPaths();
447
+ }
448
+ withAbortSignal(signal) {
449
+ this.options.signal = signal;
450
+ return this;
451
+ }
452
+ normalize() {
453
+ this.options.normalizePath = true;
454
+ return this;
455
+ }
456
+ filter(predicate) {
457
+ this.options.filters.push(predicate);
458
+ return this;
459
+ }
460
+ onlyDirs() {
461
+ this.options.excludeFiles = true;
462
+ this.options.includeDirs = true;
463
+ return this;
464
+ }
465
+ exclude(predicate) {
466
+ this.options.exclude = predicate;
467
+ return this;
468
+ }
469
+ onlyCounts() {
470
+ this.options.onlyCounts = true;
471
+ return this;
472
+ }
473
+ crawl(root) {
474
+ return new APIBuilder(root || ".", this.options);
475
+ }
476
+ withGlobFunction(fn) {
477
+ this.globFunction = fn;
478
+ return this;
479
+ }
480
+ /**
481
+ * @deprecated Pass options using the constructor instead:
482
+ * ```ts
483
+ * new fdir(options).crawl("/path/to/root");
484
+ * ```
485
+ * This method will be removed in v7.0
486
+ */
487
+ /* c8 ignore next 4 */
488
+ crawlWithOptions(root, options) {
489
+ this.options = {
490
+ ...this.options,
491
+ ...options
492
+ };
493
+ return new APIBuilder(root || ".", this.options);
494
+ }
495
+ glob(...patterns) {
496
+ if (this.globFunction) return this.globWithOptions(patterns);
497
+ return this.globWithOptions(patterns, ...[{ dot: true }]);
498
+ }
499
+ globWithOptions(patterns, ...options) {
500
+ const globFn = this.globFunction || pm;
501
+ /* c8 ignore next 5 */
502
+ if (!globFn) throw new Error("Please specify a glob function to use glob matching.");
503
+ var isMatch = this.globCache[patterns.join("\0")];
504
+ if (!isMatch) {
505
+ isMatch = globFn(patterns, ...options);
506
+ this.globCache[patterns.join("\0")] = isMatch;
507
+ }
508
+ this.options.filters.push((path$1) => isMatch(path$1));
509
+ return this;
510
+ }
511
+ };
512
+
513
+ //#endregion
514
+ export { Builder as t };
@@ -0,0 +1,63 @@
1
+ import { t as __commonJS } from "../_chunks/Bqks5huO.mjs";
2
+
3
+ //#region node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
4
+ var require_implementation = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js": ((exports, module) => {
5
+ var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
6
+ var toStr = Object.prototype.toString;
7
+ var max = Math.max;
8
+ var funcType = "[object Function]";
9
+ var concatty = function concatty$1(a, b) {
10
+ var arr = [];
11
+ for (var i = 0; i < a.length; i += 1) arr[i] = a[i];
12
+ for (var j = 0; j < b.length; j += 1) arr[j + a.length] = b[j];
13
+ return arr;
14
+ };
15
+ var slicy = function slicy$1(arrLike, offset) {
16
+ var arr = [];
17
+ for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) arr[j] = arrLike[i];
18
+ return arr;
19
+ };
20
+ var joiny = function(arr, joiner) {
21
+ var str = "";
22
+ for (var i = 0; i < arr.length; i += 1) {
23
+ str += arr[i];
24
+ if (i + 1 < arr.length) str += joiner;
25
+ }
26
+ return str;
27
+ };
28
+ module.exports = function bind(that) {
29
+ var target = this;
30
+ if (typeof target !== "function" || toStr.apply(target) !== funcType) throw new TypeError(ERROR_MESSAGE + target);
31
+ var args = slicy(arguments, 1);
32
+ var bound;
33
+ var binder = function() {
34
+ if (this instanceof bound) {
35
+ var result = target.apply(this, concatty(args, arguments));
36
+ if (Object(result) === result) return result;
37
+ return this;
38
+ }
39
+ return target.apply(that, concatty(args, arguments));
40
+ };
41
+ var boundLength = max(0, target.length - args.length);
42
+ var boundArgs = [];
43
+ for (var i = 0; i < boundLength; i++) boundArgs[i] = "$" + i;
44
+ bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
45
+ if (target.prototype) {
46
+ var Empty = function Empty$1() {};
47
+ Empty.prototype = target.prototype;
48
+ bound.prototype = new Empty();
49
+ Empty.prototype = null;
50
+ }
51
+ return bound;
52
+ };
53
+ }) });
54
+
55
+ //#endregion
56
+ //#region node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
57
+ var require_function_bind = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js": ((exports, module) => {
58
+ var implementation = require_implementation();
59
+ module.exports = Function.prototype.bind || implementation;
60
+ }) });
61
+
62
+ //#endregion
63
+ export { require_function_bind as t };