alchemy 0.24.1 → 0.26.0

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 (500) hide show
  1. package/README.md +7 -0
  2. package/lib/ai/astro-file.d.ts.map +1 -1
  3. package/lib/ai/astro-file.js +2 -1
  4. package/lib/ai/astro-file.js.map +1 -1
  5. package/lib/ai/client.d.ts.map +1 -1
  6. package/lib/ai/client.js +3 -2
  7. package/lib/ai/client.js.map +1 -1
  8. package/lib/alchemy.d.ts +7 -0
  9. package/lib/alchemy.d.ts.map +1 -1
  10. package/lib/alchemy.js +19 -3
  11. package/lib/alchemy.js.map +1 -1
  12. package/lib/apply.d.ts.map +1 -1
  13. package/lib/apply.js +63 -5
  14. package/lib/apply.js.map +1 -1
  15. package/lib/aws/control/client.js +5 -4
  16. package/lib/aws/control/client.js.map +1 -1
  17. package/lib/aws/control/properties.d.ts +6 -0
  18. package/lib/aws/control/properties.d.ts.map +1 -1
  19. package/lib/aws/control/properties.js +48 -0
  20. package/lib/aws/control/properties.js.map +1 -1
  21. package/lib/aws/control/resource.d.ts.map +1 -1
  22. package/lib/aws/control/resource.js +5 -3
  23. package/lib/aws/control/resource.js.map +1 -1
  24. package/lib/aws/control/types.d.ts +3969 -4862
  25. package/lib/aws/control/types.d.ts.map +1 -1
  26. package/lib/aws/control/types.js.map +1 -1
  27. package/lib/aws/function.d.ts.map +1 -1
  28. package/lib/aws/function.js +9 -8
  29. package/lib/aws/function.js.map +1 -1
  30. package/lib/aws/oidc/oidc-provider.d.ts.map +1 -1
  31. package/lib/aws/oidc/oidc-provider.js +3 -2
  32. package/lib/aws/oidc/oidc-provider.js.map +1 -1
  33. package/lib/aws/queue.d.ts.map +1 -1
  34. package/lib/aws/queue.js +3 -2
  35. package/lib/aws/queue.js.map +1 -1
  36. package/lib/aws/role.d.ts.map +1 -1
  37. package/lib/aws/role.js +3 -1
  38. package/lib/aws/role.js.map +1 -1
  39. package/lib/aws/ssm-parameter.d.ts.map +1 -1
  40. package/lib/aws/ssm-parameter.js +2 -1
  41. package/lib/aws/ssm-parameter.js.map +1 -1
  42. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  43. package/lib/cloudflare/account-api-token.js +3 -2
  44. package/lib/cloudflare/account-api-token.js.map +1 -1
  45. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  46. package/lib/cloudflare/ai-gateway.js +4 -3
  47. package/lib/cloudflare/ai-gateway.js.map +1 -1
  48. package/lib/cloudflare/ai.d.ts +21 -0
  49. package/lib/cloudflare/ai.d.ts.map +1 -1
  50. package/lib/cloudflare/ai.js +21 -0
  51. package/lib/cloudflare/ai.js.map +1 -1
  52. package/lib/cloudflare/api-error.d.ts +0 -9
  53. package/lib/cloudflare/api-error.d.ts.map +1 -1
  54. package/lib/cloudflare/api-error.js +24 -0
  55. package/lib/cloudflare/api-error.js.map +1 -1
  56. package/lib/cloudflare/api.d.ts.map +1 -1
  57. package/lib/cloudflare/api.js +5 -4
  58. package/lib/cloudflare/api.js.map +1 -1
  59. package/lib/cloudflare/assets.d.ts.map +1 -1
  60. package/lib/cloudflare/assets.js +26 -6
  61. package/lib/cloudflare/assets.js.map +1 -1
  62. package/lib/cloudflare/astro.d.ts +63 -0
  63. package/lib/cloudflare/astro.d.ts.map +1 -0
  64. package/lib/cloudflare/astro.js +133 -0
  65. package/lib/cloudflare/astro.js.map +1 -0
  66. package/lib/cloudflare/auth.d.ts.map +1 -1
  67. package/lib/cloudflare/auth.js +3 -2
  68. package/lib/cloudflare/auth.js.map +1 -1
  69. package/lib/cloudflare/bindings.d.ts +23 -2
  70. package/lib/cloudflare/bindings.d.ts.map +1 -1
  71. package/lib/cloudflare/bindings.js.map +1 -1
  72. package/lib/cloudflare/bound.d.ts +7 -1
  73. package/lib/cloudflare/bound.d.ts.map +1 -1
  74. package/lib/cloudflare/bucket.d.ts.map +1 -1
  75. package/lib/cloudflare/bucket.js +12 -8
  76. package/lib/cloudflare/bucket.js.map +1 -1
  77. package/lib/cloudflare/bundle/bundle-worker.d.ts.map +1 -1
  78. package/lib/cloudflare/bundle/bundle-worker.js +2 -1
  79. package/lib/cloudflare/bundle/bundle-worker.js.map +1 -1
  80. package/lib/cloudflare/bundle/nodejs-compat-mode.d.ts.map +1 -1
  81. package/lib/cloudflare/bundle/nodejs-compat-mode.js +2 -1
  82. package/lib/cloudflare/bundle/nodejs-compat-mode.js.map +1 -1
  83. package/lib/cloudflare/custom-domain.d.ts.map +1 -1
  84. package/lib/cloudflare/custom-domain.js +10 -9
  85. package/lib/cloudflare/custom-domain.js.map +1 -1
  86. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  87. package/lib/cloudflare/d1-database.js +11 -10
  88. package/lib/cloudflare/d1-database.js.map +1 -1
  89. package/lib/cloudflare/d1-export.d.ts.map +1 -1
  90. package/lib/cloudflare/d1-export.js +2 -1
  91. package/lib/cloudflare/d1-export.js.map +1 -1
  92. package/lib/cloudflare/d1-import.d.ts.map +1 -1
  93. package/lib/cloudflare/d1-import.js +2 -1
  94. package/lib/cloudflare/d1-import.js.map +1 -1
  95. package/lib/cloudflare/d1-migrations.d.ts.map +1 -1
  96. package/lib/cloudflare/d1-migrations.js +2 -1
  97. package/lib/cloudflare/d1-migrations.js.map +1 -1
  98. package/lib/cloudflare/dns-records.d.ts.map +1 -1
  99. package/lib/cloudflare/dns-records.js +5 -4
  100. package/lib/cloudflare/dns-records.js.map +1 -1
  101. package/lib/cloudflare/do-state-store/worker.d.ts.map +1 -1
  102. package/lib/cloudflare/do-state-store/worker.js +4 -0
  103. package/lib/cloudflare/do-state-store/worker.js.map +1 -1
  104. package/lib/cloudflare/email-address.d.ts +79 -0
  105. package/lib/cloudflare/email-address.d.ts.map +1 -0
  106. package/lib/cloudflare/email-address.js +112 -0
  107. package/lib/cloudflare/email-address.js.map +1 -0
  108. package/lib/cloudflare/email-catch-all.d.ts +123 -0
  109. package/lib/cloudflare/email-catch-all.d.ts.map +1 -0
  110. package/lib/cloudflare/email-catch-all.js +124 -0
  111. package/lib/cloudflare/email-catch-all.js.map +1 -0
  112. package/lib/cloudflare/email-routing.d.ts +89 -0
  113. package/lib/cloudflare/email-routing.d.ts.map +1 -0
  114. package/lib/cloudflare/email-routing.js +120 -0
  115. package/lib/cloudflare/email-routing.js.map +1 -0
  116. package/lib/cloudflare/email-rule.d.ts +196 -0
  117. package/lib/cloudflare/email-rule.d.ts.map +1 -0
  118. package/lib/cloudflare/email-rule.js +153 -0
  119. package/lib/cloudflare/email-rule.js.map +1 -0
  120. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  121. package/lib/cloudflare/hyperdrive.js +5 -4
  122. package/lib/cloudflare/hyperdrive.js.map +1 -1
  123. package/lib/cloudflare/images.d.ts +60 -0
  124. package/lib/cloudflare/images.d.ts.map +1 -0
  125. package/lib/cloudflare/images.js +60 -0
  126. package/lib/cloudflare/images.js.map +1 -0
  127. package/lib/cloudflare/index.d.ts +9 -0
  128. package/lib/cloudflare/index.d.ts.map +1 -1
  129. package/lib/cloudflare/index.js +9 -0
  130. package/lib/cloudflare/index.js.map +1 -1
  131. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  132. package/lib/cloudflare/kv-namespace.js +2 -1
  133. package/lib/cloudflare/kv-namespace.js.map +1 -1
  134. package/lib/cloudflare/pipeline.d.ts +7 -0
  135. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  136. package/lib/cloudflare/pipeline.js +28 -2
  137. package/lib/cloudflare/pipeline.js.map +1 -1
  138. package/lib/cloudflare/queue-consumer.d.ts.map +1 -1
  139. package/lib/cloudflare/queue-consumer.js +2 -1
  140. package/lib/cloudflare/queue-consumer.js.map +1 -1
  141. package/lib/cloudflare/queue.d.ts.map +1 -1
  142. package/lib/cloudflare/queue.js +0 -8
  143. package/lib/cloudflare/queue.js.map +1 -1
  144. package/lib/cloudflare/route.d.ts +26 -1
  145. package/lib/cloudflare/route.d.ts.map +1 -1
  146. package/lib/cloudflare/route.js +84 -16
  147. package/lib/cloudflare/route.js.map +1 -1
  148. package/lib/cloudflare/secret.d.ts +137 -0
  149. package/lib/cloudflare/secret.d.ts.map +1 -0
  150. package/lib/cloudflare/secret.js +122 -0
  151. package/lib/cloudflare/secret.js.map +1 -0
  152. package/lib/cloudflare/secrets-store.d.ts +145 -0
  153. package/lib/cloudflare/secrets-store.d.ts.map +1 -0
  154. package/lib/cloudflare/secrets-store.js +213 -0
  155. package/lib/cloudflare/secrets-store.js.map +1 -0
  156. package/lib/cloudflare/sveltekit.d.ts +49 -0
  157. package/lib/cloudflare/sveltekit.d.ts.map +1 -0
  158. package/lib/cloudflare/sveltekit.js +56 -0
  159. package/lib/cloudflare/sveltekit.js.map +1 -0
  160. package/lib/cloudflare/user.d.ts.map +1 -1
  161. package/lib/cloudflare/user.js +2 -1
  162. package/lib/cloudflare/user.js.map +1 -1
  163. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  164. package/lib/cloudflare/vectorize-index.js +6 -5
  165. package/lib/cloudflare/vectorize-index.js.map +1 -1
  166. package/lib/cloudflare/vectorize-metadata-index.d.ts.map +1 -1
  167. package/lib/cloudflare/vectorize-metadata-index.js +2 -1
  168. package/lib/cloudflare/vectorize-metadata-index.js.map +1 -1
  169. package/lib/cloudflare/website.d.ts.map +1 -1
  170. package/lib/cloudflare/website.js +7 -2
  171. package/lib/cloudflare/website.js.map +1 -1
  172. package/lib/cloudflare/worker-assets.d.ts +18 -0
  173. package/lib/cloudflare/worker-assets.d.ts.map +1 -1
  174. package/lib/cloudflare/worker-assets.js +61 -57
  175. package/lib/cloudflare/worker-assets.js.map +1 -1
  176. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  177. package/lib/cloudflare/worker-metadata.js +16 -1
  178. package/lib/cloudflare/worker-metadata.js.map +1 -1
  179. package/lib/cloudflare/worker.d.ts +31 -1
  180. package/lib/cloudflare/worker.d.ts.map +1 -1
  181. package/lib/cloudflare/worker.js +34 -8
  182. package/lib/cloudflare/worker.js.map +1 -1
  183. package/lib/cloudflare/wrangler.json.d.ts +14 -0
  184. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  185. package/lib/cloudflare/wrangler.json.js +23 -0
  186. package/lib/cloudflare/wrangler.json.js.map +1 -1
  187. package/lib/cloudflare/zone.d.ts +30 -2
  188. package/lib/cloudflare/zone.d.ts.map +1 -1
  189. package/lib/cloudflare/zone.js +57 -3
  190. package/lib/cloudflare/zone.js.map +1 -1
  191. package/lib/destroy.d.ts.map +1 -1
  192. package/lib/destroy.js +30 -13
  193. package/lib/destroy.js.map +1 -1
  194. package/lib/dns/godaddy.d.ts.map +1 -1
  195. package/lib/dns/godaddy.js +3 -2
  196. package/lib/dns/godaddy.js.map +1 -1
  197. package/lib/dns/import-dns.d.ts.map +1 -1
  198. package/lib/dns/import-dns.js +2 -1
  199. package/lib/dns/import-dns.js.map +1 -1
  200. package/lib/esbuild/bundle.d.ts +1 -1
  201. package/lib/esbuild/bundle.d.ts.map +1 -1
  202. package/lib/esbuild/bundle.js +2 -1
  203. package/lib/esbuild/bundle.js.map +1 -1
  204. package/lib/fs/copy-file.d.ts.map +1 -1
  205. package/lib/fs/copy-file.js +2 -1
  206. package/lib/fs/copy-file.js.map +1 -1
  207. package/lib/fs/file.d.ts.map +1 -1
  208. package/lib/fs/file.js +2 -1
  209. package/lib/fs/file.js.map +1 -1
  210. package/lib/github/client.d.ts.map +1 -1
  211. package/lib/github/client.js +11 -10
  212. package/lib/github/client.js.map +1 -1
  213. package/lib/github/repository-environment.d.ts.map +1 -1
  214. package/lib/github/repository-environment.js +5 -4
  215. package/lib/github/repository-environment.js.map +1 -1
  216. package/lib/github/secret.d.ts.map +1 -1
  217. package/lib/github/secret.js +7 -6
  218. package/lib/github/secret.js.map +1 -1
  219. package/lib/index.d.ts +2 -1
  220. package/lib/index.d.ts.map +1 -1
  221. package/lib/index.js +1 -0
  222. package/lib/index.js.map +1 -1
  223. package/lib/neon/project.d.ts.map +1 -1
  224. package/lib/neon/project.js +3 -2
  225. package/lib/neon/project.js.map +1 -1
  226. package/lib/planetscale/api.d.ts +53 -0
  227. package/lib/planetscale/api.d.ts.map +1 -0
  228. package/lib/planetscale/api.js +84 -0
  229. package/lib/planetscale/api.js.map +1 -0
  230. package/lib/planetscale/branch.d.ts +129 -0
  231. package/lib/planetscale/branch.d.ts.map +1 -0
  232. package/lib/planetscale/branch.js +161 -0
  233. package/lib/planetscale/branch.js.map +1 -0
  234. package/lib/planetscale/database.d.ts +143 -0
  235. package/lib/planetscale/database.d.ts.map +1 -0
  236. package/lib/planetscale/database.js +184 -0
  237. package/lib/planetscale/database.js.map +1 -0
  238. package/lib/planetscale/index.d.ts +5 -0
  239. package/lib/planetscale/index.d.ts.map +1 -0
  240. package/lib/planetscale/index.js +5 -0
  241. package/lib/planetscale/index.js.map +1 -0
  242. package/lib/planetscale/utils.d.ts +15 -0
  243. package/lib/planetscale/utils.d.ts.map +1 -0
  244. package/lib/planetscale/utils.js +95 -0
  245. package/lib/planetscale/utils.js.map +1 -0
  246. package/lib/resource.js +7 -1
  247. package/lib/resource.js.map +1 -1
  248. package/lib/runtime/plugin.d.ts.map +1 -1
  249. package/lib/runtime/plugin.js +2 -1
  250. package/lib/runtime/plugin.js.map +1 -1
  251. package/lib/scope.d.ts +13 -2
  252. package/lib/scope.d.ts.map +1 -1
  253. package/lib/scope.js +53 -10
  254. package/lib/scope.js.map +1 -1
  255. package/lib/sentry/client-key.d.ts.map +1 -1
  256. package/lib/sentry/client-key.js +5 -4
  257. package/lib/sentry/client-key.js.map +1 -1
  258. package/lib/sentry/project.d.ts.map +1 -1
  259. package/lib/sentry/project.js +5 -4
  260. package/lib/sentry/project.js.map +1 -1
  261. package/lib/sentry/team.d.ts.map +1 -1
  262. package/lib/sentry/team.js +5 -4
  263. package/lib/sentry/team.js.map +1 -1
  264. package/lib/stripe/card.d.ts.map +1 -1
  265. package/lib/stripe/card.js +2 -1
  266. package/lib/stripe/card.js.map +1 -1
  267. package/lib/stripe/client.d.ts.map +1 -1
  268. package/lib/stripe/client.js +3 -2
  269. package/lib/stripe/client.js.map +1 -1
  270. package/lib/stripe/coupon.d.ts.map +1 -1
  271. package/lib/stripe/coupon.js +2 -1
  272. package/lib/stripe/coupon.js.map +1 -1
  273. package/lib/stripe/customer.d.ts.map +1 -1
  274. package/lib/stripe/customer.js +2 -1
  275. package/lib/stripe/customer.js.map +1 -1
  276. package/lib/stripe/entitlements-feature.d.ts.map +1 -1
  277. package/lib/stripe/entitlements-feature.js +2 -1
  278. package/lib/stripe/entitlements-feature.js.map +1 -1
  279. package/lib/stripe/file.d.ts.map +1 -1
  280. package/lib/stripe/file.js +2 -1
  281. package/lib/stripe/file.js.map +1 -1
  282. package/lib/stripe/meter.d.ts.map +1 -1
  283. package/lib/stripe/meter.js +4 -2
  284. package/lib/stripe/meter.js.map +1 -1
  285. package/lib/stripe/portal-configuration.d.ts.map +1 -1
  286. package/lib/stripe/portal-configuration.js +2 -1
  287. package/lib/stripe/portal-configuration.js.map +1 -1
  288. package/lib/stripe/price.d.ts.map +1 -1
  289. package/lib/stripe/price.js +2 -1
  290. package/lib/stripe/price.js.map +1 -1
  291. package/lib/stripe/product-feature.d.ts.map +1 -1
  292. package/lib/stripe/product-feature.js +2 -1
  293. package/lib/stripe/product-feature.js.map +1 -1
  294. package/lib/stripe/product.d.ts.map +1 -1
  295. package/lib/stripe/product.js +2 -1
  296. package/lib/stripe/product.js.map +1 -1
  297. package/lib/stripe/promotion-code.d.ts.map +1 -1
  298. package/lib/stripe/promotion-code.js +2 -1
  299. package/lib/stripe/promotion-code.js.map +1 -1
  300. package/lib/stripe/shipping-rate.d.ts.map +1 -1
  301. package/lib/stripe/shipping-rate.js +2 -1
  302. package/lib/stripe/shipping-rate.js.map +1 -1
  303. package/lib/stripe/tax-rate.d.ts.map +1 -1
  304. package/lib/stripe/tax-rate.js +2 -1
  305. package/lib/stripe/tax-rate.js.map +1 -1
  306. package/lib/stripe/webhook.d.ts.map +1 -1
  307. package/lib/stripe/webhook.js +3 -2
  308. package/lib/stripe/webhook.js.map +1 -1
  309. package/lib/test/bun.d.ts.map +1 -1
  310. package/lib/test/bun.js +6 -1
  311. package/lib/test/bun.js.map +1 -1
  312. package/lib/test/prune.js +7 -1
  313. package/lib/test/prune.js.map +1 -1
  314. package/lib/test/vitest.d.ts.map +1 -1
  315. package/lib/test/vitest.js +2 -0
  316. package/lib/test/vitest.js.map +1 -1
  317. package/lib/upstash/redis.d.ts.map +1 -1
  318. package/lib/upstash/redis.js +2 -1
  319. package/lib/upstash/redis.js.map +1 -1
  320. package/lib/util/async-queue.d.ts +35 -0
  321. package/lib/util/async-queue.d.ts.map +1 -0
  322. package/lib/util/async-queue.js +87 -0
  323. package/lib/util/async-queue.js.map +1 -0
  324. package/lib/util/cli.d.ts +37 -0
  325. package/lib/util/cli.d.ts.map +1 -0
  326. package/lib/util/cli.js +90 -0
  327. package/lib/util/cli.js.map +1 -0
  328. package/lib/util/ignore-matcher.d.ts +94 -0
  329. package/lib/util/ignore-matcher.d.ts.map +1 -0
  330. package/lib/util/ignore-matcher.js +616 -0
  331. package/lib/util/ignore-matcher.js.map +1 -0
  332. package/lib/util/logger.d.ts +3 -0
  333. package/lib/util/logger.d.ts.map +1 -0
  334. package/lib/util/logger.js +15 -0
  335. package/lib/util/logger.js.map +1 -0
  336. package/lib/util/retry.d.ts.map +1 -1
  337. package/lib/util/retry.js +0 -1
  338. package/lib/util/retry.js.map +1 -1
  339. package/lib/util/safe-fetch.d.ts.map +1 -1
  340. package/lib/util/safe-fetch.js +2 -1
  341. package/lib/util/safe-fetch.js.map +1 -1
  342. package/lib/util/telemetry/client.d.ts +32 -0
  343. package/lib/util/telemetry/client.d.ts.map +1 -0
  344. package/lib/util/telemetry/client.js +94 -0
  345. package/lib/util/telemetry/client.js.map +1 -0
  346. package/lib/util/telemetry/constants.d.ts +4 -0
  347. package/lib/util/telemetry/constants.d.ts.map +1 -0
  348. package/lib/util/telemetry/constants.js +8 -0
  349. package/lib/util/telemetry/constants.js.map +1 -0
  350. package/lib/util/telemetry/context.d.ts +15 -0
  351. package/lib/util/telemetry/context.d.ts.map +1 -0
  352. package/lib/util/telemetry/context.js +128 -0
  353. package/lib/util/telemetry/context.js.map +1 -0
  354. package/lib/util/telemetry/index.d.ts +3 -0
  355. package/lib/util/telemetry/index.d.ts.map +1 -0
  356. package/lib/util/telemetry/index.js +3 -0
  357. package/lib/util/telemetry/index.js.map +1 -0
  358. package/lib/util/telemetry/types.d.ts +59 -0
  359. package/lib/util/telemetry/types.d.ts.map +1 -0
  360. package/lib/util/telemetry/types.js +1 -0
  361. package/lib/util/telemetry/types.js.map +1 -0
  362. package/lib/util/xdg-paths.d.ts +9 -0
  363. package/lib/util/xdg-paths.d.ts.map +1 -0
  364. package/lib/util/xdg-paths.js +41 -0
  365. package/lib/util/xdg-paths.js.map +1 -0
  366. package/lib/vercel/project.d.ts.map +1 -1
  367. package/lib/vercel/project.js +2 -1
  368. package/lib/vercel/project.js.map +1 -1
  369. package/lib/web/astro.d.ts.map +1 -1
  370. package/lib/web/astro.js +2 -1
  371. package/lib/web/astro.js.map +1 -1
  372. package/lib/web/shadcn.d.ts.map +1 -1
  373. package/lib/web/shadcn.js +2 -1
  374. package/lib/web/shadcn.js.map +1 -1
  375. package/lib/web/vite.d.ts.map +1 -1
  376. package/lib/web/vite.js +3 -2
  377. package/lib/web/vite.js.map +1 -1
  378. package/lib/web/vitepress/dependencies.d.ts.map +1 -1
  379. package/lib/web/vitepress/dependencies.js +2 -1
  380. package/lib/web/vitepress/dependencies.js.map +1 -1
  381. package/lib/web/vitepress/vitepress.d.ts.map +1 -1
  382. package/lib/web/vitepress/vitepress.js +2 -1
  383. package/lib/web/vitepress/vitepress.js.map +1 -1
  384. package/package.json +7 -5
  385. package/src/ai/astro-file.ts +2 -1
  386. package/src/ai/client.ts +3 -2
  387. package/src/alchemy.ts +28 -3
  388. package/src/apply.ts +66 -5
  389. package/src/aws/control/client.ts +5 -5
  390. package/src/aws/control/properties.ts +48 -0
  391. package/src/aws/control/resource.ts +5 -3
  392. package/src/aws/control/types.ts +3988 -6301
  393. package/src/aws/function.ts +9 -8
  394. package/src/aws/oidc/oidc-provider.ts +3 -2
  395. package/src/aws/queue.ts +3 -2
  396. package/src/aws/role.ts +3 -1
  397. package/src/aws/ssm-parameter.ts +2 -1
  398. package/src/cloudflare/account-api-token.ts +3 -2
  399. package/src/cloudflare/ai-gateway.ts +4 -3
  400. package/src/cloudflare/ai.ts +21 -0
  401. package/src/cloudflare/api-error.ts +36 -0
  402. package/src/cloudflare/api.ts +9 -4
  403. package/src/cloudflare/assets.ts +30 -6
  404. package/src/cloudflare/astro.ts +176 -0
  405. package/src/cloudflare/auth.ts +3 -2
  406. package/src/cloudflare/bindings.ts +27 -0
  407. package/src/cloudflare/bound.ts +31 -17
  408. package/src/cloudflare/bucket.ts +15 -8
  409. package/src/cloudflare/bundle/bundle-worker.ts +2 -1
  410. package/src/cloudflare/bundle/nodejs-compat-mode.ts +2 -1
  411. package/src/cloudflare/custom-domain.ts +10 -9
  412. package/src/cloudflare/d1-database.ts +11 -10
  413. package/src/cloudflare/d1-export.ts +2 -1
  414. package/src/cloudflare/d1-import.ts +2 -1
  415. package/src/cloudflare/d1-migrations.ts +2 -1
  416. package/src/cloudflare/dns-records.ts +5 -4
  417. package/src/cloudflare/do-state-store/worker.ts +4 -0
  418. package/src/cloudflare/email-address.ts +203 -0
  419. package/src/cloudflare/email-catch-all.ts +248 -0
  420. package/src/cloudflare/email-routing.ts +230 -0
  421. package/src/cloudflare/email-rule.ts +322 -0
  422. package/src/cloudflare/hyperdrive.ts +5 -4
  423. package/src/cloudflare/images.ts +59 -0
  424. package/src/cloudflare/index.ts +9 -0
  425. package/src/cloudflare/kv-namespace.ts +2 -1
  426. package/src/cloudflare/pipeline.ts +38 -2
  427. package/src/cloudflare/queue-consumer.ts +2 -1
  428. package/src/cloudflare/queue.ts +0 -12
  429. package/src/cloudflare/route.ts +118 -18
  430. package/src/cloudflare/secret.ts +253 -0
  431. package/src/cloudflare/secrets-store.ts +420 -0
  432. package/src/cloudflare/sveltekit.ts +72 -0
  433. package/src/cloudflare/user.ts +2 -1
  434. package/src/cloudflare/vectorize-index.ts +6 -5
  435. package/src/cloudflare/vectorize-metadata-index.ts +2 -1
  436. package/src/cloudflare/website.ts +76 -66
  437. package/src/cloudflare/worker-assets.ts +95 -77
  438. package/src/cloudflare/worker-metadata.ts +14 -1
  439. package/src/cloudflare/worker.ts +76 -9
  440. package/src/cloudflare/wrangler.json.ts +42 -0
  441. package/src/cloudflare/zone.ts +79 -5
  442. package/src/destroy.ts +35 -17
  443. package/src/dns/godaddy.ts +3 -2
  444. package/src/dns/import-dns.ts +2 -1
  445. package/src/esbuild/bundle.ts +2 -1
  446. package/src/fs/copy-file.ts +2 -1
  447. package/src/fs/file.ts +3 -1
  448. package/src/github/client.ts +11 -10
  449. package/src/github/repository-environment.ts +5 -4
  450. package/src/github/secret.ts +7 -6
  451. package/src/index.ts +2 -1
  452. package/src/neon/project.ts +3 -2
  453. package/src/planetscale/api.ts +115 -0
  454. package/src/planetscale/branch.ts +352 -0
  455. package/src/planetscale/database.ts +394 -0
  456. package/src/planetscale/index.ts +4 -0
  457. package/src/planetscale/utils.ts +189 -0
  458. package/src/resource.ts +7 -1
  459. package/src/runtime/plugin.ts +2 -1
  460. package/src/scope.ts +64 -13
  461. package/src/sentry/client-key.ts +5 -4
  462. package/src/sentry/project.ts +5 -4
  463. package/src/sentry/team.ts +5 -4
  464. package/src/stripe/card.ts +2 -1
  465. package/src/stripe/client.ts +3 -2
  466. package/src/stripe/coupon.ts +2 -1
  467. package/src/stripe/customer.ts +2 -1
  468. package/src/stripe/entitlements-feature.ts +2 -1
  469. package/src/stripe/file.ts +2 -1
  470. package/src/stripe/meter.ts +4 -2
  471. package/src/stripe/portal-configuration.ts +2 -1
  472. package/src/stripe/price.ts +2 -1
  473. package/src/stripe/product-feature.ts +2 -1
  474. package/src/stripe/product.ts +2 -1
  475. package/src/stripe/promotion-code.ts +2 -1
  476. package/src/stripe/shipping-rate.ts +2 -1
  477. package/src/stripe/tax-rate.ts +2 -1
  478. package/src/stripe/webhook.ts +3 -2
  479. package/src/test/bun.ts +6 -1
  480. package/src/test/prune.ts +7 -1
  481. package/src/test/vitest.ts +2 -0
  482. package/src/upstash/redis.ts +2 -1
  483. package/src/util/async-queue.ts +97 -0
  484. package/src/util/cli.tsx +221 -0
  485. package/src/util/ignore-matcher.ts +873 -0
  486. package/src/util/logger.ts +17 -0
  487. package/src/util/retry.ts +0 -1
  488. package/src/util/safe-fetch.ts +2 -1
  489. package/src/util/telemetry/client.ts +127 -0
  490. package/src/util/telemetry/constants.ts +13 -0
  491. package/src/util/telemetry/context.ts +154 -0
  492. package/src/util/telemetry/index.ts +2 -0
  493. package/src/util/telemetry/types.ts +83 -0
  494. package/src/util/xdg-paths.ts +48 -0
  495. package/src/vercel/project.ts +2 -1
  496. package/src/web/astro.ts +2 -1
  497. package/src/web/shadcn.ts +2 -1
  498. package/src/web/vite.ts +3 -2
  499. package/src/web/vitepress/dependencies.ts +2 -1
  500. package/src/web/vitepress/vitepress.ts +2 -1
