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,147 +1,116 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import process from "node:process";
4
- import { compileSchemas } from "../../core/pipeline.js";
5
1
  import { discoverSchemas } from "../../discovery.js";
2
+ import { compileSchemas } from "../../core/pipeline.js";
6
3
  import { mayExportSchemas } from "../../static-filter.js";
7
4
  import { generateCompiledFileContent, resolveOutputPath, writeCompiledFile } from "../emitter.js";
8
5
  import { getErrorMessage } from "../errors.js";
9
6
  import { logger } from "../logger.js";
7
+ import path from "node:path";
8
+ import fs from "node:fs";
9
+ import process from "node:process";
10
+ //#region src/cli/commands/generate.ts
10
11
  /**
11
- * Check if a filename is a schema file candidate.
12
- * Shared filter logic used by both findSchemaFiles and isWatchTarget.
13
- */
14
- export function isSchemaFile(fileName) {
15
- return (/\.(?:ts|mts|js|mjs)$/.test(fileName) &&
16
- !fileName.endsWith(".compiled.ts") &&
17
- !fileName.endsWith(".compiled.js") &&
18
- !fileName.endsWith(".test.ts") &&
19
- !fileName.endsWith(".test.js") &&
20
- !fileName.endsWith(".d.ts"));
12
+ * Check if a filename is a schema file candidate.
13
+ * Shared filter logic used by both findSchemaFiles and isWatchTarget.
14
+ */
15
+ function isSchemaFile(fileName) {
16
+ return /\.(?:ts|mts|js|mjs)$/.test(fileName) && !fileName.endsWith(".compiled.ts") && !fileName.endsWith(".compiled.js") && !fileName.endsWith(".test.ts") && !fileName.endsWith(".test.js") && !fileName.endsWith(".d.ts");
21
17
  }
22
18
  /**
23
- * Resolve input paths to a list of source files.
24
- * If a path is a directory, find all .ts files (excluding .compiled.ts, .test.ts, node_modules).
25
- */
26
- export async function resolveInputFiles(inputs) {
27
- const files = [];
28
- for (const input of inputs) {
29
- const absPath = path.resolve(input);
30
- const stat = await fs.promises.stat(absPath).catch(() => null);
31
- if (!stat) {
32
- logger.error(`File not found: ${input}`);
33
- process.exit(1);
34
- }
35
- if (stat.isDirectory()) {
36
- const found = await findSchemaFiles(absPath);
37
- files.push(...found);
38
- }
39
- else {
40
- files.push(absPath);
41
- }
42
- }
43
- return files;
19
+ * Resolve input paths to a list of source files.
20
+ * If a path is a directory, find all .ts files (excluding .compiled.ts, .test.ts, node_modules).
21
+ */
22
+ async function resolveInputFiles(inputs) {
23
+ const files = [];
24
+ for (const input of inputs) {
25
+ const absPath = path.resolve(input);
26
+ const stat = await fs.promises.stat(absPath).catch(() => null);
27
+ if (!stat) {
28
+ logger.error(`File not found: ${input}`);
29
+ process.exit(1);
30
+ }
31
+ if (stat.isDirectory()) {
32
+ const found = await findSchemaFiles(absPath);
33
+ files.push(...found);
34
+ } else files.push(absPath);
35
+ }
36
+ return files;
44
37
  }
45
- export async function findSchemaFiles(dir) {
46
- const results = [];
47
- const entries = await fs.promises.readdir(dir, { withFileTypes: true });
48
- for (const entry of entries) {
49
- const fullPath = path.join(dir, entry.name);
50
- if (entry.isDirectory()) {
51
- if (entry.name === "node_modules" || entry.name === "dist" || entry.name.startsWith(".")) {
52
- continue;
53
- }
54
- const nested = await findSchemaFiles(fullPath);
55
- results.push(...nested);
56
- }
57
- else if (entry.isFile() && isSchemaFile(entry.name)) {
58
- results.push(fullPath);
59
- }
60
- }
61
- return results;
38
+ async function findSchemaFiles(dir) {
39
+ const results = [];
40
+ const entries = await fs.promises.readdir(dir, { withFileTypes: true });
41
+ for (const entry of entries) {
42
+ const fullPath = path.join(dir, entry.name);
43
+ if (entry.isDirectory()) {
44
+ if (entry.name === "node_modules" || entry.name === "dist" || entry.name.startsWith(".")) continue;
45
+ const nested = await findSchemaFiles(fullPath);
46
+ results.push(...nested);
47
+ } else if (entry.isFile() && isSchemaFile(entry.name)) results.push(fullPath);
48
+ }
49
+ return results;
62
50
  }
63
51
  /**
64
- * Generate compiled output for a single source file.
65
- * Returns null if no compile() calls are found.
66
- */
67
- export async function generateFile(filePath, outputFlag, options) {
68
- const relPath = path.relative(process.cwd(), filePath);
69
- // Static pre-filter: skip files whose exports provably cannot be schemas
70
- // without executing them. Unreadable files fall through to discovery,
71
- // which produces the proper error.
72
- const source = await fs.promises.readFile(filePath, "utf8").catch(() => null);
73
- if (source !== null && !(await mayExportSchemas(source, filePath))) {
74
- return null;
75
- }
76
- let schemas;
77
- try {
78
- schemas = await discoverSchemas(filePath, {
79
- autoDiscover: options?.autoDiscover,
80
- });
81
- }
82
- catch (err) {
83
- throw new Error(`Failed to load ${relPath}: ${getErrorMessage(err)}`);
84
- }
85
- if (schemas.length === 0) {
86
- return null;
87
- }
88
- const { schemas: codegenResults, shared } = compileSchemas(schemas, {
89
- mode: "inline",
90
- compact: options?.compact,
91
- });
92
- const outputPath = resolveOutputPath(filePath, outputFlag);
93
- const sourceRelPath = path.relative(path.dirname(outputPath), filePath);
94
- const content = generateCompiledFileContent(codegenResults, sourceRelPath, {
95
- zodCompat: options?.zodCompat,
96
- sharedCode: shared.code,
97
- });
98
- await writeCompiledFile(outputPath, content);
99
- return {
100
- filePath,
101
- outputPath,
102
- schemaCount: schemas.length,
103
- schemaNames: schemas.map((s) => s.exportName),
104
- };
52
+ * Generate compiled output for a single source file.
53
+ * Returns null if no compile() calls are found.
54
+ */
55
+ async function generateFile(filePath, outputFlag, options) {
56
+ const relPath = path.relative(process.cwd(), filePath);
57
+ const source = await fs.promises.readFile(filePath, "utf8").catch(() => null);
58
+ if (source !== null && !await mayExportSchemas(source, filePath)) return null;
59
+ let schemas;
60
+ try {
61
+ schemas = await discoverSchemas(filePath, { autoDiscover: options?.autoDiscover });
62
+ } catch (err) {
63
+ throw new Error(`Failed to load ${relPath}: ${getErrorMessage(err)}`);
64
+ }
65
+ if (schemas.length === 0) return null;
66
+ const { schemas: codegenResults, shared } = compileSchemas(schemas, {
67
+ mode: "inline",
68
+ compact: options?.compact
69
+ });
70
+ const outputPath = resolveOutputPath(filePath, outputFlag);
71
+ await writeCompiledFile(outputPath, generateCompiledFileContent(codegenResults, path.relative(path.dirname(outputPath), filePath), {
72
+ zodCompat: options?.zodCompat,
73
+ sharedCode: shared.code
74
+ }));
75
+ return {
76
+ filePath,
77
+ outputPath,
78
+ schemaCount: schemas.length,
79
+ schemaNames: schemas.map((s) => s.exportName)
80
+ };
105
81
  }
106
- export async function runGenerate(options) {
107
- const files = await resolveInputFiles(options.inputs);
108
- if (files.length === 0) {
109
- logger.warn("No source files found.");
110
- return;
111
- }
112
- let totalSchemas = 0;
113
- let totalFiles = 0;
114
- for (const filePath of files) {
115
- let result;
116
- try {
117
- result = await generateFile(filePath, options.output, {
118
- zodCompat: options.zodCompat,
119
- compact: options.compact,
120
- autoDiscover: options.autoDiscover,
121
- });
122
- }
123
- catch (err) {
124
- logger.error(getErrorMessage(err));
125
- process.exit(1);
126
- }
127
- if (!result)
128
- continue;
129
- const relPath = path.relative(process.cwd(), result.filePath);
130
- const outputRelPath = path.relative(process.cwd(), result.outputPath);
131
- logger.success(`${relPath} -> ${outputRelPath} (${result.schemaNames.join(", ")})`);
132
- totalSchemas += result.schemaCount;
133
- totalFiles++;
134
- }
135
- if (totalFiles === 0) {
136
- if (options.autoDiscover) {
137
- logger.warn("No Zod schemas exported from any source file.");
138
- }
139
- else {
140
- logger.warn("No compile() calls found in any source file. Use --schemas auto to scan plain Zod exports.");
141
- }
142
- }
143
- else {
144
- logger.info(`Generated ${totalSchemas} schema${totalSchemas > 1 ? "s" : ""} from ${totalFiles} file${totalFiles > 1 ? "s" : ""}.`);
145
- }
82
+ async function runGenerate(options) {
83
+ const files = await resolveInputFiles(options.inputs);
84
+ if (files.length === 0) {
85
+ logger.warn("No source files found.");
86
+ return;
87
+ }
88
+ let totalSchemas = 0;
89
+ let totalFiles = 0;
90
+ for (const filePath of files) {
91
+ let result;
92
+ try {
93
+ result = await generateFile(filePath, options.output, {
94
+ zodCompat: options.zodCompat,
95
+ compact: options.compact,
96
+ autoDiscover: options.autoDiscover
97
+ });
98
+ } catch (err) {
99
+ logger.error(getErrorMessage(err));
100
+ process.exit(1);
101
+ }
102
+ if (!result) continue;
103
+ const relPath = path.relative(process.cwd(), result.filePath);
104
+ const outputRelPath = path.relative(process.cwd(), result.outputPath);
105
+ logger.success(`${relPath} -> ${outputRelPath} (${result.schemaNames.join(", ")})`);
106
+ totalSchemas += result.schemaCount;
107
+ totalFiles++;
108
+ }
109
+ if (totalFiles === 0) if (options.autoDiscover) logger.warn("No Zod schemas exported from any source file.");
110
+ else logger.warn("No compile() calls found in any source file. Use --schemas auto to scan plain Zod exports.");
111
+ else logger.info(`Generated ${totalSchemas} schema${totalSchemas > 1 ? "s" : ""} from ${totalFiles} file${totalFiles > 1 ? "s" : ""}.`);
146
112
  }
113
+ //#endregion
114
+ export { findSchemaFiles, generateFile, isSchemaFile, resolveInputFiles, runGenerate };
115
+
147
116
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","names":[],"sources":["../../../src/cli/commands/generate.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport process from \"node:process\";\nimport { compileSchemas } from \"../../core/pipeline.js\";\nimport type { DiscoveredSchema } from \"../../core/types.js\";\nimport { discoverSchemas } from \"../../discovery.js\";\nimport { mayExportSchemas } from \"../../static-filter.js\";\nimport { generateCompiledFileContent, resolveOutputPath, writeCompiledFile } from \"../emitter.js\";\nimport { getErrorMessage } from \"../errors.js\";\nimport { logger } from \"../logger.js\";\n\nexport interface GenerateOptions {\n inputs: string[];\n output: string | undefined;\n zodCompat?: boolean | undefined;\n compact?: boolean | undefined;\n autoDiscover?: boolean | undefined;\n}\n\nexport interface GenerateFileResult {\n filePath: string;\n outputPath: string;\n schemaCount: number;\n schemaNames: string[];\n}\n\n/**\n * Check if a filename is a schema file candidate.\n * Shared filter logic used by both findSchemaFiles and isWatchTarget.\n */\nexport function isSchemaFile(fileName: string): boolean {\n return (\n /\\.(?:ts|mts|js|mjs)$/.test(fileName) &&\n !fileName.endsWith(\".compiled.ts\") &&\n !fileName.endsWith(\".compiled.js\") &&\n !fileName.endsWith(\".test.ts\") &&\n !fileName.endsWith(\".test.js\") &&\n !fileName.endsWith(\".d.ts\")\n );\n}\n\n/**\n * Resolve input paths to a list of source files.\n * If a path is a directory, find all .ts files (excluding .compiled.ts, .test.ts, node_modules).\n */\nexport async function resolveInputFiles(inputs: string[]): Promise<string[]> {\n const files: string[] = [];\n\n for (const input of inputs) {\n const absPath = path.resolve(input);\n const stat = await fs.promises.stat(absPath).catch(() => null);\n\n if (!stat) {\n logger.error(`File not found: ${input}`);\n process.exit(1);\n }\n\n if (stat.isDirectory()) {\n const found = await findSchemaFiles(absPath);\n files.push(...found);\n } else {\n files.push(absPath);\n }\n }\n\n return files;\n}\n\nexport async function findSchemaFiles(dir: string): Promise<string[]> {\n const results: string[] = [];\n const entries = await fs.promises.readdir(dir, { withFileTypes: true });\n\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n\n if (entry.isDirectory()) {\n if (entry.name === \"node_modules\" || entry.name === \"dist\" || entry.name.startsWith(\".\")) {\n continue;\n }\n const nested = await findSchemaFiles(fullPath);\n results.push(...nested);\n } else if (entry.isFile() && isSchemaFile(entry.name)) {\n results.push(fullPath);\n }\n }\n\n return results;\n}\n\n/**\n * Generate compiled output for a single source file.\n * Returns null if no compile() calls are found.\n */\nexport async function generateFile(\n filePath: string,\n outputFlag: string | undefined,\n options?: {\n zodCompat?: boolean | undefined;\n compact?: boolean | undefined;\n autoDiscover?: boolean | undefined;\n },\n): Promise<GenerateFileResult | null> {\n const relPath = path.relative(process.cwd(), filePath);\n\n // Static pre-filter: skip files whose exports provably cannot be schemas\n // without executing them. Unreadable files fall through to discovery,\n // which produces the proper error.\n const source = await fs.promises.readFile(filePath, \"utf8\").catch(() => null);\n if (source !== null && !(await mayExportSchemas(source, filePath))) {\n return null;\n }\n\n let schemas: DiscoveredSchema[];\n try {\n schemas = await discoverSchemas(filePath, {\n autoDiscover: options?.autoDiscover,\n });\n } catch (err) {\n throw new Error(`Failed to load ${relPath}: ${getErrorMessage(err)}`);\n }\n\n if (schemas.length === 0) {\n return null;\n }\n\n const { schemas: codegenResults, shared } = compileSchemas(schemas, {\n mode: \"inline\",\n compact: options?.compact,\n });\n\n const outputPath = resolveOutputPath(filePath, outputFlag);\n const sourceRelPath = path.relative(path.dirname(outputPath), filePath);\n const content = generateCompiledFileContent(codegenResults, sourceRelPath, {\n zodCompat: options?.zodCompat,\n sharedCode: shared.code,\n });\n\n await writeCompiledFile(outputPath, content);\n\n return {\n filePath,\n outputPath,\n schemaCount: schemas.length,\n schemaNames: schemas.map((s) => s.exportName),\n };\n}\n\nexport async function runGenerate(options: GenerateOptions): 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 let totalSchemas = 0;\n let totalFiles = 0;\n\n for (const filePath of files) {\n let result: GenerateFileResult | null;\n try {\n result = await generateFile(filePath, options.output, {\n zodCompat: options.zodCompat,\n compact: options.compact,\n autoDiscover: options.autoDiscover,\n });\n } catch (err) {\n logger.error(getErrorMessage(err));\n process.exit(1);\n }\n\n if (!result) continue;\n\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 totalSchemas += result.schemaCount;\n totalFiles++;\n }\n\n if (totalFiles === 0) {\n 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 } else {\n logger.info(\n `Generated ${totalSchemas} schema${totalSchemas > 1 ? \"s\" : \"\"} from ${totalFiles} file${totalFiles > 1 ? \"s\" : \"\"}.`,\n );\n }\n}\n"],"mappings":"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"}
@@ -1,34 +1,36 @@
1
1
  import fs from "node:fs";
2
+ //#region src/cli/commands/watch.d.ts
2
3
  interface WatchOptions {
3
- inputs: string[];
4
- output: string | undefined;
5
- zodCompat?: boolean | undefined;
6
- compact?: boolean | undefined;
7
- autoDiscover?: boolean | undefined;
4
+ inputs: string[];
5
+ output: string | undefined;
6
+ zodCompat?: boolean | undefined;
7
+ compact?: boolean | undefined;
8
+ autoDiscover?: boolean | undefined;
8
9
  }
9
10
  /** Dependencies for runWatch, injectable for testing. */
10
- export interface WatchDeps {
11
- createWatcher: (dir: string, options: {
12
- recursive: boolean;
13
- signal: AbortSignal;
14
- }, callback: (event: string, filename: string | null) => void) => fs.FSWatcher;
11
+ interface WatchDeps {
12
+ createWatcher: (dir: string, options: {
13
+ recursive: boolean;
14
+ signal: AbortSignal;
15
+ }, callback: (event: string, filename: string | null) => void) => fs.FSWatcher;
15
16
  }
16
17
  /**
17
18
  * Check if a file path should trigger regeneration.
18
19
  */
19
- export declare function isWatchTarget(filePath: string): boolean;
20
+ declare function isWatchTarget(filePath: string): boolean;
20
21
  /**
21
22
  * Resolve which directories to watch from input paths.
22
23
  * Files are mapped to their parent directory; subdirectories are deduplicated.
23
24
  */
24
- export declare function resolveWatchDirs(inputs: string[]): string[];
25
+ declare function resolveWatchDirs(inputs: string[]): string[];
25
26
  /**
26
27
  * Create a debounced version of a function.
27
28
  */
28
- export declare function debounce<T extends (...args: never[]) => void>(fn: T, delayMs: number): T;
29
+ declare function debounce<T extends (...args: never[]) => void>(fn: T, delayMs: number): T;
29
30
  /**
30
31
  * Run the watch mode: initial generate + fs.watch for changes.
31
32
  */
32
- export declare function runWatch(options: WatchOptions, deps?: WatchDeps): Promise<void>;
33
- export {};
33
+ declare function runWatch(options: WatchOptions, deps?: WatchDeps): Promise<void>;
34
+ //#endregion
35
+ export { WatchDeps, debounce, isWatchTarget, resolveWatchDirs, runWatch };
34
36
  //# sourceMappingURL=watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAazB,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,CACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,EACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,KACvD,EAAE,CAAC,SAAS,CAAC;CACnB;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAwB3D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CASxF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,SAA4B,GACjC,OAAO,CAAC,IAAI,CAAC,CA2Hf"}
1
+ {"version":3,"file":"watch.d.ts","names":[],"sources":["../../../src/cli/commands/watch.ts"],"mappings":";;UAaU;EACR;EACA;EACA;EACA;EACA;;;UAIe;EACf,gBACE,aACA;IAAW;IAAoB,QAAQ;KACvC,WAAW,eAAe,qCACvB,GAAG;;;;;iBAUM,cAAc;;;;;iBASd,iBAAiB;;;;iBA6BjB,SAAS,cAAc,wBAAwB,IAAI,GAAG,kBAAkB;;;;iBAclE,SACpB,SAAS,cACT,OAAM,YACL"}