zod-compiler 1.23.0 → 1.23.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 (494) hide show
  1. package/README.md +9 -6
  2. package/dist/cli/commands/check.d.ts +10 -7
  3. package/dist/cli/commands/check.d.ts.map +1 -1
  4. package/dist/cli/commands/check.js +125 -148
  5. package/dist/cli/commands/check.js.map +1 -1
  6. package/dist/cli/commands/generate.d.ts +22 -19
  7. package/dist/cli/commands/generate.d.ts.map +1 -1
  8. package/dist/cli/commands/generate.js +102 -133
  9. package/dist/cli/commands/generate.js.map +1 -1
  10. package/dist/cli/commands/watch.d.ts +17 -15
  11. package/dist/cli/commands/watch.d.ts.map +1 -1
  12. package/dist/cli/commands/watch.js +126 -154
  13. package/dist/cli/commands/watch.js.map +1 -1
  14. package/dist/cli/emitter.d.ts +19 -16
  15. package/dist/cli/emitter.d.ts.map +1 -1
  16. package/dist/cli/emitter.js +55 -71
  17. package/dist/cli/emitter.js.map +1 -1
  18. package/dist/cli/errors.d.ts +4 -1
  19. package/dist/cli/errors.d.ts.map +1 -1
  20. package/dist/cli/errors.js +6 -2
  21. package/dist/cli/errors.js.map +1 -1
  22. package/dist/cli/index.d.ts +1 -3
  23. package/dist/cli/index.js +147 -160
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/cli/logger.d.ts +18 -15
  26. package/dist/cli/logger.d.ts.map +1 -1
  27. package/dist/cli/logger.js +38 -37
  28. package/dist/cli/logger.js.map +1 -1
  29. package/dist/core/codegen/build-path.d.ts +7 -41
  30. package/dist/core/codegen/build-path.d.ts.map +1 -1
  31. package/dist/core/codegen/build-path.js +481 -570
  32. package/dist/core/codegen/build-path.js.map +1 -1
  33. package/dist/core/codegen/context.d.ts +256 -253
  34. package/dist/core/codegen/context.d.ts.map +1 -1
  35. package/dist/core/codegen/context.js +363 -437
  36. package/dist/core/codegen/context.js.map +1 -1
  37. package/dist/core/codegen/dedupe.d.ts +22 -56
  38. package/dist/core/codegen/dedupe.d.ts.map +1 -1
  39. package/dist/core/codegen/dedupe.js +150 -242
  40. package/dist/core/codegen/dedupe.js.map +1 -1
  41. package/dist/core/codegen/emit-issue.d.ts +44 -68
  42. package/dist/core/codegen/emit-issue.d.ts.map +1 -1
  43. package/dist/core/codegen/emit-issue.js +76 -108
  44. package/dist/core/codegen/emit-issue.js.map +1 -1
  45. package/dist/core/codegen/emit.d.ts +4 -1
  46. package/dist/core/codegen/emit.d.ts.map +1 -1
  47. package/dist/core/codegen/emit.js +16 -13
  48. package/dist/core/codegen/emit.js.map +1 -1
  49. package/dist/core/codegen/fast-path.d.ts +7 -12
  50. package/dist/core/codegen/fast-path.d.ts.map +1 -1
  51. package/dist/core/codegen/fast-path.js +116 -145
  52. package/dist/core/codegen/fast-path.js.map +1 -1
  53. package/dist/core/codegen/fast-size.d.ts +12 -26
  54. package/dist/core/codegen/fast-size.d.ts.map +1 -1
  55. package/dist/core/codegen/fast-size.js +169 -244
  56. package/dist/core/codegen/fast-size.js.map +1 -1
  57. package/dist/core/codegen/index.d.ts +25 -23
  58. package/dist/core/codegen/index.d.ts.map +1 -1
  59. package/dist/core/codegen/index.js +239 -405
  60. package/dist/core/codegen/index.js.map +1 -1
  61. package/dist/core/codegen/issue-decls.d.ts +15 -12
  62. package/dist/core/codegen/issue-decls.d.ts.map +1 -1
  63. package/dist/core/codegen/issue-decls.js +131 -162
  64. package/dist/core/codegen/issue-decls.js.map +1 -1
  65. package/dist/core/codegen/regex-unroll.d.ts +4 -1
  66. package/dist/core/codegen/regex-unroll.d.ts.map +1 -1
  67. package/dist/core/codegen/regex-unroll.js +173 -197
  68. package/dist/core/codegen/regex-unroll.js.map +1 -1
  69. package/dist/core/codegen/schemas/any.d.ts +7 -4
  70. package/dist/core/codegen/schemas/any.d.ts.map +1 -1
  71. package/dist/core/codegen/schemas/any.js +8 -4
  72. package/dist/core/codegen/schemas/any.js.map +1 -1
  73. package/dist/core/codegen/schemas/array.d.ts +8 -5
  74. package/dist/core/codegen/schemas/array.d.ts.map +1 -1
  75. package/dist/core/codegen/schemas/array.js +77 -95
  76. package/dist/core/codegen/schemas/array.js.map +1 -1
  77. package/dist/core/codegen/schemas/bigint.d.ts +7 -4
  78. package/dist/core/codegen/schemas/bigint.d.ts.map +1 -1
  79. package/dist/core/codegen/schemas/bigint.js +44 -56
  80. package/dist/core/codegen/schemas/bigint.js.map +1 -1
  81. package/dist/core/codegen/schemas/boolean.d.ts +7 -4
  82. package/dist/core/codegen/schemas/boolean.d.ts.map +1 -1
  83. package/dist/core/codegen/schemas/boolean.js +12 -11
  84. package/dist/core/codegen/schemas/boolean.js.map +1 -1
  85. package/dist/core/codegen/schemas/catch.d.ts +8 -5
  86. package/dist/core/codegen/schemas/catch.d.ts.map +1 -1
  87. package/dist/core/codegen/schemas/catch.js +23 -23
  88. package/dist/core/codegen/schemas/catch.js.map +1 -1
  89. package/dist/core/codegen/schemas/date.d.ts +7 -4
  90. package/dist/core/codegen/schemas/date.d.ts.map +1 -1
  91. package/dist/core/codegen/schemas/date.js +49 -68
  92. package/dist/core/codegen/schemas/date.js.map +1 -1
  93. package/dist/core/codegen/schemas/default.d.ts +9 -6
  94. package/dist/core/codegen/schemas/default.d.ts.map +1 -1
  95. package/dist/core/codegen/schemas/default.js +29 -27
  96. package/dist/core/codegen/schemas/default.js.map +1 -1
  97. package/dist/core/codegen/schemas/discriminated-union.d.ts +12 -10
  98. package/dist/core/codegen/schemas/discriminated-union.d.ts.map +1 -1
  99. package/dist/core/codegen/schemas/discriminated-union.js +153 -178
  100. package/dist/core/codegen/schemas/discriminated-union.js.map +1 -1
  101. package/dist/core/codegen/schemas/effect.d.ts +9 -6
  102. package/dist/core/codegen/schemas/effect.d.ts.map +1 -1
  103. package/dist/core/codegen/schemas/effect.js +54 -67
  104. package/dist/core/codegen/schemas/effect.js.map +1 -1
  105. package/dist/core/codegen/schemas/enum.d.ts +7 -4
  106. package/dist/core/codegen/schemas/enum.d.ts.map +1 -1
  107. package/dist/core/codegen/schemas/enum.js +15 -21
  108. package/dist/core/codegen/schemas/enum.js.map +1 -1
  109. package/dist/core/codegen/schemas/fallback.d.ts +6 -3
  110. package/dist/core/codegen/schemas/fallback.d.ts.map +1 -1
  111. package/dist/core/codegen/schemas/fallback.js +14 -13
  112. package/dist/core/codegen/schemas/fallback.js.map +1 -1
  113. package/dist/core/codegen/schemas/file.d.ts +7 -4
  114. package/dist/core/codegen/schemas/file.d.ts.map +1 -1
  115. package/dist/core/codegen/schemas/file.js +51 -57
  116. package/dist/core/codegen/schemas/file.js.map +1 -1
  117. package/dist/core/codegen/schemas/intersection.d.ts +8 -5
  118. package/dist/core/codegen/schemas/intersection.d.ts.map +1 -1
  119. package/dist/core/codegen/schemas/intersection.js +16 -13
  120. package/dist/core/codegen/schemas/intersection.js.map +1 -1
  121. package/dist/core/codegen/schemas/literal.d.ts +7 -4
  122. package/dist/core/codegen/schemas/literal.d.ts.map +1 -1
  123. package/dist/core/codegen/schemas/literal.js +20 -23
  124. package/dist/core/codegen/schemas/literal.js.map +1 -1
  125. package/dist/core/codegen/schemas/map.d.ts +8 -5
  126. package/dist/core/codegen/schemas/map.d.ts.map +1 -1
  127. package/dist/core/codegen/schemas/map.js +61 -67
  128. package/dist/core/codegen/schemas/map.js.map +1 -1
  129. package/dist/core/codegen/schemas/nan.d.ts +7 -4
  130. package/dist/core/codegen/schemas/nan.d.ts.map +1 -1
  131. package/dist/core/codegen/schemas/nan.js +8 -4
  132. package/dist/core/codegen/schemas/nan.js.map +1 -1
  133. package/dist/core/codegen/schemas/never.d.ts +7 -4
  134. package/dist/core/codegen/schemas/never.d.ts.map +1 -1
  135. package/dist/core/codegen/schemas/never.js +8 -4
  136. package/dist/core/codegen/schemas/never.js.map +1 -1
  137. package/dist/core/codegen/schemas/null.d.ts +7 -4
  138. package/dist/core/codegen/schemas/null.d.ts.map +1 -1
  139. package/dist/core/codegen/schemas/null.js +8 -4
  140. package/dist/core/codegen/schemas/null.js.map +1 -1
  141. package/dist/core/codegen/schemas/nullable.d.ts +8 -5
  142. package/dist/core/codegen/schemas/nullable.d.ts.map +1 -1
  143. package/dist/core/codegen/schemas/nullable.js +8 -5
  144. package/dist/core/codegen/schemas/nullable.js.map +1 -1
  145. package/dist/core/codegen/schemas/number.d.ts +7 -4
  146. package/dist/core/codegen/schemas/number.d.ts.map +1 -1
  147. package/dist/core/codegen/schemas/number.js +120 -176
  148. package/dist/core/codegen/schemas/number.js.map +1 -1
  149. package/dist/core/codegen/schemas/object.d.ts +8 -5
  150. package/dist/core/codegen/schemas/object.d.ts.map +1 -1
  151. package/dist/core/codegen/schemas/object.js +144 -231
  152. package/dist/core/codegen/schemas/object.js.map +1 -1
  153. package/dist/core/codegen/schemas/optional.d.ts +9 -6
  154. package/dist/core/codegen/schemas/optional.d.ts.map +1 -1
  155. package/dist/core/codegen/schemas/optional.js +23 -31
  156. package/dist/core/codegen/schemas/optional.js.map +1 -1
  157. package/dist/core/codegen/schemas/pipe.d.ts +8 -5
  158. package/dist/core/codegen/schemas/pipe.d.ts.map +1 -1
  159. package/dist/core/codegen/schemas/pipe.js +20 -27
  160. package/dist/core/codegen/schemas/pipe.js.map +1 -1
  161. package/dist/core/codegen/schemas/readonly.d.ts +8 -5
  162. package/dist/core/codegen/schemas/readonly.d.ts.map +1 -1
  163. package/dist/core/codegen/schemas/readonly.js +8 -5
  164. package/dist/core/codegen/schemas/readonly.js.map +1 -1
  165. package/dist/core/codegen/schemas/record.d.ts +8 -5
  166. package/dist/core/codegen/schemas/record.d.ts.map +1 -1
  167. package/dist/core/codegen/schemas/record.js +52 -65
  168. package/dist/core/codegen/schemas/record.js.map +1 -1
  169. package/dist/core/codegen/schemas/recursive-ref.d.ts +9 -6
  170. package/dist/core/codegen/schemas/recursive-ref.d.ts.map +1 -1
  171. package/dist/core/codegen/schemas/recursive-ref.js +44 -44
  172. package/dist/core/codegen/schemas/recursive-ref.js.map +1 -1
  173. package/dist/core/codegen/schemas/set.d.ts +8 -5
  174. package/dist/core/codegen/schemas/set.d.ts.map +1 -1
  175. package/dist/core/codegen/schemas/set.js +61 -73
  176. package/dist/core/codegen/schemas/set.js.map +1 -1
  177. package/dist/core/codegen/schemas/string-bool.d.ts +6 -3
  178. package/dist/core/codegen/schemas/string-bool.d.ts.map +1 -1
  179. package/dist/core/codegen/schemas/string-bool.js +22 -23
  180. package/dist/core/codegen/schemas/string-bool.js.map +1 -1
  181. package/dist/core/codegen/schemas/string.d.ts +8 -5
  182. package/dist/core/codegen/schemas/string.d.ts.map +1 -1
  183. package/dist/core/codegen/schemas/string.js +168 -207
  184. package/dist/core/codegen/schemas/string.js.map +1 -1
  185. package/dist/core/codegen/schemas/symbol.d.ts +7 -4
  186. package/dist/core/codegen/schemas/symbol.d.ts.map +1 -1
  187. package/dist/core/codegen/schemas/symbol.js +8 -4
  188. package/dist/core/codegen/schemas/symbol.js.map +1 -1
  189. package/dist/core/codegen/schemas/template-literal.d.ts +7 -4
  190. package/dist/core/codegen/schemas/template-literal.d.ts.map +1 -1
  191. package/dist/core/codegen/schemas/template-literal.js +12 -13
  192. package/dist/core/codegen/schemas/template-literal.js.map +1 -1
  193. package/dist/core/codegen/schemas/tuple.d.ts +8 -5
  194. package/dist/core/codegen/schemas/tuple.d.ts.map +1 -1
  195. package/dist/core/codegen/schemas/tuple.js +84 -94
  196. package/dist/core/codegen/schemas/tuple.js.map +1 -1
  197. package/dist/core/codegen/schemas/undefined.d.ts +7 -4
  198. package/dist/core/codegen/schemas/undefined.d.ts.map +1 -1
  199. package/dist/core/codegen/schemas/undefined.js +8 -4
  200. package/dist/core/codegen/schemas/undefined.js.map +1 -1
  201. package/dist/core/codegen/schemas/union.d.ts +8 -5
  202. package/dist/core/codegen/schemas/union.d.ts.map +1 -1
  203. package/dist/core/codegen/schemas/union.js +49 -69
  204. package/dist/core/codegen/schemas/union.js.map +1 -1
  205. package/dist/core/codegen/schemas/unknown.d.ts +7 -4
  206. package/dist/core/codegen/schemas/unknown.d.ts.map +1 -1
  207. package/dist/core/codegen/schemas/unknown.js +8 -4
  208. package/dist/core/codegen/schemas/unknown.js.map +1 -1
  209. package/dist/core/codegen/schemas/void.d.ts +7 -4
  210. package/dist/core/codegen/schemas/void.d.ts.map +1 -1
  211. package/dist/core/codegen/schemas/void.js +8 -4
  212. package/dist/core/codegen/schemas/void.js.map +1 -1
  213. package/dist/core/codegen/slow-path.d.ts +7 -4
  214. package/dist/core/codegen/slow-path.d.ts.map +1 -1
  215. package/dist/core/codegen/slow-path.js +71 -96
  216. package/dist/core/codegen/slow-path.js.map +1 -1
  217. package/dist/core/codegen/well-known-regex.d.ts +22 -19
  218. package/dist/core/codegen/well-known-regex.d.ts.map +1 -1
  219. package/dist/core/codegen/well-known-regex.js +127 -96
  220. package/dist/core/codegen/well-known-regex.js.map +1 -1
  221. package/dist/core/compile.d.ts +7 -4
  222. package/dist/core/compile.d.ts.map +1 -1
  223. package/dist/core/compile.js +48 -48
  224. package/dist/core/compile.js.map +1 -1
  225. package/dist/core/diagnostic.d.ts +38 -39
  226. package/dist/core/diagnostic.d.ts.map +1 -1
  227. package/dist/core/diagnostic.js +140 -164
  228. package/dist/core/diagnostic.js.map +1 -1
  229. package/dist/core/extract/checks.d.ts +18 -15
  230. package/dist/core/extract/checks.d.ts.map +1 -1
  231. package/dist/core/extract/checks.js +318 -311
  232. package/dist/core/extract/checks.js.map +1 -1
  233. package/dist/core/extract/effects.d.ts +13 -10
  234. package/dist/core/extract/effects.d.ts.map +1 -1
  235. package/dist/core/extract/effects.js +153 -222
  236. package/dist/core/extract/effects.js.map +1 -1
  237. package/dist/core/extract/extractors/any.d.ts +5 -2
  238. package/dist/core/extract/extractors/any.d.ts.map +1 -1
  239. package/dist/core/extract/extractors/any.js +5 -1
  240. package/dist/core/extract/extractors/any.js.map +1 -1
  241. package/dist/core/extract/extractors/array.d.ts +6 -3
  242. package/dist/core/extract/extractors/array.d.ts.map +1 -1
  243. package/dist/core/extract/extractors/array.js +25 -20
  244. package/dist/core/extract/extractors/array.js.map +1 -1
  245. package/dist/core/extract/extractors/bigint.d.ts +6 -3
  246. package/dist/core/extract/extractors/bigint.d.ts.map +1 -1
  247. package/dist/core/extract/extractors/bigint.js +66 -64
  248. package/dist/core/extract/extractors/bigint.js.map +1 -1
  249. package/dist/core/extract/extractors/boolean.d.ts +5 -2
  250. package/dist/core/extract/extractors/boolean.d.ts.map +1 -1
  251. package/dist/core/extract/extractors/boolean.js +7 -3
  252. package/dist/core/extract/extractors/boolean.js.map +1 -1
  253. package/dist/core/extract/extractors/catch.d.ts +6 -3
  254. package/dist/core/extract/extractors/catch.d.ts.map +1 -1
  255. package/dist/core/extract/extractors/catch.js +26 -17
  256. package/dist/core/extract/extractors/catch.js.map +1 -1
  257. package/dist/core/extract/extractors/date.d.ts +6 -3
  258. package/dist/core/extract/extractors/date.d.ts.map +1 -1
  259. package/dist/core/extract/extractors/date.js +42 -46
  260. package/dist/core/extract/extractors/date.js.map +1 -1
  261. package/dist/core/extract/extractors/default.d.ts +6 -3
  262. package/dist/core/extract/extractors/default.d.ts.map +1 -1
  263. package/dist/core/extract/extractors/default.js +20 -14
  264. package/dist/core/extract/extractors/default.js.map +1 -1
  265. package/dist/core/extract/extractors/enum.d.ts +5 -2
  266. package/dist/core/extract/extractors/enum.d.ts.map +1 -1
  267. package/dist/core/extract/extractors/enum.js +12 -13
  268. package/dist/core/extract/extractors/enum.js.map +1 -1
  269. package/dist/core/extract/extractors/file.d.ts +6 -3
  270. package/dist/core/extract/extractors/file.d.ts.map +1 -1
  271. package/dist/core/extract/extractors/file.js +34 -28
  272. package/dist/core/extract/extractors/file.js.map +1 -1
  273. package/dist/core/extract/extractors/intersection.d.ts +5 -2
  274. package/dist/core/extract/extractors/intersection.d.ts.map +1 -1
  275. package/dist/core/extract/extractors/intersection.js +13 -11
  276. package/dist/core/extract/extractors/intersection.js.map +1 -1
  277. package/dist/core/extract/extractors/lazy.d.ts +6 -3
  278. package/dist/core/extract/extractors/lazy.d.ts.map +1 -1
  279. package/dist/core/extract/extractors/lazy.js +21 -30
  280. package/dist/core/extract/extractors/lazy.js.map +1 -1
  281. package/dist/core/extract/extractors/literal.d.ts +5 -2
  282. package/dist/core/extract/extractors/literal.d.ts.map +1 -1
  283. package/dist/core/extract/extractors/literal.js +8 -1
  284. package/dist/core/extract/extractors/literal.js.map +1 -1
  285. package/dist/core/extract/extractors/map.d.ts +6 -3
  286. package/dist/core/extract/extractors/map.d.ts.map +1 -1
  287. package/dist/core/extract/extractors/map.js +10 -4
  288. package/dist/core/extract/extractors/map.js.map +1 -1
  289. package/dist/core/extract/extractors/nan.d.ts +5 -2
  290. package/dist/core/extract/extractors/nan.d.ts.map +1 -1
  291. package/dist/core/extract/extractors/nan.js +5 -1
  292. package/dist/core/extract/extractors/nan.js.map +1 -1
  293. package/dist/core/extract/extractors/never.d.ts +5 -2
  294. package/dist/core/extract/extractors/never.d.ts.map +1 -1
  295. package/dist/core/extract/extractors/never.js +5 -1
  296. package/dist/core/extract/extractors/never.js.map +1 -1
  297. package/dist/core/extract/extractors/null.d.ts +5 -2
  298. package/dist/core/extract/extractors/null.d.ts.map +1 -1
  299. package/dist/core/extract/extractors/null.js +5 -1
  300. package/dist/core/extract/extractors/null.js.map +1 -1
  301. package/dist/core/extract/extractors/nullable.d.ts +5 -2
  302. package/dist/core/extract/extractors/nullable.d.ts.map +1 -1
  303. package/dist/core/extract/extractors/nullable.js +7 -3
  304. package/dist/core/extract/extractors/nullable.js.map +1 -1
  305. package/dist/core/extract/extractors/number.d.ts +6 -3
  306. package/dist/core/extract/extractors/number.d.ts.map +1 -1
  307. package/dist/core/extract/extractors/number.js +35 -35
  308. package/dist/core/extract/extractors/number.js.map +1 -1
  309. package/dist/core/extract/extractors/object.d.ts +6 -3
  310. package/dist/core/extract/extractors/object.d.ts.map +1 -1
  311. package/dist/core/extract/extractors/object.js +49 -76
  312. package/dist/core/extract/extractors/object.js.map +1 -1
  313. package/dist/core/extract/extractors/optional.d.ts +5 -2
  314. package/dist/core/extract/extractors/optional.d.ts.map +1 -1
  315. package/dist/core/extract/extractors/optional.js +10 -12
  316. package/dist/core/extract/extractors/optional.js.map +1 -1
  317. package/dist/core/extract/extractors/pipe.d.ts +6 -3
  318. package/dist/core/extract/extractors/pipe.d.ts.map +1 -1
  319. package/dist/core/extract/extractors/pipe.js +40 -41
  320. package/dist/core/extract/extractors/pipe.js.map +1 -1
  321. package/dist/core/extract/extractors/readonly.d.ts +5 -2
  322. package/dist/core/extract/extractors/readonly.d.ts.map +1 -1
  323. package/dist/core/extract/extractors/readonly.js +10 -6
  324. package/dist/core/extract/extractors/readonly.js.map +1 -1
  325. package/dist/core/extract/extractors/record.d.ts +6 -3
  326. package/dist/core/extract/extractors/record.d.ts.map +1 -1
  327. package/dist/core/extract/extractors/record.js +24 -35
  328. package/dist/core/extract/extractors/record.js.map +1 -1
  329. package/dist/core/extract/extractors/set.d.ts +6 -3
  330. package/dist/core/extract/extractors/set.d.ts.map +1 -1
  331. package/dist/core/extract/extractors/set.js +36 -30
  332. package/dist/core/extract/extractors/set.js.map +1 -1
  333. package/dist/core/extract/extractors/string-bool.d.ts +7 -4
  334. package/dist/core/extract/extractors/string-bool.d.ts.map +1 -1
  335. package/dist/core/extract/extractors/string-bool.js +66 -84
  336. package/dist/core/extract/extractors/string-bool.js.map +1 -1
  337. package/dist/core/extract/extractors/string.d.ts +6 -3
  338. package/dist/core/extract/extractors/string.d.ts.map +1 -1
  339. package/dist/core/extract/extractors/string.js +34 -37
  340. package/dist/core/extract/extractors/string.js.map +1 -1
  341. package/dist/core/extract/extractors/symbol.d.ts +5 -2
  342. package/dist/core/extract/extractors/symbol.d.ts.map +1 -1
  343. package/dist/core/extract/extractors/symbol.js +5 -1
  344. package/dist/core/extract/extractors/symbol.js.map +1 -1
  345. package/dist/core/extract/extractors/template-literal.d.ts +6 -3
  346. package/dist/core/extract/extractors/template-literal.d.ts.map +1 -1
  347. package/dist/core/extract/extractors/template-literal.js +11 -6
  348. package/dist/core/extract/extractors/template-literal.js.map +1 -1
  349. package/dist/core/extract/extractors/tuple.d.ts +6 -3
  350. package/dist/core/extract/extractors/tuple.d.ts.map +1 -1
  351. package/dist/core/extract/extractors/tuple.js +10 -4
  352. package/dist/core/extract/extractors/tuple.js.map +1 -1
  353. package/dist/core/extract/extractors/undefined.d.ts +5 -2
  354. package/dist/core/extract/extractors/undefined.d.ts.map +1 -1
  355. package/dist/core/extract/extractors/undefined.js +5 -1
  356. package/dist/core/extract/extractors/undefined.js.map +1 -1
  357. package/dist/core/extract/extractors/union.d.ts +6 -3
  358. package/dist/core/extract/extractors/union.d.ts.map +1 -1
  359. package/dist/core/extract/extractors/union.js +38 -64
  360. package/dist/core/extract/extractors/union.js.map +1 -1
  361. package/dist/core/extract/extractors/unknown.d.ts +5 -2
  362. package/dist/core/extract/extractors/unknown.d.ts.map +1 -1
  363. package/dist/core/extract/extractors/unknown.js +5 -1
  364. package/dist/core/extract/extractors/unknown.js.map +1 -1
  365. package/dist/core/extract/extractors/void.d.ts +5 -2
  366. package/dist/core/extract/extractors/void.d.ts.map +1 -1
  367. package/dist/core/extract/extractors/void.js +5 -1
  368. package/dist/core/extract/extractors/void.js.map +1 -1
  369. package/dist/core/extract/fallback.d.ts +6 -3
  370. package/dist/core/extract/fallback.d.ts.map +1 -1
  371. package/dist/core/extract/fallback.js +21 -7
  372. package/dist/core/extract/fallback.js.map +1 -1
  373. package/dist/core/extract/index.d.ts +6 -4
  374. package/dist/core/extract/index.d.ts.map +1 -1
  375. package/dist/core/extract/index.js +15 -15
  376. package/dist/core/extract/index.js.map +1 -1
  377. package/dist/core/extract/registry.d.ts +39 -36
  378. package/dist/core/extract/registry.d.ts.map +1 -1
  379. package/dist/core/extract/registry.js +96 -123
  380. package/dist/core/extract/registry.js.map +1 -1
  381. package/dist/core/extract/types.d.ts +124 -120
  382. package/dist/core/extract/types.d.ts.map +1 -1
  383. package/dist/core/extract/types.js +0 -1
  384. package/dist/core/iife.d.ts +14 -15
  385. package/dist/core/iife.d.ts.map +1 -1
  386. package/dist/core/iife.js +182 -206
  387. package/dist/core/iife.js.map +1 -1
  388. package/dist/core/pipeline.d.ts +33 -30
  389. package/dist/core/pipeline.d.ts.map +1 -1
  390. package/dist/core/pipeline.js +67 -74
  391. package/dist/core/pipeline.js.map +1 -1
  392. package/dist/core/types.d.ts +430 -427
  393. package/dist/core/types.d.ts.map +1 -1
  394. package/dist/core/types.js +0 -5
  395. package/dist/discovery.d.ts +8 -5
  396. package/dist/discovery.d.ts.map +1 -1
  397. package/dist/discovery.js +31 -32
  398. package/dist/discovery.js.map +1 -1
  399. package/dist/index.d.ts +4 -4
  400. package/dist/index.js +2 -2
  401. package/dist/jit.d.ts +15 -42
  402. package/dist/jit.d.ts.map +1 -1
  403. package/dist/jit.js +187 -216
  404. package/dist/jit.js.map +1 -1
  405. package/dist/loader.d.ts +14 -11
  406. package/dist/loader.d.ts.map +1 -1
  407. package/dist/loader.js +226 -258
  408. package/dist/loader.js.map +1 -1
  409. package/dist/static-filter.d.ts +4 -1
  410. package/dist/static-filter.d.ts.map +1 -1
  411. package/dist/static-filter.js +240 -367
  412. package/dist/static-filter.js.map +1 -1
  413. package/dist/swc.d.ts +38 -35
  414. package/dist/swc.d.ts.map +1 -1
  415. package/dist/swc.js +83 -76
  416. package/dist/swc.js.map +1 -1
  417. package/dist/unplugin/bun.d.ts +5 -2
  418. package/dist/unplugin/bun.d.ts.map +1 -1
  419. package/dist/unplugin/bun.js +5 -1
  420. package/dist/unplugin/bun.js.map +1 -1
  421. package/dist/unplugin/dep-graph.d.ts +10 -7
  422. package/dist/unplugin/dep-graph.d.ts.map +1 -1
  423. package/dist/unplugin/dep-graph.js +216 -252
  424. package/dist/unplugin/dep-graph.js.map +1 -1
  425. package/dist/unplugin/disk-cache.d.ts +121 -92
  426. package/dist/unplugin/disk-cache.d.ts.map +1 -1
  427. package/dist/unplugin/disk-cache.js +425 -444
  428. package/dist/unplugin/disk-cache.js.map +1 -1
  429. package/dist/unplugin/edits.d.ts +15 -12
  430. package/dist/unplugin/edits.d.ts.map +1 -1
  431. package/dist/unplugin/edits.js +24 -37
  432. package/dist/unplugin/edits.js.map +1 -1
  433. package/dist/unplugin/esbuild.d.ts +5 -2
  434. package/dist/unplugin/esbuild.d.ts.map +1 -1
  435. package/dist/unplugin/esbuild.js +5 -1
  436. package/dist/unplugin/esbuild.js.map +1 -1
  437. package/dist/unplugin/farm.d.ts +5 -2
  438. package/dist/unplugin/farm.d.ts.map +1 -1
  439. package/dist/unplugin/farm.js +5 -1
  440. package/dist/unplugin/farm.js.map +1 -1
  441. package/dist/unplugin/hoist-compile.d.ts +14 -42
  442. package/dist/unplugin/hoist-compile.d.ts.map +1 -1
  443. package/dist/unplugin/hoist-compile.js +67 -112
  444. package/dist/unplugin/hoist-compile.js.map +1 -1
  445. package/dist/unplugin/hoist.d.ts +56 -54
  446. package/dist/unplugin/hoist.d.ts.map +1 -1
  447. package/dist/unplugin/hoist.js +945 -1170
  448. package/dist/unplugin/hoist.js.map +1 -1
  449. package/dist/unplugin/index.d.ts +5 -3
  450. package/dist/unplugin/index.d.ts.map +1 -1
  451. package/dist/unplugin/index.js +175 -250
  452. package/dist/unplugin/index.js.map +1 -1
  453. package/dist/unplugin/rolldown.d.ts +5 -2
  454. package/dist/unplugin/rolldown.d.ts.map +1 -1
  455. package/dist/unplugin/rolldown.js +5 -1
  456. package/dist/unplugin/rolldown.js.map +1 -1
  457. package/dist/unplugin/rollup.d.ts +5 -2
  458. package/dist/unplugin/rollup.d.ts.map +1 -1
  459. package/dist/unplugin/rollup.js +5 -1
  460. package/dist/unplugin/rollup.js.map +1 -1
  461. package/dist/unplugin/rsbuild.d.ts +6 -3
  462. package/dist/unplugin/rsbuild.d.ts.map +1 -1
  463. package/dist/unplugin/rsbuild.js +15 -11
  464. package/dist/unplugin/rsbuild.js.map +1 -1
  465. package/dist/unplugin/rspack.d.ts +5 -2
  466. package/dist/unplugin/rspack.d.ts.map +1 -1
  467. package/dist/unplugin/rspack.js +5 -1
  468. package/dist/unplugin/rspack.js.map +1 -1
  469. package/dist/unplugin/transform.d.ts +30 -27
  470. package/dist/unplugin/transform.d.ts.map +1 -1
  471. package/dist/unplugin/transform.js +433 -620
  472. package/dist/unplugin/transform.js.map +1 -1
  473. package/dist/unplugin/types.d.ts +189 -184
  474. package/dist/unplugin/types.d.ts.map +1 -1
  475. package/dist/unplugin/types.js +22 -18
  476. package/dist/unplugin/types.js.map +1 -1
  477. package/dist/unplugin/virtual.d.ts +11 -8
  478. package/dist/unplugin/virtual.d.ts.map +1 -1
  479. package/dist/unplugin/virtual.js +65 -83
  480. package/dist/unplugin/virtual.js.map +1 -1
  481. package/dist/unplugin/vite.d.ts +5 -2
  482. package/dist/unplugin/vite.d.ts.map +1 -1
  483. package/dist/unplugin/vite.js +5 -1
  484. package/dist/unplugin/vite.js.map +1 -1
  485. package/dist/unplugin/webpack.d.ts +5 -2
  486. package/dist/unplugin/webpack.d.ts.map +1 -1
  487. package/dist/unplugin/webpack.js +5 -1
  488. package/dist/unplugin/webpack.js.map +1 -1
  489. package/package.json +23 -14
  490. package/dist/cli/index.d.ts.map +0 -1
  491. package/dist/core/extract/types.js.map +0 -1
  492. package/dist/core/types.js.map +0 -1
  493. package/dist/index.d.ts.map +0 -1
  494. package/dist/index.js.map +0 -1
