on-zero 0.7.10 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/{readme.md → README.md} +172 -231
  2. package/dist/cjs/cli.cjs +5 -2
  3. package/dist/cjs/cli.native.js +5 -2
  4. package/dist/cjs/cli.native.js.map +1 -1
  5. package/dist/cjs/combineZeroClients.cjs +2 -2
  6. package/dist/cjs/combineZeroClients.native.js +6 -6
  7. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  8. package/dist/cjs/config.cjs +30 -0
  9. package/dist/cjs/config.native.js +33 -0
  10. package/dist/cjs/config.native.js.map +1 -0
  11. package/dist/cjs/createPermissions.cjs +2 -2
  12. package/dist/cjs/createPermissions.native.js +17 -27
  13. package/dist/cjs/createPermissions.native.js.map +1 -1
  14. package/dist/cjs/createUseQuery.cjs +3 -3
  15. package/dist/cjs/createUseQuery.native.js +4 -4
  16. package/dist/cjs/createUseQuery.native.js.map +1 -1
  17. package/dist/cjs/createUseQueryDirect.cjs +4 -3
  18. package/dist/cjs/createUseQueryDirect.native.js +14 -18
  19. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  20. package/dist/cjs/createZeroClient.cjs +29 -9
  21. package/dist/cjs/createZeroClient.connection.test.cjs +11 -0
  22. package/dist/cjs/createZeroClient.connection.test.native.js +14 -7
  23. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  24. package/dist/cjs/createZeroClient.native.js +58 -32
  25. package/dist/cjs/createZeroClient.native.js.map +1 -1
  26. package/dist/cjs/createZeroClient.recovery.test.cjs +90 -3
  27. package/dist/cjs/createZeroClient.recovery.test.native.js +109 -19
  28. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  29. package/dist/cjs/generate-helpers.cjs +70 -17
  30. package/dist/cjs/generate-helpers.native.js +110 -23
  31. package/dist/cjs/generate-helpers.native.js.map +1 -1
  32. package/dist/cjs/generate-layout.cjs +586 -0
  33. package/dist/cjs/generate-layout.native.js +1275 -0
  34. package/dist/cjs/generate-layout.native.js.map +1 -0
  35. package/dist/cjs/generate-lite.cjs +295 -27
  36. package/dist/cjs/generate-lite.native.js +854 -102
  37. package/dist/cjs/generate-lite.native.js.map +1 -1
  38. package/dist/cjs/generate-lite.test.cjs +433 -41
  39. package/dist/cjs/generate-lite.test.native.js +446 -41
  40. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  41. package/dist/cjs/generate.cjs +172 -94
  42. package/dist/cjs/generate.native.js +324 -148
  43. package/dist/cjs/generate.native.js.map +1 -1
  44. package/dist/cjs/generate.test.cjs +362 -45
  45. package/dist/cjs/generate.test.native.js +374 -45
  46. package/dist/cjs/generate.test.native.js.map +1 -1
  47. package/dist/cjs/helpers/NullToOptional.cjs +18 -0
  48. package/dist/cjs/helpers/NullToOptional.native.js +21 -0
  49. package/dist/cjs/helpers/NullToOptional.native.js.map +1 -0
  50. package/dist/cjs/helpers/asyncContext.cjs +128 -0
  51. package/dist/cjs/helpers/asyncContext.native.js +87 -0
  52. package/dist/cjs/helpers/asyncContext.native.js.map +1 -0
  53. package/dist/cjs/helpers/batchQuery.cjs +2 -2
  54. package/dist/cjs/helpers/batchQuery.native.js +2 -2
  55. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  56. package/dist/cjs/helpers/createMutators.cjs +7 -4
  57. package/dist/cjs/helpers/createMutators.native.js +12 -9
  58. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  59. package/dist/cjs/helpers/createMutators.test.native.js +2 -2
  60. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
  61. package/dist/cjs/helpers/ellipsis.cjs +35 -0
  62. package/dist/cjs/helpers/ellipsis.native.js +38 -0
  63. package/dist/cjs/helpers/ellipsis.native.js.map +1 -0
  64. package/dist/cjs/helpers/emitter.cjs +99 -0
  65. package/dist/cjs/helpers/emitter.native.js +125 -0
  66. package/dist/cjs/helpers/emitter.native.js.map +1 -0
  67. package/dist/cjs/helpers/ensure.cjs +33 -0
  68. package/dist/cjs/helpers/ensure.native.js +37 -0
  69. package/dist/cjs/helpers/ensure.native.js.map +1 -0
  70. package/dist/cjs/helpers/ensureLoggedIn.cjs +2 -2
  71. package/dist/cjs/helpers/ensureLoggedIn.native.js +3 -3
  72. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  73. package/dist/cjs/helpers/errors.cjs +40 -0
  74. package/dist/cjs/helpers/errors.native.js +152 -0
  75. package/dist/cjs/helpers/errors.native.js.map +1 -0
  76. package/dist/cjs/helpers/getCurrentComponentStack.cjs +71 -0
  77. package/dist/cjs/helpers/getCurrentComponentStack.native.js +93 -0
  78. package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -0
  79. package/dist/cjs/helpers/globalValue.cjs +39 -0
  80. package/dist/cjs/helpers/globalValue.native.js +42 -0
  81. package/dist/cjs/helpers/globalValue.native.js.map +1 -0
  82. package/dist/cjs/helpers/mapObject.cjs +36 -0
  83. package/dist/cjs/helpers/mapObject.native.js +39 -0
  84. package/dist/cjs/helpers/mapObject.native.js.map +1 -0
  85. package/dist/cjs/helpers/mutationLifecycle.cjs +251 -0
  86. package/dist/cjs/helpers/mutationLifecycle.native.js +392 -0
  87. package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -0
  88. package/dist/cjs/helpers/mutationLifecycle.test.cjs +174 -0
  89. package/dist/cjs/helpers/mutationLifecycle.test.native.js +182 -0
  90. package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -0
  91. package/dist/cjs/helpers/mutatorContext.cjs +3 -3
  92. package/dist/cjs/helpers/mutatorContext.native.js +5 -5
  93. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  94. package/dist/cjs/helpers/platform.cjs +31 -0
  95. package/dist/cjs/helpers/platform.native.js +33 -0
  96. package/dist/cjs/helpers/platform.native.js.map +1 -0
  97. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +2 -2
  98. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +7 -7
  99. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  100. package/dist/cjs/helpers/queryContext.cjs +2 -2
  101. package/dist/cjs/helpers/queryContext.native.js +4 -4
  102. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  103. package/dist/cjs/helpers/recoverZeroClient.cjs +14 -15
  104. package/dist/cjs/helpers/recoverZeroClient.native.js +26 -23
  105. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  106. package/dist/cjs/helpers/recoverZeroClient.test.cjs +10 -8
  107. package/dist/cjs/helpers/recoverZeroClient.test.native.js +17 -21
  108. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  109. package/dist/cjs/helpers/sleep.cjs +34 -0
  110. package/dist/cjs/helpers/sleep.native.js +39 -0
  111. package/dist/cjs/helpers/sleep.native.js.map +1 -0
  112. package/dist/cjs/helpers/time.cjs +47 -0
  113. package/dist/cjs/helpers/time.native.js +80 -0
  114. package/dist/cjs/helpers/time.native.js.map +1 -0
  115. package/dist/cjs/helpers/tuple.cjs +18 -0
  116. package/dist/cjs/helpers/tuple.native.js +21 -0
  117. package/dist/cjs/helpers/tuple.native.js.map +1 -0
  118. package/dist/cjs/helpers/useMutation.native.js +5 -5
  119. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  120. package/dist/cjs/helpers/useMutation.test.native.js +1 -1
  121. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  122. package/dist/cjs/helpers/useZeroDebug.cjs +2 -2
  123. package/dist/cjs/helpers/useZeroDebug.native.js +7 -8
  124. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  125. package/dist/cjs/index.cjs +9 -1
  126. package/dist/cjs/index.native.js +8 -0
  127. package/dist/cjs/index.native.js.map +1 -1
  128. package/dist/cjs/instanceRegistry.cjs +16 -4
  129. package/dist/cjs/instanceRegistry.native.js +56 -6
  130. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  131. package/dist/cjs/multi.cjs +34 -13
  132. package/dist/cjs/multi.native.js +39 -17
  133. package/dist/cjs/multi.native.js.map +1 -1
  134. package/dist/cjs/multiInstance.test.cjs +6 -2
  135. package/dist/cjs/multiInstance.test.native.js +13 -9
  136. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  137. package/dist/cjs/multiInstanceNested.test.native.js +10 -10
  138. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  139. package/dist/cjs/multiPartition.test.cjs +85 -36
  140. package/dist/cjs/multiPartition.test.native.js +102 -39
  141. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  142. package/dist/cjs/mutations.cjs +2 -2
  143. package/dist/cjs/mutations.native.js +4 -4
  144. package/dist/cjs/mutations.native.js.map +1 -1
  145. package/dist/cjs/mutations.test.native.js +3 -3
  146. package/dist/cjs/mutations.test.native.js.map +1 -1
  147. package/dist/cjs/provideZero.hydration.test.cjs +3 -3
  148. package/dist/cjs/provideZero.hydration.test.native.js +4 -4
  149. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  150. package/dist/cjs/run.cjs +1 -1
  151. package/dist/cjs/run.native.js +3 -3
  152. package/dist/cjs/run.native.js.map +1 -1
  153. package/dist/cjs/server.cjs +20 -16
  154. package/dist/cjs/server.native.js +50 -57
  155. package/dist/cjs/server.native.js.map +1 -1
  156. package/dist/cjs/server.test.cjs +129 -6
  157. package/dist/cjs/server.test.native.js +141 -10
  158. package/dist/cjs/server.test.native.js.map +1 -1
  159. package/dist/cjs/serverWhere.test.native.js +3 -3
  160. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  161. package/dist/cjs/state.cjs +2 -2
  162. package/dist/cjs/state.native.js +10 -10
  163. package/dist/cjs/state.native.js.map +1 -1
  164. package/dist/cjs/usePermission.test.native.js +3 -3
  165. package/dist/cjs/usePermission.test.native.js.map +1 -1
  166. package/dist/cjs/useQuery.empty.test.cjs +3 -3
  167. package/dist/cjs/useQuery.empty.test.native.js +6 -6
  168. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  169. package/dist/cjs/useQuery.ssr.test.native.js +2 -2
  170. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  171. package/dist/cjs/vite-plugin.cjs +7 -8
  172. package/dist/cjs/vite-plugin.native.js +11 -11
  173. package/dist/cjs/vite-plugin.native.js.map +1 -1
  174. package/dist/cjs/where.cjs +3 -3
  175. package/dist/cjs/where.native.js +4 -4
  176. package/dist/cjs/where.native.js.map +1 -1
  177. package/dist/esm/cli.mjs +6 -3
  178. package/dist/esm/cli.mjs.map +1 -1
  179. package/dist/esm/cli.native.js +6 -3
  180. package/dist/esm/cli.native.js.map +1 -1
  181. package/dist/esm/combineZeroClients.mjs +1 -1
  182. package/dist/esm/combineZeroClients.mjs.map +1 -1
  183. package/dist/esm/combineZeroClients.native.js +5 -5
  184. package/dist/esm/combineZeroClients.native.js.map +1 -1
  185. package/dist/esm/config.mjs +5 -0
  186. package/dist/esm/config.mjs.map +1 -0
  187. package/dist/esm/config.native.js +5 -0
  188. package/dist/esm/config.native.js.map +1 -0
  189. package/dist/esm/createPermissions.mjs +1 -1
  190. package/dist/esm/createPermissions.mjs.map +1 -1
  191. package/dist/esm/createPermissions.native.js +16 -26
  192. package/dist/esm/createPermissions.native.js.map +1 -1
  193. package/dist/esm/createUseQuery.mjs +2 -2
  194. package/dist/esm/createUseQuery.mjs.map +1 -1
  195. package/dist/esm/createUseQuery.native.js +3 -3
  196. package/dist/esm/createUseQuery.native.js.map +1 -1
  197. package/dist/esm/createUseQueryDirect.mjs +2 -1
  198. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  199. package/dist/esm/createUseQueryDirect.native.js +12 -16
  200. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  201. package/dist/esm/createZeroClient.connection.test.mjs +11 -0
  202. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  203. package/dist/esm/createZeroClient.connection.test.native.js +14 -7
  204. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  205. package/dist/esm/createZeroClient.mjs +25 -5
  206. package/dist/esm/createZeroClient.mjs.map +1 -1
  207. package/dist/esm/createZeroClient.native.js +54 -28
  208. package/dist/esm/createZeroClient.native.js.map +1 -1
  209. package/dist/esm/createZeroClient.recovery.test.mjs +90 -3
  210. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  211. package/dist/esm/createZeroClient.recovery.test.native.js +109 -19
  212. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  213. package/dist/esm/generate-helpers.mjs +70 -18
  214. package/dist/esm/generate-helpers.mjs.map +1 -1
  215. package/dist/esm/generate-helpers.native.js +110 -24
  216. package/dist/esm/generate-helpers.native.js.map +1 -1
  217. package/dist/esm/generate-layout.mjs +560 -0
  218. package/dist/esm/generate-layout.mjs.map +1 -0
  219. package/dist/esm/generate-layout.native.js +1246 -0
  220. package/dist/esm/generate-layout.native.js.map +1 -0
  221. package/dist/esm/generate-lite.mjs +296 -28
  222. package/dist/esm/generate-lite.mjs.map +1 -1
  223. package/dist/esm/generate-lite.native.js +855 -103
  224. package/dist/esm/generate-lite.native.js.map +1 -1
  225. package/dist/esm/generate-lite.test.mjs +434 -42
  226. package/dist/esm/generate-lite.test.mjs.map +1 -1
  227. package/dist/esm/generate-lite.test.native.js +447 -42
  228. package/dist/esm/generate-lite.test.native.js.map +1 -1
  229. package/dist/esm/generate.mjs +172 -96
  230. package/dist/esm/generate.mjs.map +1 -1
  231. package/dist/esm/generate.native.js +324 -150
  232. package/dist/esm/generate.native.js.map +1 -1
  233. package/dist/esm/generate.test.mjs +366 -49
  234. package/dist/esm/generate.test.mjs.map +1 -1
  235. package/dist/esm/generate.test.native.js +378 -49
  236. package/dist/esm/generate.test.native.js.map +1 -1
  237. package/dist/esm/helpers/NullToOptional.mjs +2 -0
  238. package/dist/esm/helpers/NullToOptional.mjs.map +1 -0
  239. package/dist/esm/helpers/NullToOptional.native.js +2 -0
  240. package/dist/esm/helpers/NullToOptional.native.js.map +1 -0
  241. package/dist/esm/helpers/asyncContext.mjs +102 -0
  242. package/dist/esm/helpers/asyncContext.mjs.map +1 -0
  243. package/dist/esm/helpers/asyncContext.native.js +58 -0
  244. package/dist/esm/helpers/asyncContext.native.js.map +1 -0
  245. package/dist/esm/helpers/batchQuery.mjs +1 -1
  246. package/dist/esm/helpers/batchQuery.native.js +1 -1
  247. package/dist/esm/helpers/createMutators.mjs +5 -2
  248. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  249. package/dist/esm/helpers/createMutators.native.js +10 -7
  250. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  251. package/dist/esm/helpers/createMutators.test.native.js +2 -2
  252. package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
  253. package/dist/esm/helpers/ellipsis.mjs +10 -0
  254. package/dist/esm/helpers/ellipsis.mjs.map +1 -0
  255. package/dist/esm/helpers/ellipsis.native.js +10 -0
  256. package/dist/esm/helpers/ellipsis.native.js.map +1 -0
  257. package/dist/esm/helpers/emitter.mjs +72 -0
  258. package/dist/esm/helpers/emitter.mjs.map +1 -0
  259. package/dist/esm/helpers/emitter.native.js +95 -0
  260. package/dist/esm/helpers/emitter.native.js.map +1 -0
  261. package/dist/esm/helpers/ensure.mjs +8 -0
  262. package/dist/esm/helpers/ensure.mjs.map +1 -0
  263. package/dist/esm/helpers/ensure.native.js +9 -0
  264. package/dist/esm/helpers/ensure.native.js.map +1 -0
  265. package/dist/esm/helpers/ensureLoggedIn.mjs +1 -1
  266. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  267. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
  268. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  269. package/dist/esm/helpers/errors.mjs +14 -0
  270. package/dist/esm/helpers/errors.mjs.map +1 -0
  271. package/dist/esm/helpers/errors.native.js +123 -0
  272. package/dist/esm/helpers/errors.native.js.map +1 -0
  273. package/dist/esm/helpers/getCurrentComponentStack.mjs +35 -0
  274. package/dist/esm/helpers/getCurrentComponentStack.mjs.map +1 -0
  275. package/dist/esm/helpers/getCurrentComponentStack.native.js +54 -0
  276. package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -0
  277. package/dist/esm/helpers/globalValue.mjs +14 -0
  278. package/dist/esm/helpers/globalValue.mjs.map +1 -0
  279. package/dist/esm/helpers/globalValue.native.js +14 -0
  280. package/dist/esm/helpers/globalValue.native.js.map +1 -0
  281. package/dist/esm/helpers/mapObject.mjs +11 -0
  282. package/dist/esm/helpers/mapObject.mjs.map +1 -0
  283. package/dist/esm/helpers/mapObject.native.js +11 -0
  284. package/dist/esm/helpers/mapObject.native.js.map +1 -0
  285. package/dist/esm/helpers/mutationLifecycle.mjs +221 -0
  286. package/dist/esm/helpers/mutationLifecycle.mjs.map +1 -0
  287. package/dist/esm/helpers/mutationLifecycle.native.js +359 -0
  288. package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -0
  289. package/dist/esm/helpers/mutationLifecycle.test.mjs +175 -0
  290. package/dist/esm/helpers/mutationLifecycle.test.mjs.map +1 -0
  291. package/dist/esm/helpers/mutationLifecycle.test.native.js +180 -0
  292. package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -0
  293. package/dist/esm/helpers/mutatorContext.mjs +1 -1
  294. package/dist/esm/helpers/mutatorContext.native.js +4 -4
  295. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  296. package/dist/esm/helpers/platform.mjs +5 -0
  297. package/dist/esm/helpers/platform.mjs.map +1 -0
  298. package/dist/esm/helpers/platform.native.js +4 -0
  299. package/dist/esm/helpers/platform.native.js.map +1 -0
  300. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +1 -1
  301. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +6 -6
  302. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  303. package/dist/esm/helpers/queryContext.mjs +1 -1
  304. package/dist/esm/helpers/queryContext.native.js +3 -3
  305. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  306. package/dist/esm/helpers/recoverZeroClient.mjs +14 -15
  307. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  308. package/dist/esm/helpers/recoverZeroClient.native.js +26 -23
  309. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  310. package/dist/esm/helpers/recoverZeroClient.test.mjs +8 -6
  311. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  312. package/dist/esm/helpers/recoverZeroClient.test.native.js +15 -19
  313. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  314. package/dist/esm/helpers/sleep.mjs +9 -0
  315. package/dist/esm/helpers/sleep.mjs.map +1 -0
  316. package/dist/esm/helpers/sleep.native.js +11 -0
  317. package/dist/esm/helpers/sleep.native.js.map +1 -0
  318. package/dist/esm/helpers/time.mjs +22 -0
  319. package/dist/esm/helpers/time.mjs.map +1 -0
  320. package/dist/esm/helpers/time.native.js +52 -0
  321. package/dist/esm/helpers/time.native.js.map +1 -0
  322. package/dist/esm/helpers/tuple.mjs +2 -0
  323. package/dist/esm/helpers/tuple.mjs.map +1 -0
  324. package/dist/esm/helpers/tuple.native.js +2 -0
  325. package/dist/esm/helpers/tuple.native.js.map +1 -0
  326. package/dist/esm/helpers/useMutation.native.js +5 -5
  327. package/dist/esm/helpers/useMutation.native.js.map +1 -1
  328. package/dist/esm/helpers/useMutation.test.native.js +1 -1
  329. package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
  330. package/dist/esm/helpers/useZeroDebug.mjs +1 -1
  331. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
  332. package/dist/esm/helpers/useZeroDebug.native.js +6 -7
  333. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  334. package/dist/esm/index.js +3 -1
  335. package/dist/esm/index.js.map +1 -1
  336. package/dist/esm/index.mjs +3 -1
  337. package/dist/esm/index.mjs.map +1 -1
  338. package/dist/esm/index.native.js +3 -1
  339. package/dist/esm/index.native.js.map +1 -1
  340. package/dist/esm/instanceRegistry.mjs +13 -2
  341. package/dist/esm/instanceRegistry.mjs.map +1 -1
  342. package/dist/esm/instanceRegistry.native.js +53 -4
  343. package/dist/esm/instanceRegistry.native.js.map +1 -1
  344. package/dist/esm/multi.mjs +33 -12
  345. package/dist/esm/multi.mjs.map +1 -1
  346. package/dist/esm/multi.native.js +38 -16
  347. package/dist/esm/multi.native.js.map +1 -1
  348. package/dist/esm/multiInstance.test.mjs +5 -1
  349. package/dist/esm/multiInstance.test.mjs.map +1 -1
  350. package/dist/esm/multiInstance.test.native.js +12 -8
  351. package/dist/esm/multiInstance.test.native.js.map +1 -1
  352. package/dist/esm/multiInstanceNested.test.native.js +10 -10
  353. package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
  354. package/dist/esm/multiPartition.test.mjs +86 -37
  355. package/dist/esm/multiPartition.test.mjs.map +1 -1
  356. package/dist/esm/multiPartition.test.native.js +103 -40
  357. package/dist/esm/multiPartition.test.native.js.map +1 -1
  358. package/dist/esm/mutations.mjs +1 -1
  359. package/dist/esm/mutations.mjs.map +1 -1
  360. package/dist/esm/mutations.native.js +3 -3
  361. package/dist/esm/mutations.native.js.map +1 -1
  362. package/dist/esm/mutations.test.native.js +3 -3
  363. package/dist/esm/mutations.test.native.js.map +1 -1
  364. package/dist/esm/provideZero.hydration.test.mjs +1 -1
  365. package/dist/esm/provideZero.hydration.test.mjs.map +1 -1
  366. package/dist/esm/provideZero.hydration.test.native.js +2 -2
  367. package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
  368. package/dist/esm/run.mjs +1 -1
  369. package/dist/esm/run.mjs.map +1 -1
  370. package/dist/esm/run.native.js +3 -3
  371. package/dist/esm/run.native.js.map +1 -1
  372. package/dist/esm/server.mjs +20 -15
  373. package/dist/esm/server.mjs.map +1 -1
  374. package/dist/esm/server.native.js +50 -56
  375. package/dist/esm/server.native.js.map +1 -1
  376. package/dist/esm/server.test.mjs +130 -7
  377. package/dist/esm/server.test.mjs.map +1 -1
  378. package/dist/esm/server.test.native.js +142 -11
  379. package/dist/esm/server.test.native.js.map +1 -1
  380. package/dist/esm/serverWhere.test.mjs.map +1 -1
  381. package/dist/esm/serverWhere.test.native.js +3 -3
  382. package/dist/esm/serverWhere.test.native.js.map +1 -1
  383. package/dist/esm/state.mjs +1 -1
  384. package/dist/esm/state.mjs.map +1 -1
  385. package/dist/esm/state.native.js +9 -9
  386. package/dist/esm/state.native.js.map +1 -1
  387. package/dist/esm/usePermission.test.native.js +3 -3
  388. package/dist/esm/usePermission.test.native.js.map +1 -1
  389. package/dist/esm/useQuery.empty.test.mjs +1 -1
  390. package/dist/esm/useQuery.empty.test.mjs.map +1 -1
  391. package/dist/esm/useQuery.empty.test.native.js +4 -4
  392. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  393. package/dist/esm/useQuery.ssr.test.native.js +2 -2
  394. package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
  395. package/dist/esm/vite-plugin.mjs +7 -8
  396. package/dist/esm/vite-plugin.mjs.map +1 -1
  397. package/dist/esm/vite-plugin.native.js +11 -11
  398. package/dist/esm/vite-plugin.native.js.map +1 -1
  399. package/dist/esm/where.mjs +1 -1
  400. package/dist/esm/where.mjs.map +1 -1
  401. package/dist/esm/where.native.js +2 -2
  402. package/dist/esm/where.native.js.map +1 -1
  403. package/package.json +18 -6
  404. package/src/cli.ts +11 -3
  405. package/src/combineZeroClients.tsx +18 -10
  406. package/src/config.ts +72 -0
  407. package/src/createPermissions.ts +3 -4
  408. package/src/createUseQuery.tsx +8 -8
  409. package/src/createUseQueryDirect.tsx +11 -10
  410. package/src/createZeroClient.authData.test.tsx +1 -1
  411. package/src/createZeroClient.connection.test.tsx +13 -2
  412. package/src/createZeroClient.recovery.test.tsx +100 -4
  413. package/src/createZeroClient.tsx +87 -30
  414. package/src/generate-helpers.ts +108 -31
  415. package/src/generate-layout.ts +841 -0
  416. package/src/generate-lite.test.ts +421 -42
  417. package/src/generate-lite.ts +479 -43
  418. package/src/generate.test.ts +552 -90
  419. package/src/generate.ts +360 -163
  420. package/src/helpers/NullToOptional.ts +5 -0
  421. package/src/helpers/asyncContext.native.ts +90 -0
  422. package/src/helpers/asyncContext.ts +159 -0
  423. package/src/helpers/batchQuery.ts +2 -2
  424. package/src/helpers/createMutators.ts +11 -8
  425. package/src/helpers/ellipsis.ts +9 -0
  426. package/src/helpers/emitter.tsx +106 -0
  427. package/src/helpers/ensure.ts +10 -0
  428. package/src/helpers/ensureLoggedIn.ts +1 -2
  429. package/src/helpers/errors.ts +13 -0
  430. package/src/helpers/getCurrentComponentStack.ts +56 -0
  431. package/src/helpers/globalValue.ts +40 -0
  432. package/src/helpers/mapObject.ts +14 -0
  433. package/src/helpers/mutationLifecycle.test.ts +180 -0
  434. package/src/helpers/mutationLifecycle.ts +313 -0
  435. package/src/helpers/mutatorContext.ts +3 -3
  436. package/src/helpers/platform.native.ts +2 -0
  437. package/src/helpers/platform.ts +16 -0
  438. package/src/helpers/prettyFormatZeroQuery.ts +2 -2
  439. package/src/helpers/queryContext.ts +2 -2
  440. package/src/helpers/recoverZeroClient.test.ts +23 -21
  441. package/src/helpers/recoverZeroClient.ts +56 -49
  442. package/src/helpers/sleep.ts +8 -0
  443. package/src/helpers/time.ts +51 -0
  444. package/src/helpers/tuple.ts +1 -0
  445. package/src/helpers/useMutation.tsx +3 -3
  446. package/src/helpers/useZeroDebug.ts +3 -3
  447. package/src/index.ts +13 -1
  448. package/src/instanceRegistry.ts +19 -6
  449. package/src/multi.ts +75 -31
  450. package/src/multiInstance.test.tsx +31 -13
  451. package/src/multiInstanceNested.test.tsx +2 -2
  452. package/src/multiPartition.test.ts +62 -27
  453. package/src/mutations.ts +10 -10
  454. package/src/provideZero.hydration.test.tsx +1 -1
  455. package/src/resolveQuery.ts +2 -2
  456. package/src/run.ts +7 -7
  457. package/src/server.test.ts +117 -18
  458. package/src/server.ts +70 -43
  459. package/src/serverWhere.ts +2 -2
  460. package/src/state.ts +2 -2
  461. package/src/types.ts +47 -6
  462. package/src/useQuery.empty.test.tsx +3 -3
  463. package/src/useQuery.ssr.test.ts +1 -1
  464. package/src/vite-plugin.ts +12 -9
  465. package/src/where.ts +6 -7
  466. package/src/zeroRunner.ts +2 -2
  467. package/types/combineZeroClients.d.ts +11 -5
  468. package/types/combineZeroClients.d.ts.map +1 -1
  469. package/types/config.d.ts +62 -0
  470. package/types/config.d.ts.map +1 -0
  471. package/types/createPermissions.d.ts.map +1 -1
  472. package/types/createUseQuery.d.ts.map +1 -1
  473. package/types/createUseQueryDirect.d.ts +1 -1
  474. package/types/createUseQueryDirect.d.ts.map +1 -1
  475. package/types/createZeroClient.d.ts +22 -12
  476. package/types/createZeroClient.d.ts.map +1 -1
  477. package/types/createZeroClient.recovery.test.d.ts.map +1 -1
  478. package/types/generate-helpers.d.ts +17 -2
  479. package/types/generate-helpers.d.ts.map +1 -1
  480. package/types/generate-layout.d.ts +26 -0
  481. package/types/generate-layout.d.ts.map +1 -0
  482. package/types/generate-lite.d.ts +29 -1
  483. package/types/generate-lite.d.ts.map +1 -1
  484. package/types/generate.d.ts +20 -0
  485. package/types/generate.d.ts.map +1 -1
  486. package/types/helpers/NullToOptional.d.ts +6 -0
  487. package/types/helpers/NullToOptional.d.ts.map +1 -0
  488. package/types/helpers/asyncContext.d.ts +15 -0
  489. package/types/helpers/asyncContext.d.ts.map +1 -0
  490. package/types/helpers/asyncContext.native.d.ts +8 -0
  491. package/types/helpers/asyncContext.native.d.ts.map +1 -0
  492. package/types/helpers/createMutators.d.ts +2 -1
  493. package/types/helpers/createMutators.d.ts.map +1 -1
  494. package/types/helpers/ellipsis.d.ts +2 -0
  495. package/types/helpers/ellipsis.d.ts.map +1 -0
  496. package/types/helpers/emitter.d.ts +21 -0
  497. package/types/helpers/emitter.d.ts.map +1 -0
  498. package/types/helpers/ensure.d.ts +2 -0
  499. package/types/helpers/ensure.d.ts.map +1 -0
  500. package/types/helpers/ensureLoggedIn.d.ts.map +1 -1
  501. package/types/helpers/errors.d.ts +7 -0
  502. package/types/helpers/errors.d.ts.map +1 -0
  503. package/types/helpers/getCurrentComponentStack.d.ts +2 -0
  504. package/types/helpers/getCurrentComponentStack.d.ts.map +1 -0
  505. package/types/helpers/globalValue.d.ts +23 -0
  506. package/types/helpers/globalValue.d.ts.map +1 -0
  507. package/types/helpers/mapObject.d.ts +4 -0
  508. package/types/helpers/mapObject.d.ts.map +1 -0
  509. package/types/helpers/mutationLifecycle.d.ts +44 -0
  510. package/types/helpers/mutationLifecycle.d.ts.map +1 -0
  511. package/types/helpers/mutationLifecycle.test.d.ts +2 -0
  512. package/types/helpers/mutationLifecycle.test.d.ts.map +1 -0
  513. package/types/helpers/platform.d.ts +3 -0
  514. package/types/helpers/platform.d.ts.map +1 -0
  515. package/types/helpers/platform.native.d.ts +3 -0
  516. package/types/helpers/platform.native.d.ts.map +1 -0
  517. package/types/helpers/recoverZeroClient.d.ts +13 -9
  518. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  519. package/types/helpers/sleep.d.ts +2 -0
  520. package/types/helpers/sleep.d.ts.map +1 -0
  521. package/types/helpers/time.d.ts +28 -0
  522. package/types/helpers/time.d.ts.map +1 -0
  523. package/types/helpers/tuple.d.ts +2 -0
  524. package/types/helpers/tuple.d.ts.map +1 -0
  525. package/types/index.d.ts +3 -1
  526. package/types/index.d.ts.map +1 -1
  527. package/types/instanceRegistry.d.ts +1 -0
  528. package/types/instanceRegistry.d.ts.map +1 -1
  529. package/types/multi.d.ts +23 -1
  530. package/types/multi.d.ts.map +1 -1
  531. package/types/mutations.d.ts +1 -1
  532. package/types/mutations.d.ts.map +1 -1
  533. package/types/run.d.ts.map +1 -1
  534. package/types/server.d.ts +12 -8
  535. package/types/server.d.ts.map +1 -1
  536. package/types/state.d.ts +1 -1
  537. package/types/state.d.ts.map +1 -1
  538. package/types/types.d.ts +23 -1
  539. package/types/types.d.ts.map +1 -1
  540. package/types/vite-plugin.d.ts.map +1 -1
  541. package/types/where.d.ts.map +1 -1
  542. package/lint/ssr-guards.js +0 -165
  543. package/test-fixtures/server-return-types.ts +0 -58
  544. package/test-fixtures/tsconfig.json +0 -13
  545. package/tsconfig.json +0 -26
  546. package/vitest.config.ts +0 -8