@@ -0,0 +1,616 @@
1
+ // Adapted from https://github.com/kaelzhang/node-ignore/tree/master
2
+ // A simple implementation of make-array
3
+ function makeArray(subject) {
4
+ return Array.isArray(subject) ? subject : [subject];
5
+ }
6
+ const UNDEFINED = undefined;
7
+ const EMPTY = "";
8
+ const SPACE = " ";
9
+ const ESCAPE = "\\";
10
+ const REGEX_TEST_BLANK_LINE = /^\s+$/;
11
+ const REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
12
+ const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
13
+ const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
14
+ const REGEX_SPLITALL_CRLF = /\r?\n/g;
15
+ // Invalid:
16
+ // - /foo,
17
+ // - ./foo,
18
+ // - ../foo,
19
+ // - .
20
+ // - ..
21
+ // Valid:
22
+ // - .foo
23
+ const REGEX_TEST_INVALID_PATH = /^\.{0,2}\/|^\.{1,2}$/;
24
+ const REGEX_TEST_TRAILING_SLASH = /\/$/;
25
+ const SLASH = "/";
26
+ // Do not use ternary expression here, since "istanbul ignore next" is buggy
27
+ const KEY_IGNORE = Symbol.for("node-ignore");
28
+ const define = (object, key, value) => {
29
+ Object.defineProperty(object, key, { value });
30
+ return value;
31
+ };
32
+ const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
33
+ const RETURN_FALSE = () => false;
34
+ // Sanitize the range of a regular expression
35
+ // The cases are complicated, see test cases for details
36
+ const sanitizeRange = (range) => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0)
37
+ ? match
38
+ : // Invalid range (out of order) which is ok for gitignore rules but
39
+ // fatal for JavaScript regular expression, so eliminate it.
40
+ EMPTY);
41
+ // See fixtures #59
42
+ const cleanRangeBackSlash = (slashes) => {
43
+ const { length } = slashes;
44
+ return slashes.slice(0, length - (length % 2));
45
+ };
46
+ // > If the pattern ends with a slash,
47
+ // > it is removed for the purpose of the following description,
48
+ // > but it would only find a match with a directory.
49
+ // > In other words, foo/ will match a directory foo and paths underneath it,
50
+ // > but will not match a regular file or a symbolic link foo
51
+ // > (this is consistent with the way how pathspec works in general in Git).
52
+ // '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'
53
+ // -> ignore-rules will not deal with it, because it costs extra `fs.stat` call
54
+ // you could use option `mark: true` with `glob`
55
+ // '`foo/`' should not continue with the '`..`'
56
+ const REPLACERS = [
57
+ [
58
+ // Remove BOM
59
+ // TODO:
60
+ // Other similar zero-width characters?
61
+ /^\uFEFF/,
62
+ () => EMPTY,
63
+ ],
64
+ // > Trailing spaces are ignored unless they are quoted with backslash ("\")
65
+ [
66
+ // (a\ ) -> (a )
67
+ // (a ) -> (a)
68
+ // (a ) -> (a)
69
+ // (a \ ) -> (a )
70
+ /((?:\\\\)*?)(\\?\s+)$/,
71
+ (_, m1, m2) => m1 + (m2.indexOf("\\") === 0 ? SPACE : EMPTY),
72
+ ],
73
+ // Replace (\ ) with ' '
74
+ // (\ ) -> ' '
75
+ // (\\ ) -> '\\ '
76
+ // (\\\ ) -> '\\ '
77
+ [
78
+ /(\\+?)\s/g,
79
+ (_, m1) => {
80
+ const { length } = m1;
81
+ return m1.slice(0, length - (length % 2)) + SPACE;
82
+ },
83
+ ],
84
+ // Escape metacharacters
85
+ // which is written down by users but means special for regular expressions.
86
+ // > There are 12 characters with special meanings:
87
+ // > - the backslash \,
88
+ // > - the caret ^,
89
+ // > - the dollar sign $,
90
+ // > - the period or dot .,
91
+ // > - the vertical bar or pipe symbol |,
92
+ // > - the question mark ?,
93
+ // > - the asterisk or star *,
94
+ // > - the plus sign +,
95
+ // > - the opening parenthesis (,
96
+ // > - the closing parenthesis ),
97
+ // > - and the opening square bracket [,
98
+ // > - the opening curly brace {,
99
+ // > These special characters are often called "metacharacters".
100
+ [/[\\$.|*+(){^]/g, (match) => `\\${match}`],
101
+ [
102
+ // > a question mark (?) matches a single character
103
+ /(?!\\)\?/g,
104
+ () => "[^/]",
105
+ ],
106
+ // leading slash
107
+ [
108
+ // > A leading slash matches the beginning of the pathname.
109
+ // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
110
+ // A leading slash matches the beginning of the pathname
111
+ /^\//,
112
+ () => "^",
113
+ ],
114
+ // replace special metacharacter slash after the leading slash
115
+ [/\//g, () => "\\/"],
116
+ [
117
+ // > A leading "**" followed by a slash means match in all directories.
118
+ // > For example, "**/foo" matches file or directory "foo" anywhere,
119
+ // > the same as pattern "foo".
120
+ // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
121
+ // > under directory "foo".
122
+ // Notice that the '*'s have been replaced as '\\*'
123
+ /^\^*\\\*\\\*\\\//,
124
+ // '**/foo' <-> 'foo'
125
+ () => "^(?:.*\\/)?",
126
+ ],
127
+ // starting
128
+ [
129
+ // there will be no leading '/'
130
+ // (which has been replaced by section "leading slash")
131
+ // If starts with '**', adding a '^' to the regular expression also works
132
+ /^(?=[^^])/,
133
+ function startingReplacer() {
134
+ // If has a slash `/` at the beginning or middle
135
+ return !/\/(?!$)/.test(this)
136
+ ? // > Prior to 2.22.1
137
+ // > If the pattern does not contain a slash /,
138
+ // > Git treats it as a shell glob pattern
139
+ // Actually, if there is only a trailing slash,
140
+ // git also treats it as a shell glob pattern
141
+ // After 2.22.1 (compatible but clearer)
142
+ // > If there is a separator at the beginning or middle (or both)
143
+ // > of the pattern, then the pattern is relative to the directory
144
+ // > level of the particular .gitignore file itself.
145
+ // > Otherwise the pattern may also match at any level below
146
+ // > the .gitignore level.
147
+ "(?:^|\\/)"
148
+ : // > Otherwise, Git treats the pattern as a shell glob suitable for
149
+ // > consumption by fnmatch(3)
150
+ "^";
151
+ },
152
+ ],
153
+ // two globstars
154
+ [
155
+ // Use lookahead assertions so that we could match more than one `'/**'`
156
+ /\\\/\\\*\\\*(?=\\\/|$)/g,
157
+ // Zero, one or several directories
158
+ // should not use '*', or it will be replaced by the next replacer
159
+ // Check if it is not the last `'/**'`
160
+ (_, index, str) => index + 6 < str.length
161
+ ? // case: /**/
162
+ // > A slash followed by two consecutive asterisks then a slash matches
163
+ // > zero or more directories.
164
+ // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
165
+ // '/**/'
166
+ "(?:\\/[^\\/]+)*"
167
+ : // case: /**
168
+ // > A trailing `"/**"` matches everything inside.
169
+ // #21: everything inside but it should not include the current folder
170
+ "\\/.+",
171
+ ],
172
+ // normal intermediate wildcards
173
+ [
174
+ // Never replace escaped '*'
175
+ // ignore rule '\*' will match the path '*'
176
+ // 'abc.*/' -> go
177
+ // 'abc.*' -> skip this rule,
178
+ // coz trailing single wildcard will be handed by [trailing wildcard]
179
+ /(^|[^\\]+)(\\\*)+(?=.+)/g,
180
+ // '*.js' matches '.js'
181
+ // '*.js' doesn't match 'abc'
182
+ (_, p1, p2) => {
183
+ // 1.
184
+ // > An asterisk "*" matches anything except a slash.
185
+ // 2.
186
+ // > Other consecutive asterisks are considered regular asterisks
187
+ // > and will match according to the previous rules.
188
+ const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
189
+ return p1 + unescaped;
190
+ },
191
+ ],
192
+ [
193
+ // unescape, revert step 3 except for back slash
194
+ // For example, if a user escape a '\\*',
195
+ // after step 3, the result will be '\\\\\\*'
196
+ /\\\\\\(?=[$.|*+(){^])/g,
197
+ () => ESCAPE,
198
+ ],
199
+ [
200
+ // '\\\\' -> '\\'
201
+ /\\\\/g,
202
+ () => ESCAPE,
203
+ ],
204
+ [
205
+ // > The range notation, e.g. [a-zA-Z],
206
+ // > can be used to match one of the characters in a range.
207
+ // `\` is escaped by step 3
208
+ /(\\)?\[([^\]/]*?)(\\*)($|\])/g,
209
+ (_match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE
210
+ ? // '\\[bar]' -> '\\\\[bar\\]'
211
+ `\\[${range}${cleanRangeBackSlash(endEscape)}${close}`
212
+ : close === "]"
213
+ ? endEscape.length % 2 === 0
214
+ ? // A normal case, and it is a range notation
215
+ // '[bar]'
216
+ // '[bar\\\\]'
217
+ `[${sanitizeRange(range)}${endEscape}]`
218
+ : // Invalid range notaton
219
+ // '[bar\\]' -> '[bar\\\\]'
220
+ "[]"
221
+ : "[]",
222
+ ],
223
+ // ending
224
+ [
225
+ // 'js' will not match 'js.'
226
+ // 'ab' will not match 'abc'
227
+ /(?:[^*])$/,
228
+ // WTF!
229
+ // https://git-scm.com/docs/gitignore
230
+ // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
231
+ // which re-fixes #24, #38
232
+ // > If there is a separator at the end of the pattern then the pattern
233
+ // > will only match directories, otherwise the pattern can match both
234
+ // > files and directories.
235
+ // 'js*' will not match 'a.js'
236
+ // 'js/' will not match 'a.js'
237
+ // 'js' will match 'a.js' and 'a.js/'
238
+ (match) => /\/$/.test(match)
239
+ ? // foo/ will not match 'foo'
240
+ `${match}$`
241
+ : // foo matches 'foo' and 'foo/'
242
+ `${match}(?=$|\\/$)`,
243
+ ],
244
+ ];
245
+ const REGEX_REPLACE_TRAILING_WILDCARD = /(^|\\\/)?\\\*$/;
246
+ const MODE_IGNORE = "regex";
247
+ const MODE_CHECK_IGNORE = "checkRegex";
248
+ const UNDERSCORE = "_";
249
+ const TRAILING_WILD_CARD_REPLACERS = {
250
+ [MODE_IGNORE](_, p1) {
251
+ const prefix = p1
252
+ ? // '\^':
253
+ // '/*' does not match EMPTY
254
+ // '/*' does not match everything
255
+ // '\\\/':
256
+ // 'abc/*' does not match 'abc/'
257
+ `${p1}[^/]+`
258
+ : // 'a*' matches 'a'
259
+ // 'a*' matches 'aa'
260
+ "[^/]*";
261
+ return `${prefix}(?=$|\\/$)`;
262
+ },
263
+ [MODE_CHECK_IGNORE](_, p1) {
264
+ // When doing `git check-ignore`
265
+ const prefix = p1
266
+ ? // '\\\/':
267
+ // 'abc/*' DOES match 'abc/' !
268
+ `${p1}[^/]*`
269
+ : // 'a*' matches 'a'
270
+ // 'a*' matches 'aa'
271
+ "[^/]*";
272
+ return `${prefix}(?=$|\\/$)`;
273
+ },
274
+ };
275
+ // @param {pattern}
276
+ const makeRegexPrefix = (pattern) => REPLACERS.reduce((prev, [matcher, replacer]) => prev.replace(matcher, replacer.bind(pattern)), pattern);
277
+ const isString = (subject) => typeof subject === "string";
278
+ // > A blank line matches no files, so it can serve as a separator for readability.
279
+ const checkPattern = (pattern) => !!pattern &&
280
+ isString(pattern) &&
281
+ !REGEX_TEST_BLANK_LINE.test(pattern) &&
282
+ !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) &&
283
+ // > A line starting with # serves as a comment.
284
+ pattern.indexOf("#") !== 0;
285
+ const splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF).filter(Boolean);
286
+ class IgnoreRuleImpl {
287
+ pattern;
288
+ mark;
289
+ negative;
290
+ body;
291
+ ignoreCase;
292
+ regexPrefix;
293
+ _regex;
294
+ _checkRegex;
295
+ constructor(pattern, mark, body, ignoreCase, negative, prefix) {
296
+ this.pattern = pattern;
297
+ this.mark = mark;
298
+ this.negative = negative;
299
+ this.body = body;
300
+ this.ignoreCase = ignoreCase;
301
+ this.regexPrefix = prefix;
302
+ }
303
+ get regex() {
304
+ const _key = UNDERSCORE + MODE_IGNORE;
305
+ if (this._regex) {
306
+ return this._regex;
307
+ }
308
+ return this._make(MODE_IGNORE);
309
+ }
310
+ get checkRegex() {
311
+ const _key = UNDERSCORE + MODE_CHECK_IGNORE;
312
+ if (this._checkRegex) {
313
+ return this._checkRegex;
314
+ }
315
+ return this._makeCheck(MODE_CHECK_IGNORE);
316
+ }
317
+ _make(mode) {
318
+ const str = this.regexPrefix.replace(REGEX_REPLACE_TRAILING_WILDCARD, TRAILING_WILD_CARD_REPLACERS[mode]);
319
+ const regex = this.ignoreCase ? new RegExp(str, "i") : new RegExp(str);
320
+ this._regex = regex;
321
+ return regex;
322
+ }
323
+ _makeCheck(mode) {
324
+ const str = this.regexPrefix.replace(REGEX_REPLACE_TRAILING_WILDCARD, TRAILING_WILD_CARD_REPLACERS[mode]);
325
+ const regex = this.ignoreCase ? new RegExp(str, "i") : new RegExp(str);
326
+ this._checkRegex = regex;
327
+ return regex;
328
+ }
329
+ }
330
+ const createRule = ({ pattern, mark }, ignoreCase) => {
331
+ let negative = false;
332
+ let body = pattern;
333
+ // > An optional prefix "!" which negates the pattern;
334
+ if (body.indexOf("!") === 0) {
335
+ negative = true;
336
+ body = body.substr(1);
337
+ }
338
+ body = body
339
+ // > Put a backslash ("\") in front of the first "!" for patterns that
340
+ // > begin with a literal "!", for example, `"\!important!.txt"`.
341
+ .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!")
342
+ // > Put a backslash ("\") in front of the first hash for patterns that
343
+ // > begin with a hash.
344
+ .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
345
+ const regexPrefix = makeRegexPrefix(body);
346
+ return new IgnoreRuleImpl(pattern, mark, body, ignoreCase, negative, regexPrefix);
347
+ };
348
+ class RuleManager {
349
+ _ignoreCase;
350
+ _rules;
351
+ _added;
352
+ constructor(ignoreCase) {
353
+ this._ignoreCase = ignoreCase;
354
+ this._rules = [];
355
+ this._added = false;
356
+ }
357
+ _add(pattern) {
358
+ // #32
359
+ if (pattern && pattern[KEY_IGNORE]) {
360
+ this._rules = this._rules.concat(pattern._rules._rules);
361
+ this._added = true;
362
+ return;
363
+ }
364
+ if (isString(pattern)) {
365
+ pattern = {
366
+ pattern,
367
+ };
368
+ }
369
+ if (checkPattern(pattern.pattern)) {
370
+ const rule = createRule(pattern, this._ignoreCase);
371
+ this._added = true;
372
+ this._rules.push(rule);
373
+ }
374
+ }
375
+ // @param {Array<string> | string | Ignore} pattern
376
+ add(pattern) {
377
+ this._added = false;
378
+ makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach((p) => this._add(p));
379
+ return this._added;
380
+ }
381
+ // Test one single path without recursively checking parent directories
382
+ //
383
+ // - checkUnignored `boolean` whether should check if the path is unignored,
384
+ // setting `checkUnignored` to `false` could reduce additional
385
+ // path matching.
386
+ // - check `string` either `MODE_IGNORE` or `MODE_CHECK_IGNORE`
387
+ // @returns {TestResult} true if a file is ignored
388
+ test(path, checkUnignored, mode) {
389
+ let ignored = false;
390
+ let unignored = false;
391
+ let matchedRule;
392
+ this._rules.forEach((rule) => {
393
+ const { negative } = rule;
394
+ // | ignored : unignored
395
+ // -------- | ---------------------------------------
396
+ // negative | 0:0 | 0:1 | 1:0 | 1:1
397
+ // -------- | ------- | ------- | ------- | --------
398
+ // 0 | TEST | TEST | SKIP | X
399
+ // 1 | TESTIF | SKIP | TEST | X
400
+ // - SKIP: always skip
401
+ // - TEST: always test
402
+ // - TESTIF: only test if checkUnignored
403
+ // - X: that never happen
404
+ if ((unignored === negative && ignored !== unignored) ||
405
+ (negative && !ignored && !unignored && !checkUnignored)) {
406
+ return;
407
+ }
408
+ const regex = mode === MODE_CHECK_IGNORE ? rule.checkRegex : rule.regex;
409
+ const matched = regex.test(path);
410
+ if (!matched) {
411
+ return;
412
+ }
413
+ ignored = !negative;
414
+ unignored = negative;
415
+ matchedRule = negative ? UNDEFINED : rule;
416
+ });
417
+ const ret = {
418
+ ignored,
419
+ unignored,
420
+ };
421
+ if (matchedRule) {
422
+ ret.rule = matchedRule;
423
+ }
424
+ return ret;
425
+ }
426
+ }
427
+ const throwError = (message, Ctor) => {
428
+ throw new Ctor(message);
429
+ };
430
+ const checkPath = (path, originalPath, doThrow) => {
431
+ if (!isString(path)) {
432
+ return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError);
433
+ }
434
+ // We don't know if we should ignore EMPTY, so throw
435
+ if (!path) {
436
+ return doThrow("path must not be empty", TypeError);
437
+ }
438
+ // Check if it is a relative path
439
+ if (checkPath.isNotRelative(path)) {
440
+ const r = "`path.relative()`d";
441
+ return doThrow(`path should be a ${r} string, but got "${originalPath}"`, RangeError);
442
+ }
443
+ return true;
444
+ };
445
+ const isNotRelative = (path) => REGEX_TEST_INVALID_PATH.test(path);
446
+ checkPath.isNotRelative = isNotRelative;
447
+ // On windows, the following function will be replaced
448
+ /* istanbul ignore next */
449
+ checkPath.convert = (p) => p;
450
+ export class Ignore {
451
+ _rules;
452
+ _strictPathCheck;
453
+ _ignoreCache;
454
+ _testCache;
455
+ constructor({ ignorecase = true, ignoreCase = ignorecase, allowRelativePaths = false, } = {}) {
456
+ define(this, KEY_IGNORE, true);
457
+ this._rules = new RuleManager(ignoreCase);
458
+ this._strictPathCheck = !allowRelativePaths;
459
+ this._initCache();
460
+ }
461
+ _initCache() {
462
+ // A cache for the result of `.ignores()`
463
+ this._ignoreCache = Object.create(null);
464
+ // A cache for the result of `.test()`
465
+ this._testCache = Object.create(null);
466
+ }
467
+ /**
468
+ * Adds one or several rules to the current manager.
469
+ * @param {string[]} patterns
470
+ * @returns IgnoreBase
471
+ */
472
+ add(pattern) {
473
+ if (this._rules.add(pattern)) {
474
+ // Some rules have just added to the ignore,
475
+ // making the behavior changed,
476
+ // so we need to re-initialize the result cache
477
+ this._initCache();
478
+ }
479
+ return this;
480
+ }
481
+ // legacy
482
+ addPattern(pattern) {
483
+ return this.add(pattern);
484
+ }
485
+ // @returns {TestResult}
486
+ _test(originalPath, cache, checkUnignored, slices) {
487
+ const path = originalPath &&
488
+ // Supports nullable path
489
+ checkPath.convert(originalPath);
490
+ checkPath(path, originalPath, this._strictPathCheck ? throwError : RETURN_FALSE);
491
+ return this._t(path, cache, checkUnignored, slices);
492
+ }
493
+ /**
494
+ * Debugs ignore rules and returns the checking result, which is
495
+ * equivalent to `git check-ignore -v`.
496
+ * @returns TestResult
497
+ */
498
+ checkIgnore(path) {
499
+ // If the path doest not end with a slash, `.ignores()` is much equivalent
500
+ // to `git check-ignore`
501
+ if (!REGEX_TEST_TRAILING_SLASH.test(path)) {
502
+ return this.test(path);
503
+ }
504
+ const slices = path.split(SLASH).filter(Boolean);
505
+ slices.pop();
506
+ if (slices.length) {
507
+ const parent = this._t(slices.join(SLASH) + SLASH, this._testCache, true, slices);
508
+ if (parent.ignored) {
509
+ return parent;
510
+ }
511
+ }
512
+ return this._rules.test(path, false, MODE_CHECK_IGNORE);
513
+ }
514
+ _t(
515
+ // The path to be tested
516
+ path,
517
+ // The cache for the result of a certain checking
518
+ cache,
519
+ // Whether should check if the path is unignored
520
+ checkUnignored,
521
+ // The path slices
522
+ slices) {
523
+ if (path in cache) {
524
+ return cache[path];
525
+ }
526
+ if (!slices) {
527
+ // path/to/a.js
528
+ // ['path', 'to', 'a.js']
529
+ slices = path.split(SLASH).filter(Boolean);
530
+ }
531
+ slices.pop();
532
+ // If the path has no parent directory, just test it
533
+ if (!slices.length) {
534
+ return (cache[path] = this._rules.test(path, checkUnignored, MODE_IGNORE));
535
+ }
536
+ const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices);
537
+ // If the path contains a parent directory, check the parent first
538
+ return (cache[path] = parent.ignored
539
+ ? // > It is not possible to re-include a file if a parent directory of
540
+ // > that file is excluded.
541
+ parent
542
+ : this._rules.test(path, checkUnignored, MODE_IGNORE));
543
+ }
544
+ /**
545
+ * Returns Boolean whether pathname should be ignored.
546
+ * @param {string} pathname a path to check
547
+ * @returns boolean
548
+ */
549
+ ignores(path) {
550
+ return this._test(path, this._ignoreCache, false).ignored;
551
+ }
552
+ /**
553
+ * Creates a filter function which could filter
554
+ * an array of paths with Array.prototype.filter.
555
+ */
556
+ createFilter() {
557
+ return (path) => !this.ignores(path);
558
+ }
559
+ /**
560
+ * Filters the given array of pathnames, and returns the filtered array.
561
+ * NOTICE that each path here should be a relative path to the root of your repository.
562
+ * @param paths the array of paths to be filtered.
563
+ * @returns The filtered array of paths
564
+ */
565
+ filter(paths) {
566
+ return makeArray(paths).filter(this.createFilter());
567
+ }
568
+ /**
569
+ * Returns whether pathname should be ignored or unignored
570
+ * @param {string} pathname a path to check
571
+ * @returns TestResult
572
+ */
573
+ test(path) {
574
+ return this._test(path, this._testCache, true);
575
+ }
576
+ }
577
+ /**
578
+ * Creates new ignore manager.
579
+ */
580
+ function ignore(options) {
581
+ return new Ignore(options);
582
+ }
583
+ const isPathValid = (path) => checkPath(path && checkPath.convert(path), path, RETURN_FALSE);
584
+ /* istanbul ignore next */
585
+ const setupWindows = () => {
586
+ /* eslint no-control-regex: "off" */
587
+ const makePosix = (str) =>
588
+ // biome-ignore lint/suspicious/noControlCharactersInRegex: adapted from node-ignore
589
+ /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str)
590
+ ? str
591
+ : str.replace(/\\/g, "/");
592
+ checkPath.convert = makePosix;
593
+ // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/'
594
+ // 'd:\\foo'
595
+ const REGEX_TEST_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
596
+ checkPath.isNotRelative = (path) => REGEX_TEST_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path);
597
+ };
598
+ // Windows
599
+ // --------------------------------------------------------------
600
+ /* istanbul ignore next */
601
+ if (
602
+ // Detect `process` so that it can run in browsers.
603
+ typeof process !== "undefined" &&
604
+ process.platform === "win32") {
605
+ setupWindows();
606
+ }
607
+ // Although it is an anti-pattern,
608
+ // it is still widely misused by a lot of libraries in github
609
+ // Ref: https://github.com/search?q=ignore.default%28%29&type=code
610
+ ignore.default = ignore;
611
+ ignore.isPathValid = isPathValid;
612
+ // For testing purposes
613
+ define(ignore, Symbol.for("setupWindows"), setupWindows);
614
+ export default ignore;
615
+ export { isPathValid };
616
+ //# sourceMappingURL=ignore-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-matcher.js","sourceRoot":"","sources":["../../src/util/ignore-matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { LoggerApi } from "./cli.tsx";
2
+ export declare const logger: LoggerApi;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,eAAO,MAAM,MAAM,WAajB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Scope } from "../scope.js";
2
+ export const logger = new Proxy({}, {
3
+ get: (_, prop) => {
4
+ const logger = Scope.get()?.logger ??
5
+ {
6
+ log: console.log,
7
+ error: console.error,
8
+ warn: console.warn,
9
+ task: () => { },
10
+ exit: () => { },
11
+ };
12
+ return logger[prop].bind(logger);
13
+ },
14
+ });
15
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAe,EAAE;IAC/C,GAAG,EAAE,CAAC,CAAC,EAAE,IAAqB,EAAE,EAAE;QAChC,MAAM,MAAM,GACV,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM;YAClB;gBACC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;gBACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;aACD,CAAC;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}