on-zero 0.2.10 → 0.3.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 (242) hide show
  1. package/dist/cjs/cli.cjs +0 -0
  2. package/dist/cjs/cli.native.js +0 -0
  3. package/dist/cjs/createPermissions.native.js.map +1 -1
  4. package/dist/cjs/createSchemaFromDrizzle.cjs +30 -0
  5. package/dist/cjs/createSchemaFromDrizzle.native.js +33 -0
  6. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -0
  7. package/dist/cjs/createUseQuery.cjs +1 -1
  8. package/dist/cjs/createUseQuery.native.js +1 -1
  9. package/dist/cjs/createZeroClient.cjs +1 -1
  10. package/dist/cjs/createZeroClient.native.js +1 -1
  11. package/dist/cjs/createZeroClient.native.js.map +1 -1
  12. package/dist/cjs/createZeroServer.native.js.map +1 -1
  13. package/dist/cjs/generate.cjs +64 -12
  14. package/dist/cjs/generate.native.js +114 -12
  15. package/dist/cjs/generate.native.js.map +1 -1
  16. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  17. package/dist/cjs/index.cjs +2 -1
  18. package/dist/cjs/index.native.js +1 -0
  19. package/dist/cjs/index.native.js.map +1 -1
  20. package/dist/cjs/mutations.cjs +1 -1
  21. package/dist/cjs/mutations.native.js +1 -1
  22. package/dist/cjs/mutations.native.js.map +1 -1
  23. package/dist/cjs/server.native.js +1 -18
  24. package/dist/cjs/server.native.js.map +1 -1
  25. package/dist/cjs/vite-plugin.cjs +1 -1
  26. package/dist/cjs/vite-plugin.native.js +1 -1
  27. package/dist/cjs/vite-plugin.native.js.map +1 -1
  28. package/dist/esm/cli.mjs +0 -0
  29. package/dist/esm/cli.native.js +0 -0
  30. package/dist/esm/createPermissions.mjs.map +1 -1
  31. package/dist/esm/createPermissions.native.js.map +1 -1
  32. package/dist/esm/createSchemaFromDrizzle.mjs +5 -0
  33. package/dist/esm/createSchemaFromDrizzle.mjs.map +1 -0
  34. package/dist/esm/createSchemaFromDrizzle.native.js +5 -0
  35. package/dist/esm/createSchemaFromDrizzle.native.js.map +1 -0
  36. package/dist/esm/createUseQuery.mjs +2 -2
  37. package/dist/esm/createUseQuery.mjs.map +1 -1
  38. package/dist/esm/createUseQuery.native.js +2 -2
  39. package/dist/esm/createUseQuery.native.js.map +1 -1
  40. package/dist/esm/createZeroClient.mjs +2 -2
  41. package/dist/esm/createZeroClient.mjs.map +1 -1
  42. package/dist/esm/createZeroClient.native.js +2 -2
  43. package/dist/esm/createZeroClient.native.js.map +1 -1
  44. package/dist/esm/createZeroServer.mjs.map +1 -1
  45. package/dist/esm/createZeroServer.native.js.map +1 -1
  46. package/dist/esm/generate.mjs +64 -13
  47. package/dist/esm/generate.mjs.map +1 -1
  48. package/dist/esm/generate.native.js +114 -13
  49. package/dist/esm/generate.native.js.map +1 -1
  50. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  51. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  52. package/dist/esm/index.js +19 -24
  53. package/dist/esm/index.js.map +1 -6
  54. package/dist/esm/index.mjs +1 -0
  55. package/dist/esm/index.mjs.map +1 -1
  56. package/dist/esm/index.native.js +1 -0
  57. package/dist/esm/index.native.js.map +1 -1
  58. package/dist/esm/mutations.mjs +1 -1
  59. package/dist/esm/mutations.mjs.map +1 -1
  60. package/dist/esm/mutations.native.js +1 -1
  61. package/dist/esm/mutations.native.js.map +1 -1
  62. package/dist/esm/server.native.js +1 -1
  63. package/dist/esm/server.native.js.map +1 -1
  64. package/dist/esm/vite-plugin.mjs +1 -1
  65. package/dist/esm/vite-plugin.mjs.map +1 -1
  66. package/dist/esm/vite-plugin.native.js +1 -1
  67. package/dist/esm/vite-plugin.native.js.map +1 -1
  68. package/package.json +10 -4
  69. package/readme.md +80 -54
  70. package/src/createPermissions.ts +4 -9
  71. package/src/createSchemaFromDrizzle.ts +3 -0
  72. package/src/createUseQuery.tsx +4 -4
  73. package/src/createZeroClient.tsx +14 -14
  74. package/src/createZeroServer.ts +12 -12
  75. package/src/generate.test.ts +32 -32
  76. package/src/generate.ts +208 -55
  77. package/src/helpers/batchQuery.ts +1 -1
  78. package/src/helpers/createMutators.ts +7 -6
  79. package/src/helpers/didRunPermissionCheck.ts +1 -1
  80. package/src/helpers/mutatorContext.ts +2 -2
  81. package/src/helpers/prettyFormatZeroQuery.ts +1 -1
  82. package/src/helpers/queryContext.ts +1 -1
  83. package/src/helpers/useZeroDebug.ts +2 -2
  84. package/src/index.ts +2 -0
  85. package/src/mutations.ts +33 -7
  86. package/src/queryRegistry.ts +1 -1
  87. package/src/resolveQuery.ts +3 -3
  88. package/src/run.ts +5 -5
  89. package/src/server.native.ts +3 -0
  90. package/src/serverWhere.ts +2 -2
  91. package/src/types.ts +4 -2
  92. package/src/vite-plugin.ts +2 -2
  93. package/src/where.ts +5 -5
  94. package/src/zeroRunner.ts +2 -2
  95. package/types/createPermissions.d.ts +1 -1
  96. package/types/createPermissions.d.ts.map +1 -1
  97. package/types/createSchemaFromDrizzle.d.ts +4 -0
  98. package/types/createSchemaFromDrizzle.d.ts.map +1 -0
  99. package/types/createUseQuery.d.ts.map +1 -1
  100. package/types/createZeroServer.d.ts +11 -11
  101. package/types/generate.d.ts +29 -0
  102. package/types/generate.d.ts.map +1 -1
  103. package/types/helpers/createMutators.d.ts.map +1 -1
  104. package/types/index.d.ts +1 -0
  105. package/types/index.d.ts.map +1 -1
  106. package/types/mutations.d.ts +4 -1
  107. package/types/mutations.d.ts.map +1 -1
  108. package/types/resolveQuery.d.ts +1 -1
  109. package/types/resolveQuery.d.ts.map +1 -1
  110. package/types/server.native.d.ts +1 -0
  111. package/types/server.native.d.ts.map +1 -0
  112. package/types/types.d.ts.map +1 -1
  113. package/dist/cjs/cli.js +0 -42
  114. package/dist/cjs/cli.js.map +0 -6
  115. package/dist/cjs/constants.js +0 -23
  116. package/dist/cjs/constants.js.map +0 -6
  117. package/dist/cjs/createPermissions.js +0 -92
  118. package/dist/cjs/createPermissions.js.map +0 -6
  119. package/dist/cjs/createUseQuery.js +0 -35
  120. package/dist/cjs/createUseQuery.js.map +0 -6
  121. package/dist/cjs/createZeroClient.js +0 -178
  122. package/dist/cjs/createZeroClient.js.map +0 -6
  123. package/dist/cjs/createZeroServer.js +0 -189
  124. package/dist/cjs/createZeroServer.js.map +0 -6
  125. package/dist/cjs/generate.js +0 -811
  126. package/dist/cjs/generate.js.map +0 -6
  127. package/dist/cjs/generate.test.js +0 -404
  128. package/dist/cjs/generate.test.js.map +0 -6
  129. package/dist/cjs/helpers/batchQuery.js +0 -41
  130. package/dist/cjs/helpers/batchQuery.js.map +0 -6
  131. package/dist/cjs/helpers/createMutators.js +0 -118
  132. package/dist/cjs/helpers/createMutators.js.map +0 -6
  133. package/dist/cjs/helpers/didRunPermissionCheck.js +0 -26
  134. package/dist/cjs/helpers/didRunPermissionCheck.js.map +0 -6
  135. package/dist/cjs/helpers/ensureLoggedIn.js +0 -25
  136. package/dist/cjs/helpers/ensureLoggedIn.js.map +0 -6
  137. package/dist/cjs/helpers/getAuth.js +0 -31
  138. package/dist/cjs/helpers/getAuth.js.map +0 -6
  139. package/dist/cjs/helpers/mutatorContext.js +0 -44
  140. package/dist/cjs/helpers/mutatorContext.js.map +0 -6
  141. package/dist/cjs/helpers/prettyFormatZeroQuery.js +0 -92
  142. package/dist/cjs/helpers/prettyFormatZeroQuery.js.map +0 -6
  143. package/dist/cjs/helpers/queryContext.js +0 -33
  144. package/dist/cjs/helpers/queryContext.js.map +0 -6
  145. package/dist/cjs/helpers/useZeroDebug.js +0 -49
  146. package/dist/cjs/helpers/useZeroDebug.js.map +0 -6
  147. package/dist/cjs/index.js +0 -40
  148. package/dist/cjs/index.js.map +0 -6
  149. package/dist/cjs/modelRegistry.js +0 -32
  150. package/dist/cjs/modelRegistry.js.map +0 -6
  151. package/dist/cjs/mutations.js +0 -70
  152. package/dist/cjs/mutations.js.map +0 -6
  153. package/dist/cjs/queryRegistry.js +0 -32
  154. package/dist/cjs/queryRegistry.js.map +0 -6
  155. package/dist/cjs/resolveQuery.js +0 -40
  156. package/dist/cjs/resolveQuery.js.map +0 -6
  157. package/dist/cjs/run.js +0 -42
  158. package/dist/cjs/run.js.map +0 -6
  159. package/dist/cjs/server.js +0 -15
  160. package/dist/cjs/server.js.map +0 -6
  161. package/dist/cjs/serverWhere.js +0 -24
  162. package/dist/cjs/serverWhere.js.map +0 -6
  163. package/dist/cjs/serverWhere.test.js +0 -52
  164. package/dist/cjs/serverWhere.test.js.map +0 -6
  165. package/dist/cjs/state.js +0 -48
  166. package/dist/cjs/state.js.map +0 -6
  167. package/dist/cjs/types.js +0 -14
  168. package/dist/cjs/types.js.map +0 -6
  169. package/dist/cjs/usePermission.test.js +0 -29
  170. package/dist/cjs/usePermission.test.js.map +0 -6
  171. package/dist/cjs/vite-plugin.js +0 -89
  172. package/dist/cjs/vite-plugin.js.map +0 -6
  173. package/dist/cjs/where.js +0 -50
  174. package/dist/cjs/where.js.map +0 -6
  175. package/dist/cjs/zeroRunner.js +0 -35
  176. package/dist/cjs/zeroRunner.js.map +0 -6
  177. package/dist/cjs/zql.js +0 -26
  178. package/dist/cjs/zql.js.map +0 -6
  179. package/dist/esm/cli.js +0 -44
  180. package/dist/esm/cli.js.map +0 -6
  181. package/dist/esm/constants.js +0 -7
  182. package/dist/esm/constants.js.map +0 -6
  183. package/dist/esm/createPermissions.js +0 -81
  184. package/dist/esm/createPermissions.js.map +0 -6
  185. package/dist/esm/createUseQuery.js +0 -22
  186. package/dist/esm/createUseQuery.js.map +0 -6
  187. package/dist/esm/createZeroClient.js +0 -185
  188. package/dist/esm/createZeroClient.js.map +0 -6
  189. package/dist/esm/createZeroServer.js +0 -192
  190. package/dist/esm/createZeroServer.js.map +0 -6
  191. package/dist/esm/generate.js +0 -789
  192. package/dist/esm/generate.js.map +0 -6
  193. package/dist/esm/generate.test.js +0 -408
  194. package/dist/esm/generate.test.js.map +0 -6
  195. package/dist/esm/helpers/batchQuery.js +0 -25
  196. package/dist/esm/helpers/batchQuery.js.map +0 -6
  197. package/dist/esm/helpers/createMutators.js +0 -96
  198. package/dist/esm/helpers/createMutators.js.map +0 -6
  199. package/dist/esm/helpers/didRunPermissionCheck.js +0 -10
  200. package/dist/esm/helpers/didRunPermissionCheck.js.map +0 -6
  201. package/dist/esm/helpers/ensureLoggedIn.js +0 -10
  202. package/dist/esm/helpers/ensureLoggedIn.js.map +0 -6
  203. package/dist/esm/helpers/getAuth.js +0 -17
  204. package/dist/esm/helpers/getAuth.js.map +0 -6
  205. package/dist/esm/helpers/mutatorContext.js +0 -28
  206. package/dist/esm/helpers/mutatorContext.js.map +0 -6
  207. package/dist/esm/helpers/prettyFormatZeroQuery.js +0 -76
  208. package/dist/esm/helpers/prettyFormatZeroQuery.js.map +0 -6
  209. package/dist/esm/helpers/queryContext.js +0 -17
  210. package/dist/esm/helpers/queryContext.js.map +0 -6
  211. package/dist/esm/helpers/useZeroDebug.js +0 -35
  212. package/dist/esm/helpers/useZeroDebug.js.map +0 -6
  213. package/dist/esm/modelRegistry.js +0 -16
  214. package/dist/esm/modelRegistry.js.map +0 -6
  215. package/dist/esm/mutations.js +0 -56
  216. package/dist/esm/mutations.js.map +0 -6
  217. package/dist/esm/queryRegistry.js +0 -16
  218. package/dist/esm/queryRegistry.js.map +0 -6
  219. package/dist/esm/resolveQuery.js +0 -24
  220. package/dist/esm/resolveQuery.js.map +0 -6
  221. package/dist/esm/run.js +0 -27
  222. package/dist/esm/run.js.map +0 -6
  223. package/dist/esm/server.js +0 -2
  224. package/dist/esm/server.js.map +0 -6
  225. package/dist/esm/serverWhere.js +0 -8
  226. package/dist/esm/serverWhere.js.map +0 -6
  227. package/dist/esm/serverWhere.test.js +0 -55
  228. package/dist/esm/serverWhere.test.js.map +0 -6
  229. package/dist/esm/state.js +0 -33
  230. package/dist/esm/state.js.map +0 -6
  231. package/dist/esm/types.js +0 -1
  232. package/dist/esm/types.js.map +0 -6
  233. package/dist/esm/usePermission.test.js +0 -33
  234. package/dist/esm/usePermission.test.js.map +0 -6
  235. package/dist/esm/vite-plugin.js +0 -74
  236. package/dist/esm/vite-plugin.js.map +0 -6
  237. package/dist/esm/where.js +0 -36
  238. package/dist/esm/where.js.map +0 -6
  239. package/dist/esm/zeroRunner.js +0 -19
  240. package/dist/esm/zeroRunner.js.map +0 -6
  241. package/dist/esm/zql.js +0 -10
  242. package/dist/esm/zql.js.map +0 -6
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","param","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","modelMutators","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","output","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","param","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","modelMutators","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","output","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -37,10 +37,10 @@ function writeFileIfChanged(filePath, content) {
37
37
  const contentHash = hash(content);
38
38
  return generateCache[filePath] === contentHash && existsSync(filePath) ? !1 : (writeFileSync(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
39
39
  }
40
- function generateModelsFile(modelFiles) {
40
+ function generateModelsFile(modelFiles, modelsDirName) {
41
41
  const modelNames = modelFiles.map(f => basename(f, ".ts")).sort(),
42
42
  getImportName = name => name === "user" ? "userPublic" : name,
43
- imports = modelNames.map(name => `import * as ${getImportName(name)} from '../models/${name}'`).join(`
43
+ imports = modelNames.map(name => `import * as ${getImportName(name)} from '../${modelsDirName}/${name}'`).join(`
44
44
  `),
45
45
  modelsObj = `export const models = {
46
46
  ${[...modelNames].sort((a, b) => getImportName(a).localeCompare(getImportName(b))).map(name => ` ${getImportName(name)},`).join(`
@@ -68,13 +68,12 @@ export type ${pascalName}Update = TableUpdateRow<typeof schema.${schemaName}>`;
68
68
  `)}
69
69
  `;
70
70
  }
71
- function generateTablesFile(modelFiles) {
71
+ function generateTablesFile(modelFiles, modelsDirName) {
72
72
  const modelNames = modelFiles.map(f => basename(f, ".ts")).sort(),
73
73
  getExportName = name => name === "user" ? "userPublic" : name;
74
74
  return `// auto-generated by: on-zero generate
75
- // this is separate from models as otherwise you end up with circular types :/
76
75
 
77
- ${modelNames.map(name => `export { schema as ${getExportName(name)} } from '../models/${name}'`).join(`
76
+ ${modelNames.map(name => `export { schema as ${getExportName(name)} } from '../${modelsDirName}/${name}'`).join(`
78
77
  `)}
79
78
  `;
80
79
  }
@@ -369,11 +368,12 @@ function parseColumnType(initText) {
369
368
  let type = "string";
370
369
  return initText.startsWith("number(") ? type = "number" : initText.startsWith("boolean(") ? type = "boolean" : initText.startsWith("json(") || initText.startsWith("json<") ? type = "json" : initText.startsWith("enumeration(") && (type = "enum"), {
371
370
  type,
372
- optional
371
+ optional,
372
+ customType: void 0
373
373
  };
374
374
  }
375
375
  function columnTypeToValibot(col) {
376
- let base;
376
+ let base = "v.string()";
377
377
  switch (col.type) {
378
378
  case "string":
379
379
  base = "v.string()";
@@ -390,8 +390,6 @@ function columnTypeToValibot(col) {
390
390
  case "enum":
391
391
  base = "v.string()";
392
392
  break;
393
- default:
394
- base = "v.unknown()";
395
393
  }
396
394
  return col.optional ? `v.optional(v.nullable(${base}))` : base;
397
395
  }
@@ -563,6 +561,55 @@ function tsTypeToValibot(ts, checker, type, seen) {
563
561
  const numberIndex = type.getNumberIndexType();
564
562
  return numberIndex ? `v.record(v.number(), ${recurse(numberIndex)})` : "v.unknown()";
565
563
  }
564
+ function serializeColumnBuilder(col) {
565
+ let expr = `${col.type === "string" ? "string" : col.type === "number" ? "number" : col.type === "boolean" ? "boolean" : "json"}()`;
566
+ return col.serverName && (expr += `.from('${col.serverName}')`), col.optional && (expr += ".optional()"), expr;
567
+ }
568
+ function generateDrizzleSchemaFile(schema) {
569
+ const lines = ["// auto-generated by: on-zero generate (from drizzle schema)", "import { boolean, createSchema, json, number, relationships, string, table } from '@rocicorp/zero'", ""],
570
+ tableNames = Object.keys(schema.tables).sort();
571
+ for (const tableName of tableNames) {
572
+ const t = schema.tables[tableName],
573
+ colEntries = Object.entries(t.columns).map(([colName, col]) => ` ${colName}: ${serializeColumnBuilder(col)},`).join(`
574
+ `),
575
+ pkArgs = t.primaryKey.map(k => `'${k}'`).join(", ");
576
+ lines.push(`const ${tableName}Table = table('${t.name}')`), lines.push(" .columns({"), lines.push(colEntries), lines.push(" })"), lines.push(` .primaryKey(${pkArgs})`), lines.push("");
577
+ }
578
+ const relTableNames = Object.keys(schema.relationships).sort();
579
+ for (const tableName of relTableNames) {
580
+ const rels = schema.relationships[tableName],
581
+ relEntries = Object.entries(rels);
582
+ if (relEntries.length === 0) continue;
583
+ const relBody = relEntries.map(([relName, hops]) => {
584
+ if (hops.length === 1) {
585
+ const hop = hops[0],
586
+ fn = hop.cardinality === "one" ? "one" : "many",
587
+ sf = hop.sourceField.map(f => `'${f}'`).join(", "),
588
+ df = hop.destField.map(f => `'${f}'`).join(", ");
589
+ return ` ${relName}: ${fn}({
590
+ sourceField: [${sf}],
591
+ destSchema: ${hop.destSchema}Table,
592
+ destField: [${df}],
593
+ })`;
594
+ }
595
+ const hopCode = hops.map(hop => {
596
+ const fn = hop.cardinality === "one" ? "one" : "many",
597
+ sf = hop.sourceField.map(f => `'${f}'`).join(", "),
598
+ df = hop.destField.map(f => `'${f}'`).join(", ");
599
+ return `${fn}({ sourceField: [${sf}], destSchema: ${hop.destSchema}Table, destField: [${df}] })`;
600
+ }).join(", ");
601
+ return ` ${relName}: [${hopCode}]`;
602
+ }).join(`,
603
+ `);
604
+ lines.push(`const ${tableName}Relationships = relationships(${tableName}Table, ({ one, many }) => ({`), lines.push(relBody), lines.push("}))"), lines.push("");
605
+ }
606
+ const tableList = tableNames.map(n => ` ${n}Table,`).join(`
607
+ `),
608
+ relList = relTableNames.filter(n => Object.keys(schema.relationships[n]).length > 0).map(n => ` ${n}Relationships,`).join(`
609
+ `);
610
+ return lines.push("export const schema = createSchema({"), lines.push(" tables: ["), lines.push(tableList), lines.push(" ],"), lines.push(" relationships: ["), lines.push(relList), lines.push(" ],"), lines.push("})"), lines.push(""), lines.join(`
611
+ `);
612
+ }
566
613
  async function generate(options) {
567
614
  const {
568
615
  dir,
@@ -570,7 +617,10 @@ async function generate(options) {
570
617
  silent
571
618
  } = options,
572
619
  baseDir = resolve(dir),
573
- modelsDir = resolve(baseDir, "models"),
620
+ mutationsDir = resolve(baseDir, "mutations"),
621
+ usesMutationsDir = existsSync(mutationsDir),
622
+ modelsDir = usesMutationsDir ? mutationsDir : resolve(baseDir, "models"),
623
+ modelsDirName = usesMutationsDir ? "mutations" : "models",
574
624
  generatedDir = resolve(baseDir, "generated"),
575
625
  queriesDir = resolve(baseDir, "queries");
576
626
  existsSync(generatedDir) || mkdirSync(generatedDir, {
@@ -578,7 +628,7 @@ async function generate(options) {
578
628
  }), loadCache();
579
629
  const allModelFiles = readdirSync(modelsDir).filter(f => f.endsWith(".ts")).sort(),
580
630
  filesWithSchema = allModelFiles.filter(f => readFileSync(resolve(modelsDir, f), "utf-8").includes("export const schema = table("));
581
- let filesChanged = [writeFileIfChanged(resolve(generatedDir, "models.ts"), generateModelsFile(allModelFiles)), writeFileIfChanged(resolve(generatedDir, "types.ts"), generateTypesFile(filesWithSchema)), writeFileIfChanged(resolve(generatedDir, "tables.ts"), generateTablesFile(filesWithSchema)), writeFileIfChanged(resolve(generatedDir, "README.md"), generateReadmeFile())].filter(Boolean).length,
631
+ let filesChanged = [writeFileIfChanged(resolve(generatedDir, "models.ts"), generateModelsFile(allModelFiles, modelsDirName)), writeFileIfChanged(resolve(generatedDir, "types.ts"), generateTypesFile(filesWithSchema)), writeFileIfChanged(resolve(generatedDir, "tables.ts"), generateTablesFile(filesWithSchema, modelsDirName)), writeFileIfChanged(resolve(generatedDir, "README.md"), generateReadmeFile())].filter(Boolean).length,
582
632
  queryCount = 0,
583
633
  mutationCount = 0;
584
634
  const ts = await import("typescript"),
@@ -735,7 +785,8 @@ async function watch(options) {
735
785
  debounce = 1e3
736
786
  } = options,
737
787
  baseDir = resolve(dir),
738
- modelsDir = resolve(baseDir, "models"),
788
+ mutationsDir = resolve(baseDir, "mutations"),
789
+ modelsDir = existsSync(mutationsDir) ? mutationsDir : resolve(baseDir, "models"),
739
790
  queriesDir = resolve(baseDir, "queries"),
740
791
  generatedDir = resolve(baseDir, "generated");
741
792
  await generate({
@@ -761,5 +812,5 @@ ${event} ${path}`), debounceTimer = setTimeout(() => {
761
812
  });
762
813
  return watcher.on("change", path => debouncedRegenerate(path, "\u{1F4DD}")), watcher.on("add", path => debouncedRegenerate(path, "\u2795")), watcher.on("unlink", path => debouncedRegenerate(path, "\u{1F5D1}\uFE0F ")), watcher;
763
814
  }
764
- export { generate, watch };
815
+ export { generate, generateDrizzleSchemaFile, watch };
765
816
  //# sourceMappingURL=generate.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","hash","s","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","generateModelsFile","modelFiles","modelNames","map","f","sort","getImportName","name","imports","join","modelsObj","a","b","localeCompare","generateTypesFile","getSchemaName","pascalName","charAt","toUpperCase","slice","schemaName","generateTablesFile","getExportName","generateReadmeFile","generateGroupedQueriesFile","queries","Set","q","sourceFile","file","generateSyncedQueriesFile","queryByFile","Map","has","set","get","push","sortedFiles","Array","from","keys","namespaceDefs","queryDefs","validatorDef","valibotCode","trim","params","indentedValidator","split","line","i","queriesObject","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","createSourceFile","program","createProgram","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","exportName","paramIndex","result","forEachChild","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","length","isObjectLiteralExpression","prop","properties","isPropertyAssignment","isMethodDeclaration","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","extractSchemaColumns","paramType","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","colName","initText","colType","parseColumnType","optional","includes","startsWith","columnTypeToValibot","col","base","shouldSkipObjectKey","formatObjectKey","test","schemaColumnsToValibot","mode","entries","pk","Object","generateSyncedMutationsFile","modelMutations","model","customMut","find","extractValibotExpression","mut","parseTypeString","inner","normalized","replace","part","trimmed","match","opt","typeStr","val","seen","flags","getFlags","TypeFlags","Intersection","add","recurse","t","String","Number","Boolean","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","value","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner2","resolveSymbolType","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props2","getProperties","getName","propType","isOptional","SymbolFlags","Optional","props","objectFlags","ObjectFlags","Reference","typeRef","getSymbol","typeArguments","Tuple","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","generate","after","baseDir","modelsDir","generatedDir","queriesDir","allModelFiles","filesWithSchema","filesChanged","queryCount","mutationCount","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles","fileBaseName","declaration","resolverSourceFile","console","error","err","groupedChanged","syncedChanged","allModelMutations","mutationFiles","unresolvedModels","baseName","collectTsFiles","dir2","results","entry","withFileTypes","fullPath","isDirectory","isFile","modelResolver","size","idx","findIndex","info","execSync","stdio","env","ON_ZERO_GENERATED_DIR","modelCount","schemaCount","watch","debounce","chokidar","debounceTimer","debouncedRegenerate","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","hash","s","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","generateModelsFile","modelFiles","modelsDirName","modelNames","map","f","sort","getImportName","name","imports","join","modelsObj","a","b","localeCompare","generateTypesFile","getSchemaName","pascalName","charAt","toUpperCase","slice","schemaName","generateTablesFile","getExportName","generateReadmeFile","generateGroupedQueriesFile","queries","Set","q","sourceFile","file","generateSyncedQueriesFile","queryByFile","Map","has","set","get","push","sortedFiles","Array","from","keys","namespaceDefs","queryDefs","validatorDef","valibotCode","trim","params","indentedValidator","split","line","i","queriesObject","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","createSourceFile","program","createProgram","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","exportName","paramIndex","result","forEachChild","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","length","isObjectLiteralExpression","prop","properties","isPropertyAssignment","isMethodDeclaration","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","extractSchemaColumns","paramType","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","colName","initText","colType","parseColumnType","optional","includes","startsWith","customType","columnTypeToValibot","col","base","shouldSkipObjectKey","formatObjectKey","test","schemaColumnsToValibot","mode","entries","pk","Object","generateSyncedMutationsFile","modelMutations","model","customMut","find","extractValibotExpression","mut","parseTypeString","inner","normalized","replace","part","trimmed","match","opt","typeStr","val","seen","flags","getFlags","TypeFlags","Intersection","add","recurse","t","String","Number","Boolean","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","value","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner2","resolveSymbolType","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props2","getProperties","getName","propType","isOptional","SymbolFlags","Optional","props","objectFlags","ObjectFlags","Reference","typeRef","getSymbol","typeArguments","Tuple","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","expr","serverName","generateDrizzleSchemaFile","schema","lines","tableNames","tables","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","tableList","n","relList","generate","after","baseDir","mutationsDir","usesMutationsDir","modelsDir","generatedDir","queriesDir","allModelFiles","filesWithSchema","filesChanged","queryCount","mutationCount","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles","fileBaseName","declaration","resolverSourceFile","console","error","err","groupedChanged","syncedChanged","allModelMutations","mutationFiles","unresolvedModels","baseName","collectTsFiles","dir2","results","entry","withFileTypes","fullPath","isDirectory","isFile","modelResolver","size","idx","findIndex","info","execSync","stdio","env","ON_ZERO_GENERATED_DIR","modelCount","schemaCount","watch","debounce","chokidar","debounceTimer","debouncedRegenerate","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -39,7 +39,7 @@ function writeFileIfChanged(filePath, content) {
39
39
  cachedHash = generateCache[filePath];
40
40
  return cachedHash === contentHash && existsSync(filePath) ? !1 : (writeFileSync(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
41
41
  }
42
- function generateModelsFile(modelFiles) {
42
+ function generateModelsFile(modelFiles, modelsDirName) {
43
43
  var modelNames = modelFiles.map(function (f) {
44
44
  return basename(f, ".ts");
45
45
  }).sort(),
@@ -47,7 +47,7 @@ function generateModelsFile(modelFiles) {
47
47
  return name === "user" ? "userPublic" : name;
48
48
  },
49
49
  imports = modelNames.map(function (name) {
50
- return `import * as ${getImportName(name)} from '../models/${name}'`;
50
+ return `import * as ${getImportName(name)} from '../${modelsDirName}/${name}'`;
51
51
  }).join(`
52
52
  `),
53
53
  sortedByImportName = [...modelNames].sort(function (a, b) {
@@ -86,7 +86,7 @@ import type * as schema from './tables'
86
86
  ${typeExports}
87
87
  `;
88
88
  }
89
- function generateTablesFile(modelFiles) {
89
+ function generateTablesFile(modelFiles, modelsDirName) {
90
90
  var modelNames = modelFiles.map(function (f) {
91
91
  return basename(f, ".ts");
92
92
  }).sort(),
@@ -94,11 +94,10 @@ function generateTablesFile(modelFiles) {
94
94
  return name === "user" ? "userPublic" : name;
95
95
  },
96
96
  exports = modelNames.map(function (name) {
97
- return `export { schema as ${getExportName(name)} } from '../models/${name}'`;
97
+ return `export { schema as ${getExportName(name)} } from '../${modelsDirName}/${name}'`;
98
98
  }).join(`
99
99
  `);
100
100
  return `// auto-generated by: on-zero generate
101
- // this is separate from models as otherwise you end up with circular types :/
102
101
 
103
102
  ${exports}
104
103
  `;
@@ -538,11 +537,12 @@ function parseColumnType(initText) {
538
537
  type = "string";
539
538
  return initText.startsWith("number(") ? type = "number" : initText.startsWith("boolean(") ? type = "boolean" : initText.startsWith("json(") || initText.startsWith("json<") ? type = "json" : initText.startsWith("enumeration(") && (type = "enum"), {
540
539
  type,
541
- optional
540
+ optional,
541
+ customType: void 0
542
542
  };
543
543
  }
544
544
  function columnTypeToValibot(col) {
545
- var base;
545
+ var base = "v.string()";
546
546
  switch (col.type) {
547
547
  case "string":
548
548
  base = "v.string()";
@@ -559,8 +559,6 @@ function columnTypeToValibot(col) {
559
559
  case "enum":
560
560
  base = "v.string()";
561
561
  break;
562
- default:
563
- base = "v.unknown()";
564
562
  }
565
563
  return col.optional ? `v.optional(v.nullable(${base}))` : base;
566
564
  }
@@ -886,6 +884,105 @@ function tsTypeToValibot(ts, checker, type, seen) {
886
884
  var numberIndex = type.getNumberIndexType();
887
885
  return numberIndex ? `v.record(v.number(), ${recurse(numberIndex)})` : "v.unknown()";
888
886
  }
887
+ function serializeColumnBuilder(col) {
888
+ var zeroType = col.type === "string" ? "string" : col.type === "number" ? "number" : col.type === "boolean" ? "boolean" : "json",
889
+ expr = `${zeroType}()`;
890
+ return col.serverName && (expr += `.from('${col.serverName}')`), col.optional && (expr += ".optional()"), expr;
891
+ }
892
+ function generateDrizzleSchemaFile(schema) {
893
+ var lines = ["// auto-generated by: on-zero generate (from drizzle schema)", "import { boolean, createSchema, json, number, relationships, string, table } from '@rocicorp/zero'", ""],
894
+ tableNames = Object.keys(schema.tables).sort(),
895
+ _iteratorNormalCompletion = !0,
896
+ _didIteratorError = !1,
897
+ _iteratorError = void 0;
898
+ try {
899
+ for (var _iterator = tableNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
900
+ var tableName = _step.value,
901
+ t = schema.tables[tableName],
902
+ colEntries = Object.entries(t.columns).map(function (param) {
903
+ var [colName, col] = param;
904
+ return ` ${colName}: ${serializeColumnBuilder(col)},`;
905
+ }).join(`
906
+ `),
907
+ pkArgs = t.primaryKey.map(function (k) {
908
+ return `'${k}'`;
909
+ }).join(", ");
910
+ lines.push(`const ${tableName}Table = table('${t.name}')`), lines.push(" .columns({"), lines.push(colEntries), lines.push(" })"), lines.push(` .primaryKey(${pkArgs})`), lines.push("");
911
+ }
912
+ } catch (err) {
913
+ _didIteratorError = !0, _iteratorError = err;
914
+ } finally {
915
+ try {
916
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
917
+ } finally {
918
+ if (_didIteratorError) throw _iteratorError;
919
+ }
920
+ }
921
+ var relTableNames = Object.keys(schema.relationships).sort(),
922
+ _iteratorNormalCompletion1 = !0,
923
+ _didIteratorError1 = !1,
924
+ _iteratorError1 = void 0;
925
+ try {
926
+ for (var _iterator1 = relTableNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
927
+ var tableName1 = _step1.value,
928
+ rels = schema.relationships[tableName1],
929
+ relEntries = Object.entries(rels);
930
+ if (relEntries.length !== 0) {
931
+ var relBody = relEntries.map(function (param) {
932
+ var [relName, hops] = param;
933
+ if (hops.length === 1) {
934
+ var hop = hops[0],
935
+ fn = hop.cardinality === "one" ? "one" : "many",
936
+ sf = hop.sourceField.map(function (f) {
937
+ return `'${f}'`;
938
+ }).join(", "),
939
+ df = hop.destField.map(function (f) {
940
+ return `'${f}'`;
941
+ }).join(", ");
942
+ return ` ${relName}: ${fn}({
943
+ sourceField: [${sf}],
944
+ destSchema: ${hop.destSchema}Table,
945
+ destField: [${df}],
946
+ })`;
947
+ }
948
+ var hopCode = hops.map(function (hop2) {
949
+ var fn2 = hop2.cardinality === "one" ? "one" : "many",
950
+ sf2 = hop2.sourceField.map(function (f) {
951
+ return `'${f}'`;
952
+ }).join(", "),
953
+ df2 = hop2.destField.map(function (f) {
954
+ return `'${f}'`;
955
+ }).join(", ");
956
+ return `${fn2}({ sourceField: [${sf2}], destSchema: ${hop2.destSchema}Table, destField: [${df2}] })`;
957
+ }).join(", ");
958
+ return ` ${relName}: [${hopCode}]`;
959
+ }).join(`,
960
+ `);
961
+ lines.push(`const ${tableName1}Relationships = relationships(${tableName1}Table, ({ one, many }) => ({`), lines.push(relBody), lines.push("}))"), lines.push("");
962
+ }
963
+ }
964
+ } catch (err) {
965
+ _didIteratorError1 = !0, _iteratorError1 = err;
966
+ } finally {
967
+ try {
968
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
969
+ } finally {
970
+ if (_didIteratorError1) throw _iteratorError1;
971
+ }
972
+ }
973
+ var tableList = tableNames.map(function (n) {
974
+ return ` ${n}Table,`;
975
+ }).join(`
976
+ `),
977
+ relList = relTableNames.filter(function (n) {
978
+ return Object.keys(schema.relationships[n]).length > 0;
979
+ }).map(function (n) {
980
+ return ` ${n}Relationships,`;
981
+ }).join(`
982
+ `);
983
+ return lines.push("export const schema = createSchema({"), lines.push(" tables: ["), lines.push(tableList), lines.push(" ],"), lines.push(" relationships: ["), lines.push(relList), lines.push(" ],"), lines.push("})"), lines.push(""), lines.join(`
984
+ `);
985
+ }
889
986
  async function generate(options) {
890
987
  var {
891
988
  dir,
@@ -893,7 +990,10 @@ async function generate(options) {
893
990
  silent
894
991
  } = options,
895
992
  baseDir = resolve(dir),
896
- modelsDir = resolve(baseDir, "models"),
993
+ mutationsDir = resolve(baseDir, "mutations"),
994
+ usesMutationsDir = existsSync(mutationsDir),
995
+ modelsDir = usesMutationsDir ? mutationsDir : resolve(baseDir, "models"),
996
+ modelsDirName = usesMutationsDir ? "mutations" : "models",
897
997
  generatedDir = resolve(baseDir, "generated"),
898
998
  queriesDir = resolve(baseDir, "queries");
899
999
  existsSync(generatedDir) || mkdirSync(generatedDir, {
@@ -905,7 +1005,7 @@ async function generate(options) {
905
1005
  filesWithSchema = allModelFiles.filter(function (f) {
906
1006
  return readFileSync(resolve(modelsDir, f), "utf-8").includes("export const schema = table(");
907
1007
  }),
908
- writeResults = [writeFileIfChanged(resolve(generatedDir, "models.ts"), generateModelsFile(allModelFiles)), writeFileIfChanged(resolve(generatedDir, "types.ts"), generateTypesFile(filesWithSchema)), writeFileIfChanged(resolve(generatedDir, "tables.ts"), generateTablesFile(filesWithSchema)), writeFileIfChanged(resolve(generatedDir, "README.md"), generateReadmeFile())],
1008
+ writeResults = [writeFileIfChanged(resolve(generatedDir, "models.ts"), generateModelsFile(allModelFiles, modelsDirName)), writeFileIfChanged(resolve(generatedDir, "types.ts"), generateTypesFile(filesWithSchema)), writeFileIfChanged(resolve(generatedDir, "tables.ts"), generateTablesFile(filesWithSchema, modelsDirName)), writeFileIfChanged(resolve(generatedDir, "README.md"), generateReadmeFile())],
909
1009
  filesChanged = writeResults.filter(Boolean).length,
910
1010
  queryCount = 0,
911
1011
  mutationCount = 0,
@@ -1163,7 +1263,8 @@ async function watch(options) {
1163
1263
  debounce = 1e3
1164
1264
  } = options,
1165
1265
  baseDir = resolve(dir),
1166
- modelsDir = resolve(baseDir, "models"),
1266
+ mutationsDir = resolve(baseDir, "mutations"),
1267
+ modelsDir = existsSync(mutationsDir) ? mutationsDir : resolve(baseDir, "models"),
1167
1268
  queriesDir = resolve(baseDir, "queries"),
1168
1269
  generatedDir = resolve(baseDir, "generated");
1169
1270
  await generate({
@@ -1195,5 +1296,5 @@ ${event} ${path}`), debounceTimer = setTimeout(function () {
1195
1296
  return debouncedRegenerate(path, "\u{1F5D1}\uFE0F ");
1196
1297
  }), watcher;
1197
1298
  }
1198
- export { generate, watch };
1299
+ export { generate, generateDrizzleSchemaFile, watch };
1199
1300
  //# sourceMappingURL=generate.native.js.map