@@ -35,8 +35,10 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
35
35
  }), mod);
36
36
  var generate_exports = {};
37
37
  __export(generate_exports, {
38
+ deriveDataMembership: () => deriveDataMembership,
38
39
  generate: () => generate,
39
40
  generateDrizzleSchemaFile: () => generateDrizzleSchemaFile,
41
+ generateDrizzleSchemaInputFile: () => generateDrizzleSchemaInputFile,
40
42
  watch: () => watch
41
43
  });
42
44
  module.exports = __toCommonJS(generate_exports);
@@ -44,52 +46,77 @@ var import_crypto = require("crypto");
44
46
  var import_fs = require("fs");
45
47
  var import_path = require("path");
46
48
  var import_generate_helpers = require("./generate-helpers.native.js");
47
- var hash = function (s) {
49
+ var import_generate_layout = require("./generate-layout.native.js");
50
+ var hash = function hash2(s) {
48
51
  return (0, import_crypto.createHash)("sha256").update(s).digest("hex");
49
52
  };
50
- var GENERATOR_CACHE_VERSION = "1";
51
- var isGeneratorSourceFile = function (name) {
53
+ var GENERATOR_CACHE_VERSION = "5";
54
+ var isGeneratorSourceFile = function isGeneratorSourceFile2(name) {
52
55
  return name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
53
56
  };
54
- function hashInputTree(baseDir, generatedDir) {
57
+ function hashInputTree(sourceRoots, generatedDir) {
55
58
  var parts = [];
56
- var walk = function (dir) {
59
+ var seen = /* @__PURE__ */new Set();
60
+ var walk = function walk1(dir) {
57
61
  if (!(0, import_fs.existsSync)(dir)) return;
58
62
  var entries = (0, import_fs.readdirSync)(dir, {
59
63
  withFileTypes: true
60
64
  }).sort(function (a, b) {
61
65
  return a.name < b.name ? -1 : 1;
62
66
  });
63
- var _iteratorNormalCompletion = true,
64
- _didIteratorError = false,
65
- _iteratorError = void 0;
67
+ var _iteratorNormalCompletion2 = true,
68
+ _didIteratorError2 = false,
69
+ _iteratorError2 = void 0;
66
70
  try {
67
- for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
68
- var entry = _step.value;
71
+ for (var _iterator2 = entries[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
72
+ var entry = _step2.value;
69
73
  var full = (0, import_path.resolve)(dir, entry.name);
70
74
  if (entry.isDirectory()) {
71
- if (entry.name === "node_modules" || full === generatedDir) continue;
75
+ if (entry.name === "node_modules" || entry.name === "generated" || full === generatedDir) continue;
72
76
  walk(full);
73
77
  } else if (entry.isFile() && isGeneratorSourceFile(entry.name)) {
78
+ if (seen.has(full)) continue;
79
+ seen.add(full);
74
80
  parts.push(`${full}\0${(0, import_fs.readFileSync)(full, "utf-8")}`);
75
81
  }
76
82
  }
77
83
  } catch (err) {
78
- _didIteratorError = true;
79
- _iteratorError = err;
84
+ _didIteratorError2 = true;
85
+ _iteratorError2 = err;
80
86
  } finally {
81
87
  try {
82
- if (!_iteratorNormalCompletion && _iterator.return != null) {
83
- _iterator.return();
88
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
89
+ _iterator2.return();
84
90
  }
85
91
  } finally {
86
- if (_didIteratorError) {
87
- throw _iteratorError;
92
+ if (_didIteratorError2) {
93
+ throw _iteratorError2;
88
94
  }
89
95
  }
90
96
  }
91
97
  };
92
- walk(baseDir);
98
+ var _iteratorNormalCompletion = true,
99
+ _didIteratorError = false,
100
+ _iteratorError = void 0;
101
+ try {
102
+ for (var _iterator = sourceRoots[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
103
+ var root = _step.value;
104
+ walk(root);
105
+ }
106
+ } catch (err) {
107
+ _didIteratorError = true;
108
+ _iteratorError = err;
109
+ } finally {
110
+ try {
111
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
112
+ _iterator.return();
113
+ }
114
+ } finally {
115
+ if (_didIteratorError) {
116
+ throw _iteratorError;
117
+ }
118
+ }
119
+ }
93
120
  return hash(parts.join("\0"));
94
121
  }
95
122
  var generateCache = {};
@@ -117,7 +144,7 @@ function loadCache() {
117
144
  generateCachePath = (0, import_path.resolve)(cacheDir, "generate-cache.json");
118
145
  try {
119
146
  generateCache = JSON.parse((0, import_fs.readFileSync)(generateCachePath, "utf-8"));
120
- } catch (e) {
147
+ } catch (unused) {
121
148
  generateCache = {};
122
149
  }
123
150
  }
@@ -206,7 +233,7 @@ function createTypeResolver(ts, files, dir) {
206
233
  resolveType(node) {
207
234
  try {
208
235
  return checker.getTypeFromTypeNode(node);
209
- } catch (e) {
236
+ } catch (unused) {
210
237
  return null;
211
238
  }
212
239
  },
@@ -505,7 +532,7 @@ function tsTypeToValibot(ts, checker, type, seen) {
505
532
  if (seen.has(type)) return "v.unknown()";
506
533
  seen.add(type);
507
534
  }
508
- var recurse = function (t) {
535
+ var recurse = function recurse2(t) {
509
536
  return tsTypeToValibot(ts, checker, t, seen);
510
537
  };
511
538
  if (flags & ts.TypeFlags.String) return "v.string()";
@@ -517,9 +544,9 @@ function tsTypeToValibot(ts, checker, type, seen) {
517
544
  if (flags & ts.TypeFlags.Never) return "v.never()";
518
545
  if (flags & ts.TypeFlags.TemplateLiteral) return "v.string()";
519
546
  if (flags & ts.TypeFlags.Object && (((_checker_isArrayType = checker.isArrayType) === null || _checker_isArrayType === void 0 ? void 0 : _checker_isArrayType.call(checker, type)) || ((_checker_isArrayLikeType = checker.isArrayLikeType) === null || _checker_isArrayLikeType === void 0 ? void 0 : _checker_isArrayLikeType.call(checker, type)))) {
547
+ var _ref;
520
548
  var _checker_getTypeArguments, _type_getNumberIndexType;
521
- var _checker_getTypeArguments1;
522
- var typeArgs = (_checker_getTypeArguments1 = (_checker_getTypeArguments = checker.getTypeArguments) === null || _checker_getTypeArguments === void 0 ? void 0 : _checker_getTypeArguments.call(checker, type)) !== null && _checker_getTypeArguments1 !== void 0 ? _checker_getTypeArguments1 : [];
549
+ var typeArgs = (_ref = (_checker_getTypeArguments = checker.getTypeArguments) === null || _checker_getTypeArguments === void 0 ? void 0 : _checker_getTypeArguments.call(checker, type)) !== null && _ref !== void 0 ? _ref : [];
523
550
  var elementType = typeArgs.length === 1 ? typeArgs[0] : (_type_getNumberIndexType = type.getNumberIndexType) === null || _type_getNumberIndexType === void 0 ? void 0 : _type_getNumberIndexType.call(type);
524
551
  return `v.array(${elementType ? recurse(elementType) : "v.unknown()"})`;
525
552
  }
@@ -560,7 +587,7 @@ function tsTypeToValibot(ts, checker, type, seen) {
560
587
  if (hasUndefined) inner1 = `v.optional(${inner1})`;
561
588
  return inner1;
562
589
  }
563
- var resolveSymbolType = function (parent, prop2) {
590
+ var resolveSymbolType = function resolveSymbolType2(parent, prop2) {
564
591
  var _prop_declarations;
565
592
  var instantiated = getInstantiatedPropertyType(checker, parent, prop2.getName());
566
593
  if (instantiated) return instantiated;
@@ -810,33 +837,146 @@ function generateDrizzleSchemaFile(schema) {
810
837
  lines.push(``);
811
838
  return lines.join("\n");
812
839
  }
840
+ function dataMembershipFromLayout(layout) {
841
+ return {
842
+ instances: Object.fromEntries(layout.instances.map(function (instance) {
843
+ return [instance.name, {
844
+ tables: instance.namespaces.map(function (namespace) {
845
+ return namespace.name;
846
+ }).sort(),
847
+ syncTables: [...instance.syncTables],
848
+ supportTables: [...instance.supportTables],
849
+ scope: instance.scope
850
+ }];
851
+ })),
852
+ allTables: [...new Set(layout.instances.flatMap(function (instance) {
853
+ return [...instance.syncTables, ...instance.supportTables];
854
+ }))].sort()
855
+ };
856
+ }
857
+ async function deriveDataMembership(options) {
858
+ var ts = await import("typescript");
859
+ var layout = (0, import_generate_layout.discoverDataLayout)(ts, (0, import_path.resolve)(options.dir), options.config ? (0, import_path.resolve)(options.config) : void 0);
860
+ return dataMembershipFromLayout(layout);
861
+ }
862
+ async function generateDrizzleSchemaInputFile(options) {
863
+ var _layout_metadataPaths_find;
864
+ var ts = await import("typescript");
865
+ var baseDir = (0, import_path.resolve)(options.dir);
866
+ var layout = (0, import_generate_layout.discoverDataLayout)(ts, baseDir, options.config ? (0, import_path.resolve)(options.config) : void 0);
867
+ var tableNames = dataMembershipFromLayout(layout).allTables;
868
+ var relationsPath = (_layout_metadataPaths_find = layout.metadataPaths.find(function (path) {
869
+ return (0, import_path.basename)(path) === "relations.ts" && (0, import_path.dirname)(path) === (0, import_path.resolve)((0, import_path.dirname)(baseDir), "database");
870
+ })) !== null && _layout_metadataPaths_find !== void 0 ? _layout_metadataPaths_find : layout.metadataPaths.find(function (path) {
871
+ return (0, import_path.basename)(path) === "relations.ts";
872
+ });
873
+ var relationEntries = [];
874
+ if (relationsPath) {
875
+ var source = ts.createSourceFile(relationsPath, (0, import_fs.readFileSync)(relationsPath, "utf8"), ts.ScriptTarget.Latest, true);
876
+ var included = new Set(tableNames);
877
+ var visit = function visit1(node) {
878
+ if (!ts.isCallExpression(node) || node.expression.getText(source) !== "defineRelations") {
879
+ ts.forEachChild(node, visit);
880
+ return;
881
+ }
882
+ var factory = node.arguments[1];
883
+ if (!factory || !ts.isArrowFunction(factory) && !ts.isFunctionExpression(factory)) {
884
+ return;
885
+ }
886
+ var body = ts.isParenthesizedExpression(factory.body) ? factory.body.expression : factory.body;
887
+ if (!ts.isObjectLiteralExpression(body)) return;
888
+ var _iteratorNormalCompletion = true,
889
+ _didIteratorError = false,
890
+ _iteratorError = void 0;
891
+ try {
892
+ for (var _iterator = body.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
893
+ var tableProperty = _step.value;
894
+ if (!ts.isPropertyAssignment(tableProperty) || !ts.isObjectLiteralExpression(tableProperty.initializer)) {
895
+ continue;
896
+ }
897
+ var table = tableProperty.name.getText(source).replace(/^['"]|['"]$/g, "");
898
+ if (!included.has(table)) continue;
899
+ var relations = [];
900
+ var _iteratorNormalCompletion1 = true,
901
+ _didIteratorError1 = false,
902
+ _iteratorError1 = void 0;
903
+ try {
904
+ for (var _iterator1 = tableProperty.initializer.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
905
+ var relationProperty = _step1.value;
906
+ if (!ts.isPropertyAssignment(relationProperty) || !ts.isCallExpression(relationProperty.initializer) || !ts.isPropertyAccessExpression(relationProperty.initializer.expression)) {
907
+ continue;
908
+ }
909
+ var target = relationProperty.initializer.expression.name.text;
910
+ if (included.has(target)) relations.push(relationProperty.getText(source));
911
+ }
912
+ } catch (err) {
913
+ _didIteratorError1 = true;
914
+ _iteratorError1 = err;
915
+ } finally {
916
+ try {
917
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
918
+ _iterator1.return();
919
+ }
920
+ } finally {
921
+ if (_didIteratorError1) {
922
+ throw _iteratorError1;
923
+ }
924
+ }
925
+ }
926
+ relationEntries.push(` ${tableProperty.name.getText(source)}: {${relations.length ? `
927
+ ${relations.map(function (relation) {
928
+ return ` ${relation},`;
929
+ }).join("\n")}
930
+ ` : ""}},`);
931
+ }
932
+ } catch (err) {
933
+ _didIteratorError = true;
934
+ _iteratorError = err;
935
+ } finally {
936
+ try {
937
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
938
+ _iterator.return();
939
+ }
940
+ } finally {
941
+ if (_didIteratorError) {
942
+ throw _iteratorError;
943
+ }
944
+ }
945
+ }
946
+ };
947
+ visit(source);
948
+ }
949
+ var schemaImportPath = JSON.stringify(options.schemaImportPath);
950
+ return ["// auto-generated from the on-zero data layout", `import { defineRelations } from 'drizzle-orm'`, `import * as schema from ${schemaImportPath}`, "", `export { ${tableNames.join(", ")} } from ${schemaImportPath}`, `export const relations = defineRelations(schema, (r) => ({`, ...relationEntries, `}))`, ""].join("\n");
951
+ }
813
952
  async function generate(options) {
814
953
  var {
815
954
  dir,
816
955
  after,
817
956
  silent,
818
- force
957
+ force,
958
+ config
819
959
  } = options;
820
960
  var baseDir = (0, import_path.resolve)(dir);
821
- var mutationsDir = (0, import_path.resolve)(baseDir, "mutations");
822
- var usesMutationsDir = (0, import_fs.existsSync)(mutationsDir);
823
- var modelsDir = usesMutationsDir ? mutationsDir : (0, import_path.resolve)(baseDir, "models");
824
- var modelsDirName = usesMutationsDir ? "mutations" : "models";
825
961
  var generatedDir = (0, import_path.resolve)(baseDir, "generated");
826
- var queriesDir = (0, import_path.resolve)(baseDir, "queries");
827
962
  if (!(0, import_fs.existsSync)(generatedDir)) {
828
963
  (0, import_fs.mkdirSync)(generatedDir, {
829
964
  recursive: true
830
965
  });
831
966
  }
832
967
  loadCache();
833
- var inputHash = hashInputTree(baseDir, generatedDir);
968
+ var ts = await import("typescript");
969
+ var layout = (0, import_generate_layout.discoverDataLayout)(ts, baseDir, config ? (0, import_path.resolve)(config) : void 0);
970
+ var metadataHash = hash(layout.metadataPaths.map(function (path) {
971
+ return `${path}\0${(0, import_fs.readFileSync)(path, "utf8")}`;
972
+ }).join("\0"));
973
+ var inputHash = hash(`${hashInputTree(layout.sourceRoots, generatedDir)}\0${metadataHash}`);
834
974
  if (!force && generateCache.__generatorVersion === GENERATOR_CACHE_VERSION && generateCache.__inputHash === inputHash && (0, import_fs.existsSync)((0, import_path.resolve)(generatedDir, "models.ts"))) {
975
+ var _counts_modelCount, _counts_schemaCount, _counts_queryCount, _counts_mutationCount;
835
976
  var counts = {};
836
977
  try {
837
978
  counts = JSON.parse(generateCache.__counts || "{}");
838
- } catch (e) {}
839
- var _counts_modelCount, _counts_schemaCount, _counts_queryCount, _counts_mutationCount;
979
+ } catch (unused) {}
840
980
  return {
841
981
  filesChanged: 0,
842
982
  modelCount: (_counts_modelCount = counts.modelCount) !== null && _counts_modelCount !== void 0 ? _counts_modelCount : 0,
@@ -845,127 +985,161 @@ async function generate(options) {
845
985
  mutationCount: (_counts_mutationCount = counts.mutationCount) !== null && _counts_mutationCount !== void 0 ? _counts_mutationCount : 0
846
986
  };
847
987
  }
848
- var allModelFiles = (0, import_fs.readdirSync)(modelsDir).filter(isGeneratorSourceFile).sort();
849
- var filesWithSchema = allModelFiles.filter(function (f) {
850
- return (0, import_fs.readFileSync)((0, import_path.resolve)(modelsDir, f), "utf-8").includes("export const schema = table(");
988
+ var modelNamespaces = layout.namespaces.filter(function (namespace2) {
989
+ return namespace2.modelPath !== null;
851
990
  });
852
- var allModelNames = allModelFiles.map(function (f) {
853
- return (0, import_path.basename)(f, ".ts");
991
+ var filesWithSchema = modelNamespaces.filter(function (namespace2) {
992
+ return (0, import_fs.readFileSync)(namespace2.modelPath, "utf-8").includes("export const schema = table(");
854
993
  });
855
- var schemaModelNames = filesWithSchema.map(function (f) {
856
- return (0, import_path.basename)(f, ".ts");
994
+ var modelModules = modelNamespaces.map(function (namespace2) {
995
+ return {
996
+ name: namespace2.name,
997
+ importPath: (0, import_generate_layout.namespaceImportPath)(baseDir, namespace2.modelPath)
998
+ };
857
999
  });
858
- var writeResults = [writeFileIfChanged((0, import_path.resolve)(generatedDir, "models.ts"), (0, import_generate_helpers.generateModelsFile)(allModelNames, modelsDirName)),
1000
+ var schemaModules = filesWithSchema.map(function (namespace2) {
1001
+ return {
1002
+ name: namespace2.name,
1003
+ importPath: (0, import_generate_layout.namespaceImportPath)(baseDir, namespace2.modelPath)
1004
+ };
1005
+ });
1006
+ var writeResults = [writeFileIfChanged((0, import_path.resolve)(generatedDir, "models.ts"), (0, import_generate_helpers.generateModelsFile)(modelModules)),
859
1007
  // only generate types.ts and tables.ts when model files define schemas.
860
1008
  // when using drizzle-zero CLI for schema generation, these files are
861
1009
  // managed externally and should not be overwritten.
862
- ...(filesWithSchema.length > 0 ? [writeFileIfChanged((0, import_path.resolve)(generatedDir, "types.ts"), (0, import_generate_helpers.generateTypesFile)(schemaModelNames)), writeFileIfChanged((0, import_path.resolve)(generatedDir, "tables.ts"), (0, import_generate_helpers.generateTablesFile)(schemaModelNames, modelsDirName))] : []), writeFileIfChanged((0, import_path.resolve)(generatedDir, "README.md"), (0, import_generate_helpers.generateReadmeFile)())];
1010
+ ...(filesWithSchema.length > 0 ? [writeFileIfChanged((0, import_path.resolve)(generatedDir, "types.ts"), (0, import_generate_helpers.generateTypesFile)(schemaModules.map(function (module2) {
1011
+ return module2.name;
1012
+ }))), writeFileIfChanged((0, import_path.resolve)(generatedDir, "tables.ts"), (0, import_generate_helpers.generateTablesFile)(schemaModules))] : []), writeFileIfChanged((0, import_path.resolve)(generatedDir, "README.md"), (0, import_generate_helpers.generateReadmeFile)())];
863
1013
  var filesChanged = writeResults.filter(Boolean).length;
864
1014
  var queryCount = 0;
865
1015
  var mutationCount = 0;
866
- var ts = await import("typescript");
867
- var typeToValibot = function (paramType) {
1016
+ var typeToValibot = function typeToValibot2(paramType) {
868
1017
  try {
869
1018
  return (0, import_generate_helpers.parseTypeString)(paramType.trim());
870
- } catch (e) {
1019
+ } catch (unused) {
871
1020
  return null;
872
1021
  }
873
1022
  };
874
- if ((0, import_fs.existsSync)(queriesDir)) {
875
- var queryFiles = (0, import_fs.readdirSync)(queriesDir).filter(isGeneratorSourceFile);
876
- var allQueries = [];
877
- var queryResolver = null;
878
- var getQueryResolver = function () {
879
- if (!queryResolver) {
880
- var allFiles2 = (0, import_fs.readdirSync)(queriesDir).filter(isGeneratorSourceFile).map(function (f) {
881
- return {
882
- path: (0, import_path.resolve)(queriesDir, f),
883
- content: (0, import_fs.readFileSync)((0, import_path.resolve)(queriesDir, f), "utf-8")
884
- };
885
- });
886
- queryResolver = createTypeResolver(ts, allFiles2, queriesDir);
887
- }
888
- return queryResolver;
889
- };
890
- var _iteratorNormalCompletion = true,
891
- _didIteratorError = false,
892
- _iteratorError = void 0;
893
- try {
894
- var _loop = function () {
895
- var file2 = _step.value;
896
- var filePath2 = (0, import_path.resolve)(queriesDir, file2);
897
- var fileBaseName2 = (0, import_path.basename)(file2, ".ts");
898
- try {
899
- var content2 = (0, import_fs.readFileSync)(filePath2, "utf-8");
900
- var sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, true);
901
- ts.forEachChild(sourceFile2, function (node) {
902
- if (ts.isVariableStatement(node)) {
903
- var _node_modifiers;
904
- var exportModifier = (_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.find(function (m) {
905
- return m.kind === ts.SyntaxKind.ExportKeyword;
906
- });
907
- if (!exportModifier) return;
908
- var declaration = node.declarationList.declarations[0];
909
- if (!declaration || !ts.isVariableDeclaration(declaration)) return;
910
- var name = declaration.name.getText(sourceFile2);
911
- if (name === "permission") return;
912
- if (declaration.initializer && ts.isArrowFunction(declaration.initializer)) {
913
- var params = declaration.initializer.parameters;
914
- var paramType = "void";
915
- if (params.length > 0) {
916
- var _param_type;
917
- var param = params[0];
918
- paramType = ((_param_type = param.type) === null || _param_type === void 0 ? void 0 : _param_type.getText(sourceFile2)) || "unknown";
919
- }
920
- var valibotCode = typeToValibot(paramType);
921
- if (!valibotCode && params.length > 0 && params[0].type) {
922
- var resolver = getQueryResolver();
923
- var resolverSourceFile = resolver.program.getSourceFile(filePath2);
924
- if (resolverSourceFile) {
925
- var resolvedType = resolveParamType(ts, resolver, resolverSourceFile, name, 0);
926
- if (resolvedType) {
927
- valibotCode = resolver.typeToValibot(resolvedType);
928
- }
1023
+ var allQueries = [];
1024
+ var queryResolver = null;
1025
+ var getQueryResolver = function getQueryResolver2() {
1026
+ if (!queryResolver) {
1027
+ var allFiles2 = [...new Set(layout.namespaces.flatMap(function (namespace2) {
1028
+ return namespace2.sourcePaths;
1029
+ }))].map(function (path) {
1030
+ return {
1031
+ path,
1032
+ content: (0, import_fs.readFileSync)(path, "utf-8")
1033
+ };
1034
+ });
1035
+ queryResolver = createTypeResolver(ts, allFiles2, baseDir);
1036
+ }
1037
+ return queryResolver;
1038
+ };
1039
+ var _iteratorNormalCompletion = true,
1040
+ _didIteratorError = false,
1041
+ _iteratorError = void 0;
1042
+ try {
1043
+ var _loop = function () {
1044
+ var namespace2 = _step.value;
1045
+ var filePath2 = namespace2.queryPath;
1046
+ try {
1047
+ var content2 = (0, import_fs.readFileSync)(filePath2, "utf-8");
1048
+ var sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, true);
1049
+ ts.forEachChild(sourceFile2, function (node) {
1050
+ if (ts.isVariableStatement(node)) {
1051
+ var _node_modifiers;
1052
+ var exportModifier = (_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.find(function (m) {
1053
+ return m.kind === ts.SyntaxKind.ExportKeyword;
1054
+ });
1055
+ if (!exportModifier) return;
1056
+ var declaration = node.declarationList.declarations[0];
1057
+ if (!declaration || !ts.isVariableDeclaration(declaration)) return;
1058
+ var name = declaration.name.getText(sourceFile2);
1059
+ if (["mutate", "permission", "schema", "where"].includes(name)) return;
1060
+ if (declaration.initializer && ts.isArrowFunction(declaration.initializer)) {
1061
+ var params = declaration.initializer.parameters;
1062
+ var paramType = "void";
1063
+ if (params.length > 0) {
1064
+ var _param_type;
1065
+ var param = params[0];
1066
+ paramType = ((_param_type = param.type) === null || _param_type === void 0 ? void 0 : _param_type.getText(sourceFile2)) || "unknown";
1067
+ }
1068
+ var valibotCode = typeToValibot(paramType);
1069
+ if (!valibotCode && params.length > 0 && params[0].type) {
1070
+ var resolver = getQueryResolver();
1071
+ var resolverSourceFile = resolver.program.getSourceFile(filePath2);
1072
+ if (resolverSourceFile) {
1073
+ var resolvedType = resolveParamType(ts, resolver, resolverSourceFile, name, 0);
1074
+ if (resolvedType) {
1075
+ valibotCode = resolver.typeToValibot(resolvedType);
929
1076
  }
930
1077
  }
931
- if (valibotCode) {
932
- allQueries.push({
933
- name,
934
- params: paramType,
935
- valibotCode,
936
- sourceFile: fileBaseName2
937
- });
938
- } else if (!silent && paramType !== "void") {
939
- console.error(`\u2717 ${name}: could not resolve type "${paramType}"`);
940
- }
1078
+ }
1079
+ if (valibotCode) {
1080
+ allQueries.push({
1081
+ name,
1082
+ params: paramType,
1083
+ valibotCode,
1084
+ sourceFile: namespace2.name,
1085
+ importPath: (0, import_generate_layout.namespaceImportPath)(baseDir, filePath2)
1086
+ });
1087
+ } else if (!silent && paramType !== "void") {
1088
+ console.error(`\u2717 ${name}: could not resolve type "${paramType}"`);
941
1089
  }
942
1090
  }
943
- });
944
- } catch (err) {
945
- if (!silent) console.error(`Error processing ${file2}:`, err);
946
- }
947
- };
948
- for (var _iterator = queryFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
949
- } catch (err) {
950
- _didIteratorError = true;
951
- _iteratorError = err;
1091
+ }
1092
+ });
1093
+ } catch (err) {
1094
+ if (!silent) console.error(`Error processing ${filePath2}:`, err);
1095
+ }
1096
+ };
1097
+ for (var _iterator = layout.namespaces.filter(function (namespace2) {
1098
+ return namespace2.queryPath !== null;
1099
+ })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
1100
+ } catch (err) {
1101
+ _didIteratorError = true;
1102
+ _iteratorError = err;
1103
+ } finally {
1104
+ try {
1105
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1106
+ _iterator.return();
1107
+ }
952
1108
  } finally {
953
- try {
954
- if (!_iteratorNormalCompletion && _iterator.return != null) {
955
- _iterator.return();
956
- }
957
- } finally {
958
- if (_didIteratorError) {
959
- throw _iteratorError;
960
- }
1109
+ if (_didIteratorError) {
1110
+ throw _iteratorError;
961
1111
  }
962
1112
  }
963
- queryCount = allQueries.length;
964
- var groupedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "groupedQueries.ts"), (0, import_generate_helpers.generateGroupedQueriesFile)(allQueries));
965
- var syncedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "syncedQueries.ts"), (0, import_generate_helpers.generateSyncedQueriesFile)(allQueries));
966
- if (groupedChanged) filesChanged++;
967
- if (syncedChanged) filesChanged++;
968
1113
  }
1114
+ queryCount = allQueries.length;
1115
+ var groupedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "groupedQueries.ts"), (0, import_generate_helpers.generateGroupedQueriesFile)(allQueries));
1116
+ var syncedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "syncedQueries.ts"), (0, import_generate_helpers.generateSyncedQueriesFile)(allQueries));
1117
+ if (groupedChanged) filesChanged++;
1118
+ if (syncedChanged) filesChanged++;
1119
+ var instancesChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "instances.ts"), (0, import_generate_helpers.generateInstancesFile)(layout.instances.map(function (instance) {
1120
+ return {
1121
+ name: instance.name,
1122
+ scope: instance.scope,
1123
+ queryNames: instance.namespaces.map(function (namespace2) {
1124
+ return namespace2.name;
1125
+ }).filter(function (name) {
1126
+ return allQueries.some(function (query) {
1127
+ return query.sourceFile === name;
1128
+ });
1129
+ }),
1130
+ modelNames: instance.namespaces.filter(function (namespace2) {
1131
+ return namespace2.modelPath;
1132
+ }).map(function (namespace2) {
1133
+ return namespace2.name;
1134
+ }),
1135
+ tables: instance.namespaces.map(function (namespace2) {
1136
+ return namespace2.name;
1137
+ }),
1138
+ syncTables: instance.syncTables,
1139
+ supportTables: instance.supportTables
1140
+ };
1141
+ })));
1142
+ if (instancesChanged) filesChanged++;
969
1143
  var allModelMutations = [];
970
1144
  var mutationFiles = [];
971
1145
  var unresolvedModels = [];
@@ -973,10 +1147,10 @@ async function generate(options) {
973
1147
  _didIteratorError1 = false,
974
1148
  _iteratorError1 = void 0;
975
1149
  try {
976
- for (var _iterator1 = allModelFiles[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
977
- var file = _step1.value;
978
- var filePath = (0, import_path.resolve)(modelsDir, file);
979
- var fileBaseName = (0, import_path.basename)(file, ".ts");
1150
+ for (var _iterator1 = modelNamespaces[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1151
+ var namespace = _step1.value;
1152
+ var filePath = namespace.modelPath;
1153
+ var fileBaseName = namespace.name;
980
1154
  try {
981
1155
  var content = (0, import_fs.readFileSync)(filePath, "utf-8");
982
1156
  mutationFiles.push({
@@ -1000,7 +1174,7 @@ async function generate(options) {
1000
1174
  }
1001
1175
  }
1002
1176
  } catch (err) {
1003
- if (!silent) console.error(`Error extracting mutations from ${file}:`, err);
1177
+ if (!silent) console.error(`Error extracting mutations from ${filePath}:`, err);
1004
1178
  }
1005
1179
  }
1006
1180
  } catch (err) {
@@ -1018,7 +1192,7 @@ async function generate(options) {
1018
1192
  }
1019
1193
  }
1020
1194
  if (unresolvedModels.length > 0) {
1021
- var collectTsFiles = function (dir2) {
1195
+ var collectTsFiles = function collectTsFiles1(dir2) {
1022
1196
  var results = [];
1023
1197
  var _iteratorNormalCompletion4 = true,
1024
1198
  _didIteratorError4 = false,
@@ -1054,7 +1228,9 @@ async function generate(options) {
1054
1228
  }
1055
1229
  return results;
1056
1230
  };
1057
- var allFiles = collectTsFiles(baseDir);
1231
+ var allFiles = [...new Map(layout.sourceRoots.flatMap(collectTsFiles).map(function (file) {
1232
+ return [file.path, file];
1233
+ })).values()];
1058
1234
  var modelResolver = createTypeResolver(ts, allFiles, baseDir);
1059
1235
  var _iteratorNormalCompletion2 = true,
1060
1236
  _didIteratorError2 = false,
@@ -1127,7 +1303,7 @@ async function generate(options) {
1127
1303
  if (mutationsChanged) filesChanged++;
1128
1304
  }
1129
1305
  if (filesChanged > 0 && !silent) {
1130
- console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)${queryCount ? `, ${queryCount} queries` : ""}${mutationCount ? `, ${mutationCount} mutations` : ""}`);
1306
+ console.info(`\u2713 ${modelNamespaces.length} models (${filesWithSchema.length} schemas)${queryCount ? `, ${queryCount} queries` : ""}${mutationCount ? `, ${mutationCount} mutations` : ""}`);
1131
1307
  }
1132
1308
  if (filesChanged > 0 && after) {
1133
1309
  var {
@@ -1148,7 +1324,7 @@ async function generate(options) {
1148
1324
  generateCache.__generatorVersion = GENERATOR_CACHE_VERSION;
1149
1325
  generateCache.__inputHash = inputHash;
1150
1326
  generateCache.__counts = JSON.stringify({
1151
- modelCount: allModelFiles.length,
1327
+ modelCount: modelNamespaces.length,
1152
1328
  schemaCount: filesWithSchema.length,
1153
1329
  queryCount,
1154
1330
  mutationCount
@@ -1156,7 +1332,7 @@ async function generate(options) {
1156
1332
  saveCache();
1157
1333
  return {
1158
1334
  filesChanged,
1159
- modelCount: allModelFiles.length,
1335
+ modelCount: modelNamespaces.length,
1160
1336
  schemaCount: filesWithSchema.length,
1161
1337
  queryCount,
1162
1338
  mutationCount
@@ -1168,9 +1344,6 @@ async function watch(options) {
1168
1344
  debounce = 1e3
1169
1345
  } = options;
1170
1346
  var baseDir = (0, import_path.resolve)(dir);
1171
- var mutationsDir = (0, import_path.resolve)(baseDir, "mutations");
1172
- var modelsDir = (0, import_fs.existsSync)(mutationsDir) ? mutationsDir : (0, import_path.resolve)(baseDir, "models");
1173
- var queriesDir = (0, import_path.resolve)(baseDir, "queries");
1174
1347
  var generatedDir = (0, import_path.resolve)(baseDir, "generated");
1175
1348
  await generate({
1176
1349
  ...options,
@@ -1179,7 +1352,7 @@ async function watch(options) {
1179
1352
  console.info("\u{1F440} watching...\n");
1180
1353
  var chokidar = await import("chokidar");
1181
1354
  var debounceTimer = null;
1182
- var debouncedRegenerate = function (path, event) {
1355
+ var debouncedRegenerate = function debouncedRegenerate2(path, event) {
1183
1356
  if (debounceTimer) clearTimeout(debounceTimer);
1184
1357
  console.info(`
1185
1358
  ${event} ${path}`);
@@ -1190,10 +1363,13 @@ ${event} ${path}`);
1190
1363
  });
1191
1364
  }, debounce);
1192
1365
  };
1193
- var watcher = chokidar.watch([modelsDir, queriesDir], {
1366
+ var databaseDir = (0, import_path.resolve)((0, import_path.dirname)(baseDir), "database");
1367
+ var ts = await import("typescript");
1368
+ var layout = (0, import_generate_layout.discoverDataLayout)(ts, baseDir, options.config ? (0, import_path.resolve)(options.config) : void 0);
1369
+ var watcher = chokidar.watch([... /* @__PURE__ */new Set([...layout.sourceRoots, ...((0, import_fs.existsSync)(databaseDir) ? [databaseDir] : [])])], {
1194
1370
  persistent: true,
1195
1371
  ignoreInitial: true,
1196
- ignored: [generatedDir]
1372
+ ignored: [generatedDir, /node_modules/]
1197
1373
  });
1198
1374
  watcher.on("change", function (path) {
1199
1375
  return debouncedRegenerate(path, "\u{1F4DD}");