@@ -1,168 +1,140 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import process from "node:process";
4
1
  import { invalidateModuleCache } from "../../loader.js";
5
2
  import { getErrorMessage } from "../errors.js";
6
3
  import { logger } from "../logger.js";
7
- import { generateFile, isSchemaFile, resolveInputFiles, } from "./generate.js";
8
- const defaultWatchDeps = {
9
- createWatcher: (dir, options, callback) => fs.watch(dir, options, callback),
10
- };
4
+ import { generateFile, isSchemaFile, resolveInputFiles } from "./generate.js";
5
+ import path from "node:path";
6
+ import fs from "node:fs";
7
+ import process from "node:process";
8
+ //#region src/cli/commands/watch.ts
9
+ const defaultWatchDeps = { createWatcher: (dir, options, callback) => fs.watch(dir, options, callback) };
11
10
  /**
12
- * Check if a file path should trigger regeneration.
13
- */
14
- export function isWatchTarget(filePath) {
15
- if (filePath.split(path.sep).includes("node_modules"))
16
- return false;
17
- return isSchemaFile(filePath);
11
+ * Check if a file path should trigger regeneration.
12
+ */
13
+ function isWatchTarget(filePath) {
14
+ if (filePath.split(path.sep).includes("node_modules")) return false;
15
+ return isSchemaFile(filePath);
18
16
  }
19
17
  /**
20
- * Resolve which directories to watch from input paths.
21
- * Files are mapped to their parent directory; subdirectories are deduplicated.
22
- */
23
- export function resolveWatchDirs(inputs) {
24
- const dirs = [];
25
- for (const input of inputs) {
26
- const abs = path.resolve(input);
27
- try {
28
- const stat = fs.statSync(abs);
29
- dirs.push(stat.isDirectory() ? abs : path.dirname(abs));
30
- }
31
- catch {
32
- dirs.push(path.dirname(abs));
33
- }
34
- }
35
- // Deduplicate: remove dirs that are subdirectories of another watched dir
36
- const sorted = [...new Set(dirs)].sort();
37
- const result = [];
38
- for (const dir of sorted) {
39
- const isSubdir = result.some((parent) => dir.startsWith(parent + path.sep));
40
- if (!isSubdir) {
41
- result.push(dir);
42
- }
43
- }
44
- return result;
18
+ * Resolve which directories to watch from input paths.
19
+ * Files are mapped to their parent directory; subdirectories are deduplicated.
20
+ */
21
+ function resolveWatchDirs(inputs) {
22
+ const dirs = [];
23
+ for (const input of inputs) {
24
+ const abs = path.resolve(input);
25
+ try {
26
+ const stat = fs.statSync(abs);
27
+ dirs.push(stat.isDirectory() ? abs : path.dirname(abs));
28
+ } catch {
29
+ dirs.push(path.dirname(abs));
30
+ }
31
+ }
32
+ const sorted = [...new Set(dirs)].sort();
33
+ const result = [];
34
+ for (const dir of sorted) if (!result.some((parent) => dir.startsWith(parent + path.sep))) result.push(dir);
35
+ return result;
45
36
  }
46
37
  /**
47
- * Create a debounced version of a function.
48
- */
49
- export function debounce(fn, delayMs) {
50
- let timer;
51
- return ((...args) => {
52
- if (timer !== undefined)
53
- clearTimeout(timer);
54
- timer = setTimeout(() => {
55
- timer = undefined;
56
- fn(...args);
57
- }, delayMs);
58
- });
38
+ * Create a debounced version of a function.
39
+ */
40
+ function debounce(fn, delayMs) {
41
+ let timer;
42
+ return ((...args) => {
43
+ if (timer !== void 0) clearTimeout(timer);
44
+ timer = setTimeout(() => {
45
+ timer = void 0;
46
+ fn(...args);
47
+ }, delayMs);
48
+ });
59
49
  }
60
50
  /**
61
- * Run the watch mode: initial generate + fs.watch for changes.
62
- */
63
- export async function runWatch(options, deps = defaultWatchDeps) {
64
- const files = await resolveInputFiles(options.inputs);
65
- if (files.length === 0) {
66
- logger.warn("No source files found.");
67
- return;
68
- }
69
- // Initial generation
70
- let totalSchemas = 0;
71
- let totalFiles = 0;
72
- for (const filePath of files) {
73
- try {
74
- const result = await generateFile(filePath, options.output, {
75
- zodCompat: options.zodCompat,
76
- compact: options.compact,
77
- autoDiscover: options.autoDiscover,
78
- });
79
- if (result) {
80
- logResult(result);
81
- totalSchemas += result.schemaCount;
82
- totalFiles++;
83
- }
84
- }
85
- catch (err) {
86
- logger.error(getErrorMessage(err));
87
- }
88
- }
89
- if (totalFiles > 0) {
90
- logger.info(`Generated ${totalSchemas} schema${totalSchemas > 1 ? "s" : ""} from ${totalFiles} file${totalFiles > 1 ? "s" : ""}.`);
91
- }
92
- else if (options.autoDiscover) {
93
- logger.warn("No Zod schemas exported from any source file.");
94
- }
95
- else {
96
- logger.warn("No compile() calls found in any source file. Use --schemas auto to scan plain Zod exports.");
97
- }
98
- // Set up file watching
99
- const watchDirs = resolveWatchDirs(options.inputs);
100
- const ac = new AbortController();
101
- const pendingFiles = new Set();
102
- const flush = debounce(async () => {
103
- const batch = [...pendingFiles];
104
- pendingFiles.clear();
105
- // Changed files (and any project files importing them) must re-execute;
106
- // node_modules stay warm in the shared loader cache.
107
- invalidateModuleCache();
108
- for (const filePath of batch) {
109
- try {
110
- const result = await generateFile(filePath, options.output, {
111
- zodCompat: options.zodCompat,
112
- compact: options.compact,
113
- autoDiscover: options.autoDiscover,
114
- });
115
- if (result) {
116
- logResult(result);
117
- }
118
- }
119
- catch (err) {
120
- logger.error(getErrorMessage(err));
121
- }
122
- }
123
- }, 150);
124
- const watchers = [];
125
- for (const dir of watchDirs) {
126
- try {
127
- const watcher = deps.createWatcher(dir, { recursive: true, signal: ac.signal }, (_event, filename) => {
128
- if (!filename)
129
- return;
130
- const fullPath = path.resolve(dir, filename);
131
- if (isWatchTarget(fullPath)) {
132
- pendingFiles.add(fullPath);
133
- void flush();
134
- }
135
- });
136
- watchers.push(watcher);
137
- }
138
- catch (err) {
139
- logger.error(`Failed to watch ${dir}: ${getErrorMessage(err)}`);
140
- }
141
- }
142
- if (watchers.length === 0) {
143
- logger.error("No directories could be watched.");
144
- return;
145
- }
146
- logger.info(`Watching ${watchDirs.length} director${watchDirs.length > 1 ? "ies" : "y"} for changes... (Ctrl+C to stop)`);
147
- // Graceful shutdown
148
- const shutdown = () => {
149
- logger.dim("\nStopping watch mode...");
150
- ac.abort();
151
- };
152
- process.on("SIGINT", shutdown);
153
- process.on("SIGTERM", shutdown);
154
- // Keep process alive until aborted
155
- await new Promise((resolve) => {
156
- ac.signal.addEventListener("abort", () => {
157
- process.removeListener("SIGINT", shutdown);
158
- process.removeListener("SIGTERM", shutdown);
159
- resolve();
160
- }, { once: true });
161
- });
51
+ * Run the watch mode: initial generate + fs.watch for changes.
52
+ */
53
+ async function runWatch(options, deps = defaultWatchDeps) {
54
+ const files = await resolveInputFiles(options.inputs);
55
+ if (files.length === 0) {
56
+ logger.warn("No source files found.");
57
+ return;
58
+ }
59
+ let totalSchemas = 0;
60
+ let totalFiles = 0;
61
+ for (const filePath of files) try {
62
+ const result = await generateFile(filePath, options.output, {
63
+ zodCompat: options.zodCompat,
64
+ compact: options.compact,
65
+ autoDiscover: options.autoDiscover
66
+ });
67
+ if (result) {
68
+ logResult(result);
69
+ totalSchemas += result.schemaCount;
70
+ totalFiles++;
71
+ }
72
+ } catch (err) {
73
+ logger.error(getErrorMessage(err));
74
+ }
75
+ if (totalFiles > 0) logger.info(`Generated ${totalSchemas} schema${totalSchemas > 1 ? "s" : ""} from ${totalFiles} file${totalFiles > 1 ? "s" : ""}.`);
76
+ else if (options.autoDiscover) logger.warn("No Zod schemas exported from any source file.");
77
+ else logger.warn("No compile() calls found in any source file. Use --schemas auto to scan plain Zod exports.");
78
+ const watchDirs = resolveWatchDirs(options.inputs);
79
+ const ac = new AbortController();
80
+ const pendingFiles = /* @__PURE__ */ new Set();
81
+ const flush = debounce(async () => {
82
+ const batch = [...pendingFiles];
83
+ pendingFiles.clear();
84
+ invalidateModuleCache();
85
+ for (const filePath of batch) try {
86
+ const result = await generateFile(filePath, options.output, {
87
+ zodCompat: options.zodCompat,
88
+ compact: options.compact,
89
+ autoDiscover: options.autoDiscover
90
+ });
91
+ if (result) logResult(result);
92
+ } catch (err) {
93
+ logger.error(getErrorMessage(err));
94
+ }
95
+ }, 150);
96
+ const watchers = [];
97
+ for (const dir of watchDirs) try {
98
+ const watcher = deps.createWatcher(dir, {
99
+ recursive: true,
100
+ signal: ac.signal
101
+ }, (_event, filename) => {
102
+ if (!filename) return;
103
+ const fullPath = path.resolve(dir, filename);
104
+ if (isWatchTarget(fullPath)) {
105
+ pendingFiles.add(fullPath);
106
+ flush();
107
+ }
108
+ });
109
+ watchers.push(watcher);
110
+ } catch (err) {
111
+ logger.error(`Failed to watch ${dir}: ${getErrorMessage(err)}`);
112
+ }
113
+ if (watchers.length === 0) {
114
+ logger.error("No directories could be watched.");
115
+ return;
116
+ }
117
+ logger.info(`Watching ${watchDirs.length} director${watchDirs.length > 1 ? "ies" : "y"} for changes... (Ctrl+C to stop)`);
118
+ const shutdown = () => {
119
+ logger.dim("\nStopping watch mode...");
120
+ ac.abort();
121
+ };
122
+ process.on("SIGINT", shutdown);
123
+ process.on("SIGTERM", shutdown);
124
+ await new Promise((resolve) => {
125
+ ac.signal.addEventListener("abort", () => {
126
+ process.removeListener("SIGINT", shutdown);
127
+ process.removeListener("SIGTERM", shutdown);
128
+ resolve();
129
+ }, { once: true });
130
+ });
162
131
  }
163
132
  function logResult(result) {
164
- const relPath = path.relative(process.cwd(), result.filePath);
165
- const outputRelPath = path.relative(process.cwd(), result.outputPath);
166
- logger.success(`${relPath} -> ${outputRelPath} (${result.schemaNames.join(", ")})`);
133
+ const relPath = path.relative(process.cwd(), result.filePath);
134
+ const outputRelPath = path.relative(process.cwd(), result.outputPath);
135
+ logger.success(`${relPath} -> ${outputRelPath} (${result.schemaNames.join(", ")})`);
167
136
  }
137
+ //#endregion
138
+ export { debounce, isWatchTarget, resolveWatchDirs, runWatch };
139
+
168
140
  //# sourceMappingURL=watch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","names":[],"sources":["../../../src/cli/commands/watch.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport process from \"node:process\";\nimport { invalidateModuleCache } from \"../../loader.js\";\nimport { getErrorMessage } from \"../errors.js\";\nimport { logger } from \"../logger.js\";\nimport {\n type GenerateFileResult,\n generateFile,\n isSchemaFile,\n resolveInputFiles,\n} from \"./generate.js\";\n\ninterface WatchOptions {\n inputs: string[];\n output: string | undefined;\n zodCompat?: boolean | undefined;\n compact?: boolean | undefined;\n autoDiscover?: boolean | undefined;\n}\n\n/** Dependencies for runWatch, injectable for testing. */\nexport interface WatchDeps {\n createWatcher: (\n dir: string,\n options: { recursive: boolean; signal: AbortSignal },\n callback: (event: string, filename: string | null) => void,\n ) => fs.FSWatcher;\n}\n\nconst defaultWatchDeps: WatchDeps = {\n createWatcher: (dir, options, callback) => fs.watch(dir, options, callback),\n};\n\n/**\n * Check if a file path should trigger regeneration.\n */\nexport function isWatchTarget(filePath: string): boolean {\n if (filePath.split(path.sep).includes(\"node_modules\")) return false;\n return isSchemaFile(filePath);\n}\n\n/**\n * Resolve which directories to watch from input paths.\n * Files are mapped to their parent directory; subdirectories are deduplicated.\n */\nexport function resolveWatchDirs(inputs: string[]): string[] {\n const dirs: string[] = [];\n\n for (const input of inputs) {\n const abs = path.resolve(input);\n try {\n const stat = fs.statSync(abs);\n dirs.push(stat.isDirectory() ? abs : path.dirname(abs));\n } catch {\n dirs.push(path.dirname(abs));\n }\n }\n\n // Deduplicate: remove dirs that are subdirectories of another watched dir\n const sorted = [...new Set(dirs)].sort();\n const result: string[] = [];\n for (const dir of sorted) {\n const isSubdir = result.some((parent) => dir.startsWith(parent + path.sep));\n if (!isSubdir) {\n result.push(dir);\n }\n }\n\n return result;\n}\n\n/**\n * Create a debounced version of a function.\n */\nexport function debounce<T extends (...args: never[]) => void>(fn: T, delayMs: number): T {\n let timer: ReturnType<typeof setTimeout> | undefined;\n return ((...args: Parameters<T>) => {\n if (timer !== undefined) clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n fn(...args);\n }, delayMs);\n }) as T;\n}\n\n/**\n * Run the watch mode: initial generate + fs.watch for changes.\n */\nexport async function runWatch(\n options: WatchOptions,\n deps: WatchDeps = defaultWatchDeps,\n): Promise<void> {\n const files = await resolveInputFiles(options.inputs);\n\n if (files.length === 0) {\n logger.warn(\"No source files found.\");\n return;\n }\n\n // Initial generation\n let totalSchemas = 0;\n let totalFiles = 0;\n\n for (const filePath of files) {\n try {\n const result = await generateFile(filePath, options.output, {\n zodCompat: options.zodCompat,\n compact: options.compact,\n autoDiscover: options.autoDiscover,\n });\n if (result) {\n logResult(result);\n totalSchemas += result.schemaCount;\n totalFiles++;\n }\n } catch (err) {\n logger.error(getErrorMessage(err));\n }\n }\n\n if (totalFiles > 0) {\n logger.info(\n `Generated ${totalSchemas} schema${totalSchemas > 1 ? \"s\" : \"\"} from ${totalFiles} file${totalFiles > 1 ? \"s\" : \"\"}.`,\n );\n } else if (options.autoDiscover) {\n logger.warn(\"No Zod schemas exported from any source file.\");\n } else {\n logger.warn(\n \"No compile() calls found in any source file. Use --schemas auto to scan plain Zod exports.\",\n );\n }\n\n // Set up file watching\n const watchDirs = resolveWatchDirs(options.inputs);\n const ac = new AbortController();\n\n const pendingFiles = new Set<string>();\n\n const flush = debounce(async () => {\n const batch = [...pendingFiles];\n pendingFiles.clear();\n\n // Changed files (and any project files importing them) must re-execute;\n // node_modules stay warm in the shared loader cache.\n invalidateModuleCache();\n\n for (const filePath of batch) {\n try {\n const result = await generateFile(filePath, options.output, {\n zodCompat: options.zodCompat,\n compact: options.compact,\n autoDiscover: options.autoDiscover,\n });\n if (result) {\n logResult(result);\n }\n } catch (err) {\n logger.error(getErrorMessage(err));\n }\n }\n }, 150);\n\n const watchers: fs.FSWatcher[] = [];\n\n for (const dir of watchDirs) {\n try {\n const watcher = deps.createWatcher(\n dir,\n { recursive: true, signal: ac.signal },\n (_event, filename) => {\n if (!filename) return;\n const fullPath = path.resolve(dir, filename);\n if (isWatchTarget(fullPath)) {\n pendingFiles.add(fullPath);\n void flush();\n }\n },\n );\n watchers.push(watcher);\n } catch (err) {\n logger.error(`Failed to watch ${dir}: ${getErrorMessage(err)}`);\n }\n }\n\n if (watchers.length === 0) {\n logger.error(\"No directories could be watched.\");\n return;\n }\n\n logger.info(\n `Watching ${watchDirs.length} director${watchDirs.length > 1 ? \"ies\" : \"y\"} for changes... (Ctrl+C to stop)`,\n );\n\n // Graceful shutdown\n const shutdown = () => {\n logger.dim(\"\\nStopping watch mode...\");\n ac.abort();\n };\n\n process.on(\"SIGINT\", shutdown);\n process.on(\"SIGTERM\", shutdown);\n\n // Keep process alive until aborted\n await new Promise<void>((resolve) => {\n ac.signal.addEventListener(\n \"abort\",\n () => {\n process.removeListener(\"SIGINT\", shutdown);\n process.removeListener(\"SIGTERM\", shutdown);\n resolve();\n },\n { once: true },\n );\n });\n}\n\nfunction logResult(result: GenerateFileResult): void {\n const relPath = path.relative(process.cwd(), result.filePath);\n const outputRelPath = path.relative(process.cwd(), result.outputPath);\n logger.success(`${relPath} -> ${outputRelPath} (${result.schemaNames.join(\", \")})`);\n}\n"],"mappings":"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"}
@@ -1,27 +1,30 @@
1
- import type { CompiledSchemaInfo } from "../core/pipeline.js";
1
+ import { CompiledSchemaInfo } from "../core/pipeline.js";
2
+ //#region src/cli/emitter.d.ts
2
3
  /**
3
4
  * Generate the content of a .compiled.ts file from multiple schemas.
4
5
  */
5
- export interface EmitterOptions {
6
- /**
7
- * When true (default), installs the compiled methods on the original schema
8
- * object for Zod-compatible output.
9
- * When false, produces a minimal plain object (smaller bundle).
10
- */
11
- zodCompat?: boolean | undefined;
12
- /**
13
- * File-level shared validator declarations (schema dedup). Emitted once at
14
- * module scope so each compiled export can call into them.
15
- */
16
- sharedCode?: string | undefined;
6
+ interface EmitterOptions {
7
+ /**
8
+ * When true (default), installs the compiled methods on the original schema
9
+ * object for Zod-compatible output.
10
+ * When false, produces a minimal plain object (smaller bundle).
11
+ */
12
+ zodCompat?: boolean | undefined;
13
+ /**
14
+ * File-level shared validator declarations (schema dedup). Emitted once at
15
+ * module scope so each compiled export can call into them.
16
+ */
17
+ sharedCode?: string | undefined;
17
18
  }
18
- export declare function generateCompiledFileContent(schemas: CompiledSchemaInfo[], sourceRelPath: string, options?: EmitterOptions): string;
19
+ declare function generateCompiledFileContent(schemas: CompiledSchemaInfo[], sourceRelPath: string, options?: EmitterOptions): string;
19
20
  /**
20
21
  * Resolve the output file path for a given input file.
21
22
  */
22
- export declare function resolveOutputPath(inputPath: string, outputFlag: string | undefined): string;
23
+ declare function resolveOutputPath(inputPath: string, outputFlag: string | undefined): string;
23
24
  /**
24
25
  * Write the compiled file content to disk.
25
26
  */
26
- export declare function writeCompiledFile(outputPath: string, content: string): Promise<void>;
27
+ declare function writeCompiledFile(outputPath: string, content: string): Promise<void>;
28
+ //#endregion
29
+ export { EmitterOptions, generateCompiledFileContent, resolveOutputPath, writeCompiledFile };
27
30
  //# sourceMappingURL=emitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAuDR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAc3F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1F"}
1
+ {"version":3,"file":"emitter.d.ts","names":[],"sources":["../../src/cli/emitter.ts"],"mappings":";;;;;UAkBiB;;;;;;EAMf;;;;;EAKA;;iBAGc,4BACd,SAAS,sBACT,uBACA,UAAU;;;;iBA6DI,kBAAkB,mBAAmB;;;;iBAmB/B,kBAAkB,oBAAoB,kBAAkB"}
@@ -1,78 +1,62 @@
1
- import fs from "node:fs";
1
+ import { FAILZ_CLASS_DECL, FAIL_CLASS_DECL, FINZ_DECL, FIN_DECL, FIN_DEFERRED_DECL, MK_VALIDATOR_DECL, ZOD_CONFIG_IMPORT, ZOD_MSG_DECLARATION, generateIIFE } from "../core/iife.js";
2
2
  import path from "node:path";
3
- import { FAIL_CLASS_DECL, FAILZ_CLASS_DECL, FIN_DECL, FIN_DEFERRED_DECL, FINZ_DECL, generateIIFE, MK_VALIDATOR_DECL, ZOD_CONFIG_IMPORT, ZOD_MSG_DECLARATION, } from "../core/iife.js";
4
- export function generateCompiledFileContent(schemas, sourceRelPath, options) {
5
- let importPath = sourceRelPath.replace(/\.[cm]?[jt]sx?$/, "");
6
- if (!importPath.startsWith(".")) {
7
- importPath = `./${importPath}`;
8
- }
9
- const zodCompat = options?.zodCompat !== false;
10
- // Compact-mode schemas delegate cold errors to zod via __zcFinZ (its own
11
- // __ZcFailZ class), emitted only when some export uses it.
12
- const usesFinZ = schemas.some((s) => s.codegenResult.usedHelpers.has("__zcFinZ"));
13
- // A schema needs the source import when:
14
- // - zodCompat: true (__zcMkv installs compiled methods on the schema)
15
- // - has refEntries (fallback schemas referenced via __rf[])
16
- const schemasNeedingImport = schemas.filter((s) => zodCompat || s.refEntries.length > 0);
17
- const exports = schemas.map((schema) => {
18
- const needsImport = zodCompat || schema.refEntries.length > 0;
19
- // `compile()` returns the schema augmented with a non-enumerable `schema`
20
- // self-reference; auto-discovery (the default) instead finds plain exported
21
- // Zod schemas, which have no such property. Both shapes must resolve, so
22
- // fall through to the export itself — reading `.schema` alone yields
23
- // undefined there, which silently cost __zcMkv the real schema to augment
24
- // and hard-crashed every `__rf[]` base at module load.
25
- const src = `__src_${schema.exportName}`;
26
- const schemaExpr = needsImport ? `((${src} as any).schema ?? ${src})` : "";
27
- return `export const ${schema.exportName} = ${generateIIFE(schemaExpr, schema, { zodCompat })};`;
28
- });
29
- const importLine = schemasNeedingImport.length > 0
30
- ? [
31
- `import { ${schemasNeedingImport.map((s) => `${s.exportName} as __src_${s.exportName}`).join(", ")} } from "${importPath}";`,
32
- "",
33
- ]
34
- : [];
35
- return [
36
- "// AUTO-GENERATED by zod-compiler — DO NOT EDIT",
37
- `// Source: ${sourceRelPath}`,
38
- "",
39
- ZOD_CONFIG_IMPORT,
40
- ZOD_MSG_DECLARATION,
41
- FAIL_CLASS_DECL,
42
- MK_VALIDATOR_DECL,
43
- FIN_DECL,
44
- FIN_DEFERRED_DECL,
45
- ...(usesFinZ ? [FAILZ_CLASS_DECL, FINZ_DECL] : []),
46
- ...(options?.sharedCode ? ["", options.sharedCode] : []),
47
- "",
48
- ...importLine,
49
- ...exports,
50
- "",
51
- ].join("\n");
3
+ import fs from "node:fs";
4
+ //#region src/cli/emitter.ts
5
+ function generateCompiledFileContent(schemas, sourceRelPath, options) {
6
+ let importPath = sourceRelPath.replace(/\.[cm]?[jt]sx?$/, "");
7
+ if (!importPath.startsWith(".")) importPath = `./${importPath}`;
8
+ const zodCompat = options?.zodCompat !== false;
9
+ const usesFinZ = schemas.some((s) => s.codegenResult.usedHelpers.has("__zcFinZ"));
10
+ const schemasNeedingImport = schemas.filter((s) => zodCompat || s.refEntries.length > 0);
11
+ const exports = schemas.map((schema) => {
12
+ const needsImport = zodCompat || schema.refEntries.length > 0;
13
+ const src = `__src_${schema.exportName}`;
14
+ const schemaExpr = needsImport ? `((${src} as any).schema ?? ${src})` : "";
15
+ return `export const ${schema.exportName} = ${generateIIFE(schemaExpr, schema, { zodCompat })};`;
16
+ });
17
+ const importLine = schemasNeedingImport.length > 0 ? [`import { ${schemasNeedingImport.map((s) => `${s.exportName} as __src_${s.exportName}`).join(", ")} } from "${importPath}";`, ""] : [];
18
+ return [
19
+ "// AUTO-GENERATED by zod-compiler — DO NOT EDIT",
20
+ `// Source: ${sourceRelPath}`,
21
+ "",
22
+ ZOD_CONFIG_IMPORT,
23
+ ZOD_MSG_DECLARATION,
24
+ FAIL_CLASS_DECL,
25
+ MK_VALIDATOR_DECL,
26
+ FIN_DECL,
27
+ FIN_DEFERRED_DECL,
28
+ ...usesFinZ ? [FAILZ_CLASS_DECL, FINZ_DECL] : [],
29
+ ...options?.sharedCode ? ["", options.sharedCode] : [],
30
+ "",
31
+ ...importLine,
32
+ ...exports,
33
+ ""
34
+ ].join("\n");
52
35
  }
53
36
  /**
54
- * Resolve the output file path for a given input file.
55
- */
56
- export function resolveOutputPath(inputPath, outputFlag) {
57
- if (outputFlag) {
58
- // If output flag ends with / or is a directory, put the compiled file inside it
59
- if (outputFlag.endsWith("/") || outputFlag.endsWith(path.sep)) {
60
- const baseName = path.basename(inputPath, path.extname(inputPath));
61
- return path.join(outputFlag, `${baseName}.compiled.ts`);
62
- }
63
- return outputFlag;
64
- }
65
- // Default: replace .ts with .compiled.ts
66
- const dir = path.dirname(inputPath);
67
- const baseName = path.basename(inputPath, path.extname(inputPath));
68
- return path.join(dir, `${baseName}.compiled.ts`);
37
+ * Resolve the output file path for a given input file.
38
+ */
39
+ function resolveOutputPath(inputPath, outputFlag) {
40
+ if (outputFlag) {
41
+ if (outputFlag.endsWith("/") || outputFlag.endsWith(path.sep)) {
42
+ const baseName = path.basename(inputPath, path.extname(inputPath));
43
+ return path.join(outputFlag, `${baseName}.compiled.ts`);
44
+ }
45
+ return outputFlag;
46
+ }
47
+ const dir = path.dirname(inputPath);
48
+ const baseName = path.basename(inputPath, path.extname(inputPath));
49
+ return path.join(dir, `${baseName}.compiled.ts`);
69
50
  }
70
51
  /**
71
- * Write the compiled file content to disk.
72
- */
73
- export async function writeCompiledFile(outputPath, content) {
74
- const dir = path.dirname(outputPath);
75
- await fs.promises.mkdir(dir, { recursive: true });
76
- await fs.promises.writeFile(outputPath, content, "utf-8");
52
+ * Write the compiled file content to disk.
53
+ */
54
+ async function writeCompiledFile(outputPath, content) {
55
+ const dir = path.dirname(outputPath);
56
+ await fs.promises.mkdir(dir, { recursive: true });
57
+ await fs.promises.writeFile(outputPath, content, "utf-8");
77
58
  }
59
+ //#endregion
60
+ export { generateCompiledFileContent, resolveOutputPath, writeCompiledFile };
61
+
78
62
  //# sourceMappingURL=emitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/cli/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","names":[],"sources":["../../src/cli/emitter.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport {\n FAIL_CLASS_DECL,\n FAILZ_CLASS_DECL,\n FIN_DECL,\n FIN_DEFERRED_DECL,\n FINZ_DECL,\n generateIIFE,\n MK_VALIDATOR_DECL,\n ZOD_CONFIG_IMPORT,\n ZOD_MSG_DECLARATION,\n} from \"../core/iife.js\";\nimport type { CompiledSchemaInfo } from \"../core/pipeline.js\";\n\n/**\n * Generate the content of a .compiled.ts file from multiple schemas.\n */\nexport interface EmitterOptions {\n /**\n * When true (default), installs the compiled methods on the original schema\n * object for Zod-compatible output.\n * When false, produces a minimal plain object (smaller bundle).\n */\n zodCompat?: boolean | undefined;\n /**\n * File-level shared validator declarations (schema dedup). Emitted once at\n * module scope so each compiled export can call into them.\n */\n sharedCode?: string | undefined;\n}\n\nexport function generateCompiledFileContent(\n schemas: CompiledSchemaInfo[],\n sourceRelPath: string,\n options?: EmitterOptions,\n): string {\n let importPath = sourceRelPath.replace(/\\.[cm]?[jt]sx?$/, \"\");\n if (!importPath.startsWith(\".\")) {\n importPath = `./${importPath}`;\n }\n\n const zodCompat = options?.zodCompat !== false;\n\n // Compact-mode schemas delegate cold errors to zod via __zcFinZ (its own\n // __ZcFailZ class), emitted only when some export uses it.\n const usesFinZ = schemas.some((s) => s.codegenResult.usedHelpers.has(\"__zcFinZ\"));\n\n // A schema needs the source import when:\n // - zodCompat: true (__zcMkv installs compiled methods on the schema)\n // - has refEntries (fallback schemas referenced via __rf[])\n const schemasNeedingImport = schemas.filter((s) => zodCompat || s.refEntries.length > 0);\n\n const exports = schemas.map((schema) => {\n const needsImport = zodCompat || schema.refEntries.length > 0;\n // `compile()` returns the schema augmented with a non-enumerable `schema`\n // self-reference; auto-discovery (the default) instead finds plain exported\n // Zod schemas, which have no such property. Both shapes must resolve, so\n // fall through to the export itself — reading `.schema` alone yields\n // undefined there, which silently cost __zcMkv the real schema to augment\n // and hard-crashed every `__rf[]` base at module load.\n const src = `__src_${schema.exportName}`;\n const schemaExpr = needsImport ? `((${src} as any).schema ?? ${src})` : \"\";\n return `export const ${schema.exportName} = ${generateIIFE(schemaExpr, schema, { zodCompat })};`;\n });\n\n const importLine =\n schemasNeedingImport.length > 0\n ? [\n `import { ${schemasNeedingImport.map((s) => `${s.exportName} as __src_${s.exportName}`).join(\", \")} } from \"${importPath}\";`,\n \"\",\n ]\n : [];\n\n return [\n \"// AUTO-GENERATED by zod-compiler — DO NOT EDIT\",\n `// Source: ${sourceRelPath}`,\n \"\",\n ZOD_CONFIG_IMPORT,\n ZOD_MSG_DECLARATION,\n FAIL_CLASS_DECL,\n MK_VALIDATOR_DECL,\n FIN_DECL,\n FIN_DEFERRED_DECL,\n ...(usesFinZ ? [FAILZ_CLASS_DECL, FINZ_DECL] : []),\n ...(options?.sharedCode ? [\"\", options.sharedCode] : []),\n \"\",\n ...importLine,\n ...exports,\n \"\",\n ].join(\"\\n\");\n}\n\n/**\n * Resolve the output file path for a given input file.\n */\nexport function resolveOutputPath(inputPath: string, outputFlag: string | undefined): string {\n if (outputFlag) {\n // If output flag ends with / or is a directory, put the compiled file inside it\n if (outputFlag.endsWith(\"/\") || outputFlag.endsWith(path.sep)) {\n const baseName = path.basename(inputPath, path.extname(inputPath));\n return path.join(outputFlag, `${baseName}.compiled.ts`);\n }\n return outputFlag;\n }\n\n // Default: replace .ts with .compiled.ts\n const dir = path.dirname(inputPath);\n const baseName = path.basename(inputPath, path.extname(inputPath));\n return path.join(dir, `${baseName}.compiled.ts`);\n}\n\n/**\n * Write the compiled file content to disk.\n */\nexport async function writeCompiledFile(outputPath: string, content: string): Promise<void> {\n const dir = path.dirname(outputPath);\n await fs.promises.mkdir(dir, { recursive: true });\n await fs.promises.writeFile(outputPath, content, \"utf-8\");\n}\n"],"mappings":";;;;AAgCA,SAAgB,4BACd,SACA,eACA,SACQ;CACR,IAAI,aAAa,cAAc,QAAQ,mBAAmB,EAAE;CAC5D,IAAI,CAAC,WAAW,WAAW,GAAG,GAC5B,aAAa,KAAK;CAGpB,MAAM,YAAY,SAAS,cAAc;CAIzC,MAAM,WAAW,QAAQ,MAAM,MAAM,EAAE,cAAc,YAAY,IAAI,UAAU,CAAC;CAKhF,MAAM,uBAAuB,QAAQ,QAAQ,MAAM,aAAa,EAAE,WAAW,SAAS,CAAC;CAEvF,MAAM,UAAU,QAAQ,KAAK,WAAW;EACtC,MAAM,cAAc,aAAa,OAAO,WAAW,SAAS;EAO5D,MAAM,MAAM,SAAS,OAAO;EAC5B,MAAM,aAAa,cAAc,KAAK,IAAI,qBAAqB,IAAI,KAAK;EACxE,OAAO,gBAAgB,OAAO,WAAW,KAAK,aAAa,YAAY,QAAQ,EAAE,UAAU,CAAC,EAAE;CAChG,CAAC;CAED,MAAM,aACJ,qBAAqB,SAAS,IAC1B,CACE,YAAY,qBAAqB,KAAK,MAAM,GAAG,EAAE,WAAW,YAAY,EAAE,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,WAAW,WAAW,KACzH,EACF,IACA,CAAC;CAEP,OAAO;EACL;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAI,WAAW,CAAC,kBAAkB,SAAS,IAAI,CAAC;EAChD,GAAI,SAAS,aAAa,CAAC,IAAI,QAAQ,UAAU,IAAI,CAAC;EACtD;EACA,GAAG;EACH,GAAG;EACH;CACF,CAAC,CAAC,KAAK,IAAI;AACb;;;;AAKA,SAAgB,kBAAkB,WAAmB,YAAwC;CAC3F,IAAI,YAAY;EAEd,IAAI,WAAW,SAAS,GAAG,KAAK,WAAW,SAAS,KAAK,GAAG,GAAG;GAC7D,MAAM,WAAW,KAAK,SAAS,WAAW,KAAK,QAAQ,SAAS,CAAC;GACjE,OAAO,KAAK,KAAK,YAAY,GAAG,SAAS,aAAa;EACxD;EACA,OAAO;CACT;CAGA,MAAM,MAAM,KAAK,QAAQ,SAAS;CAClC,MAAM,WAAW,KAAK,SAAS,WAAW,KAAK,QAAQ,SAAS,CAAC;CACjE,OAAO,KAAK,KAAK,KAAK,GAAG,SAAS,aAAa;AACjD;;;;AAKA,eAAsB,kBAAkB,YAAoB,SAAgC;CAC1F,MAAM,MAAM,KAAK,QAAQ,UAAU;CACnC,MAAM,GAAG,SAAS,MAAM,KAAK,EAAE,WAAW,KAAK,CAAC;CAChD,MAAM,GAAG,SAAS,UAAU,YAAY,SAAS,OAAO;AAC1D"}
@@ -1,2 +1,5 @@
1
- export declare function getErrorMessage(err: unknown): string;
1
+ //#region src/cli/errors.d.ts
2
+ declare function getErrorMessage(err: unknown): string;
3
+ //#endregion
4
+ export { getErrorMessage };
2
5
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/cli/errors.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"errors.d.ts","names":[],"sources":["../../src/cli/errors.ts"],"mappings":";iBAAgB,gBAAgB"}
@@ -1,4 +1,8 @@
1
- export function getErrorMessage(err) {
2
- return err instanceof Error ? err.message : String(err);
1
+ //#region src/cli/errors.ts
2
+ function getErrorMessage(err) {
3
+ return err instanceof Error ? err.message : String(err);
3
4
  }
5
+ //#endregion
6
+ export { getErrorMessage };
7
+
4
8
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/cli/errors.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"errors.js","names":[],"sources":["../../src/cli/errors.ts"],"sourcesContent":["export function getErrorMessage(err: unknown): string {\n return err instanceof Error ? err.message : String(err);\n}\n"],"mappings":";AAAA,SAAgB,gBAAgB,KAAsB;CACpD,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AACxD"}
@@ -1,3 +1 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
1
+ export {}