on-zero 0.4.1 → 0.4.3

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 (41) hide show
  1. package/dist/cjs/generate-helpers.cjs +309 -0
  2. package/dist/cjs/generate-helpers.native.js +451 -0
  3. package/dist/cjs/generate-helpers.native.js.map +1 -0
  4. package/dist/cjs/generate-lite.cjs +150 -0
  5. package/dist/cjs/generate-lite.native.js +269 -0
  6. package/dist/cjs/generate-lite.native.js.map +1 -0
  7. package/dist/cjs/generate-lite.test.cjs +229 -0
  8. package/dist/cjs/generate-lite.test.native.js +234 -0
  9. package/dist/cjs/generate-lite.test.native.js.map +1 -0
  10. package/dist/cjs/generate.cjs +16 -285
  11. package/dist/cjs/generate.native.js +18 -432
  12. package/dist/cjs/generate.native.js.map +1 -1
  13. package/dist/esm/generate-helpers.mjs +272 -0
  14. package/dist/esm/generate-helpers.mjs.map +1 -0
  15. package/dist/esm/generate-helpers.native.js +411 -0
  16. package/dist/esm/generate-helpers.native.js.map +1 -0
  17. package/dist/esm/generate-lite.mjs +127 -0
  18. package/dist/esm/generate-lite.mjs.map +1 -0
  19. package/dist/esm/generate-lite.native.js +243 -0
  20. package/dist/esm/generate-lite.native.js.map +1 -0
  21. package/dist/esm/generate-lite.test.mjs +230 -0
  22. package/dist/esm/generate-lite.test.mjs.map +1 -0
  23. package/dist/esm/generate-lite.test.native.js +232 -0
  24. package/dist/esm/generate-lite.test.native.js.map +1 -0
  25. package/dist/esm/generate.mjs +6 -275
  26. package/dist/esm/generate.mjs.map +1 -1
  27. package/dist/esm/generate.native.js +9 -423
  28. package/dist/esm/generate.native.js.map +1 -1
  29. package/package.json +7 -2
  30. package/src/generate-helpers.ts +440 -0
  31. package/src/generate-lite.test.ts +310 -0
  32. package/src/generate-lite.ts +333 -0
  33. package/src/generate.ts +23 -415
  34. package/types/generate-helpers.d.ts +42 -0
  35. package/types/generate-helpers.d.ts.map +1 -0
  36. package/types/generate-lite.d.ts +40 -0
  37. package/types/generate-lite.d.ts.map +1 -0
  38. package/types/generate-lite.test.d.ts +2 -0
  39. package/types/generate-lite.test.d.ts.map +1 -0
  40. package/types/generate.d.ts +1 -6
  41. package/types/generate.d.ts.map +1 -1
@@ -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","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":[]}
1
+ {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","formatObjectKey","generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","shouldSkipObjectKey","hash","s","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","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","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","program","createProgram","map","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","name","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","prop","properties","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","extractSchemaColumns","push","paramType","valibotCode","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","colName","initText","colType","seen","Set","flags","getFlags","TypeFlags","Object","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","inner","join","resolveSymbolType","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props2","getProperties","entries","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props","objectFlags","ObjectFlags","Reference","typeRef","getSymbol","typeArguments","Tuple","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","tables","sort","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","modelsDirName","generatedDir","queriesDir","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","filesChanged","queryCount","mutationCount","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles","file","fileBaseName","find","declaration","resolverSourceFile","console","error","err","groupedChanged","syncedChanged","allModelMutations","mutationFiles","unresolvedModels","baseName","collectTsFiles","dir2","results","entry","withFileTypes","fullPath","isDirectory","isFile","modelResolver","size","idx","findIndex","model","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,6 +1,7 @@
1
1
  import { createHash } from "crypto";
2
2
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
3
3
  import { basename, dirname, resolve } from "path";
4
+ import { formatObjectKey, generateGroupedQueriesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString, shouldSkipObjectKey } from "./generate-helpers.native.js";
4
5
  var hash = function (s) {
5
6
  return createHash("sha256").update(s).digest("hex");
6
7
  },
@@ -39,209 +40,6 @@ function writeFileIfChanged(filePath, content) {
39
40
  cachedHash = generateCache[filePath];
40
41
  return cachedHash === contentHash && existsSync(filePath) ? !1 : (writeFileSync(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
41
42
  }
42
- function generateModelsFile(modelFiles, modelsDirName) {
43
- var modelNames = modelFiles.map(function (f) {
44
- return basename(f, ".ts");
45
- }).sort(),
46
- getImportName = function (name) {
47
- return name === "user" ? "userPublic" : name;
48
- },
49
- imports = modelNames.map(function (name) {
50
- return `import * as ${getImportName(name)} from '../${modelsDirName}/${name}'`;
51
- }).join(`
52
- `),
53
- sortedByImportName = [...modelNames].sort(function (a, b) {
54
- return getImportName(a).localeCompare(getImportName(b));
55
- }),
56
- modelsObj = `export const models = {
57
- ${sortedByImportName.map(function (name) {
58
- return ` ${getImportName(name)},`;
59
- }).join(`
60
- `)}
61
- }`;
62
- return `// auto-generated by: on-zero generate
63
- ${imports}
64
-
65
- ${modelsObj}
66
- `;
67
- }
68
- function generateTypesFile(modelFiles) {
69
- var modelNames = modelFiles.map(function (f) {
70
- return basename(f, ".ts");
71
- }).sort(),
72
- getSchemaName = function (name) {
73
- return name === "user" ? "userPublic" : name;
74
- },
75
- typeExports = modelNames.map(function (name) {
76
- var pascalName = name.charAt(0).toUpperCase() + name.slice(1),
77
- schemaName = getSchemaName(name);
78
- return `export type ${pascalName} = TableInsertRow<typeof schema.${schemaName}>
79
- export type ${pascalName}Update = TableUpdateRow<typeof schema.${schemaName}>`;
80
- }).join(`
81
-
82
- `);
83
- return `import type { TableInsertRow, TableUpdateRow } from 'on-zero'
84
- import type * as schema from './tables'
85
-
86
- ${typeExports}
87
- `;
88
- }
89
- function generateTablesFile(modelFiles, modelsDirName) {
90
- var modelNames = modelFiles.map(function (f) {
91
- return basename(f, ".ts");
92
- }).sort(),
93
- getExportName = function (name) {
94
- return name === "user" ? "userPublic" : name;
95
- },
96
- exports = modelNames.map(function (name) {
97
- return `export { schema as ${getExportName(name)} } from '../${modelsDirName}/${name}'`;
98
- }).join(`
99
- `);
100
- return `// auto-generated by: on-zero generate
101
-
102
- ${exports}
103
- `;
104
- }
105
- function generateReadmeFile() {
106
- return `# generated
107
-
108
- this folder is auto-generated by on-zero. do not edit files here directly.
109
-
110
- ## what's generated
111
-
112
- - \`models.ts\` - exports all models from ../models
113
- - \`types.ts\` - typescript types derived from table schemas
114
- - \`tables.ts\` - exports table schemas for type inference
115
- - \`groupedQueries.ts\` - namespaced query re-exports for client setup
116
- - \`syncedQueries.ts\` - namespaced syncedQuery wrappers for server setup
117
- - \`syncedMutations.ts\` - valibot validators for mutation args (server auto-validation)
118
-
119
- ## usage guidelines
120
-
121
- **do not import generated files outside of the data folder.**
122
-
123
- ### queries
124
-
125
- write your queries as plain functions in \`../queries/\` and import them directly:
126
-
127
- \`\`\`ts
128
- // \u2705 good - import from queries
129
- import { channelMessages } from '~/data/queries/message'
130
- \`\`\`
131
-
132
- the generated query files are only used internally by zero client/server setup.
133
-
134
- ### types
135
-
136
- you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
137
-
138
- \`\`\`ts
139
- // \u274C okay but not preferred
140
- import type { Message } from '~/data/generated/types'
141
-
142
- // \u2705 better - re-export from types.ts
143
- import type { Message } from '~/data/types'
144
- \`\`\`
145
-
146
- ## regeneration
147
-
148
- files are regenerated when you run:
149
-
150
- \`\`\`bash
151
- bun on-zero generate
152
- \`\`\`
153
-
154
- or in watch mode:
155
-
156
- \`\`\`bash
157
- bun on-zero generate --watch
158
- \`\`\`
159
-
160
- ## more info
161
-
162
- see the [on-zero readme](./node_modules/on-zero/README.md) for full documentation.
163
- `;
164
- }
165
- function generateGroupedQueriesFile(queries) {
166
- var sortedFiles = [...new Set(queries.map(function (q) {
167
- return q.sourceFile;
168
- }))].sort(),
169
- exports = sortedFiles.map(function (file) {
170
- return `export * as ${file} from '../queries/${file}'`;
171
- }).join(`
172
- `);
173
- return `/**
174
- * auto-generated by: on-zero generate
175
- *
176
- * grouped query re-exports for minification-safe query identity.
177
- * this file re-exports all query modules - while this breaks tree-shaking,
178
- * queries are typically small and few in number even in larger apps.
179
- */
180
- ${exports}
181
- `;
182
- }
183
- function generateSyncedQueriesFile(queries) {
184
- var queryByFile = /* @__PURE__ */new Map(),
185
- _iteratorNormalCompletion = !0,
186
- _didIteratorError = !1,
187
- _iteratorError = void 0;
188
- try {
189
- for (var _iterator = queries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
190
- var q = _step.value;
191
- queryByFile.has(q.sourceFile) || queryByFile.set(q.sourceFile, []), queryByFile.get(q.sourceFile).push(q);
192
- }
193
- } catch (err) {
194
- _didIteratorError = !0, _iteratorError = err;
195
- } finally {
196
- try {
197
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
198
- } finally {
199
- if (_didIteratorError) throw _iteratorError;
200
- }
201
- }
202
- var sortedFiles = Array.from(queryByFile.keys()).sort(),
203
- imports = `// auto-generated by: on-zero generate
204
- // server-side query definitions with validators
205
- import { defineQuery, defineQueries } from '@rocicorp/zero'
206
- import * as v from 'valibot'
207
- import * as Queries from './groupedQueries'
208
- `,
209
- namespaceDefs = sortedFiles.map(function (file) {
210
- var fileQueries = queryByFile.get(file).sort(function (a, b) {
211
- return a.name.localeCompare(b.name);
212
- }),
213
- queryDefs = fileQueries.map(function (q2) {
214
- var validatorDef = q2.valibotCode.trim();
215
- if (q2.params === "void" || !validatorDef) return ` ${q2.name}: defineQuery(() => Queries.${file}.${q2.name}()),`;
216
- var indentedValidator = validatorDef.split(`
217
- `).map(function (line, i) {
218
- return i === 0 ? line : ` ${line}`;
219
- }).join(`
220
- `);
221
- return ` ${q2.name}: defineQuery(
222
- ${indentedValidator},
223
- ({ args }) => Queries.${file}.${q2.name}(args)
224
- ),`;
225
- }).join(`
226
- `);
227
- return `const ${file} = {
228
- ${queryDefs}
229
- }`;
230
- }).join(`
231
-
232
- `),
233
- queriesObject = sortedFiles.map(function (file) {
234
- return ` ${file},`;
235
- }).join(`
236
- `);
237
- return `${imports}
238
- ${namespaceDefs}
239
-
240
- export const queries = defineQueries({
241
- ${queriesObject}
242
- })
243
- `;
244
- }
245
43
  function createTypeResolver(ts, files, dir) {
246
44
  var configPath = ts.findConfigFile(dir, ts.sys.fileExists, "tsconfig.json"),
247
45
  compilerOptions = {
@@ -532,224 +330,6 @@ function extractSchemaColumns(ts, sourceFile, columns, primaryKeys) {
532
330
  }
533
331
  visit(sourceFile);
534
332
  }
535
- function parseColumnType(initText) {
536
- var optional = initText.includes(".optional()"),
537
- type = "string";
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"), {
539
- type,
540
- optional,
541
- customType: void 0
542
- };
543
- }
544
- function columnTypeToValibot(col) {
545
- var base = "v.string()";
546
- switch (col.type) {
547
- case "string":
548
- base = "v.string()";
549
- break;
550
- case "number":
551
- base = "v.number()";
552
- break;
553
- case "boolean":
554
- base = "v.boolean()";
555
- break;
556
- case "json":
557
- base = "v.unknown()";
558
- break;
559
- case "enum":
560
- base = "v.string()";
561
- break;
562
- }
563
- return col.optional ? `v.optional(v.nullable(${base}))` : base;
564
- }
565
- function shouldSkipObjectKey(name) {
566
- return name.startsWith("__@");
567
- }
568
- function formatObjectKey(name) {
569
- return /^[$A-Z_a-z][$\w]*$/.test(name) ? name : JSON.stringify(name);
570
- }
571
- function schemaColumnsToValibot(columns, primaryKeys, mode) {
572
- var entries = [];
573
- if (mode === "delete") {
574
- var _iteratorNormalCompletion = !0,
575
- _didIteratorError = !1,
576
- _iteratorError = void 0;
577
- try {
578
- for (var _iterator = primaryKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
579
- var pk = _step.value,
580
- col = columns[pk];
581
- col && entries.push(`${formatObjectKey(pk)}: ${columnTypeToValibot({
582
- ...col,
583
- optional: !1
584
- })}`);
585
- }
586
- } catch (err) {
587
- _didIteratorError = !0, _iteratorError = err;
588
- } finally {
589
- try {
590
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
591
- } finally {
592
- if (_didIteratorError) throw _iteratorError;
593
- }
594
- }
595
- } else if (mode === "update") {
596
- var _iteratorNormalCompletion1 = !0,
597
- _didIteratorError1 = !1,
598
- _iteratorError1 = void 0;
599
- try {
600
- for (var _iterator1 = Object.entries(columns)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
601
- var [name, col1] = _step1.value,
602
- isPK = primaryKeys.includes(name);
603
- isPK ? entries.push(`${formatObjectKey(name)}: ${columnTypeToValibot({
604
- ...col1,
605
- optional: !1
606
- })}`) : entries.push(`${formatObjectKey(name)}: ${columnTypeToValibot({
607
- ...col1,
608
- optional: !0
609
- })}`);
610
- }
611
- } catch (err) {
612
- _didIteratorError1 = !0, _iteratorError1 = err;
613
- } finally {
614
- try {
615
- !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
616
- } finally {
617
- if (_didIteratorError1) throw _iteratorError1;
618
- }
619
- }
620
- } else {
621
- var _iteratorNormalCompletion2 = !0,
622
- _didIteratorError2 = !1,
623
- _iteratorError2 = void 0;
624
- try {
625
- for (var _iterator2 = Object.entries(columns)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
626
- var [name1, col2] = _step2.value;
627
- entries.push(`${formatObjectKey(name1)}: ${columnTypeToValibot(col2)}`);
628
- }
629
- } catch (err) {
630
- _didIteratorError2 = !0, _iteratorError2 = err;
631
- } finally {
632
- try {
633
- !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
634
- } finally {
635
- if (_didIteratorError2) throw _iteratorError2;
636
- }
637
- }
638
- }
639
- return `v.object({
640
- ${entries.join(`,
641
- `)},
642
- })`;
643
- }
644
- function generateSyncedMutationsFile(modelMutations) {
645
- var sorted = [...modelMutations].sort(function (a, b) {
646
- return a.modelName.localeCompare(b.modelName);
647
- }),
648
- modelDefs = sorted.map(function (model) {
649
- var entries = [];
650
- if (model.hasCRUD && Object.keys(model.columns).length > 0) for (var _loop = function (_i2, _iter2) {
651
- var mode = _iter2[_i2],
652
- hasCustomOverride = model.custom.some(function (m) {
653
- return m.name === mode;
654
- });
655
- if (hasCustomOverride) {
656
- var customMut = model.custom.find(function (m) {
657
- return m.name === mode;
658
- });
659
- customMut.valibotCode ? entries.push(` ${mode}: ${extractValibotExpression(customMut.valibotCode)},`) : entries.push(` ${mode}: ${schemaColumnsToValibot(model.columns, model.primaryKeys, mode)},`);
660
- } else entries.push(` ${mode}: ${schemaColumnsToValibot(model.columns, model.primaryKeys, mode)},`);
661
- }, _i = 0, _iter = ["insert", "update", "delete"]; _i < _iter.length; _i++) _loop(_i, _iter);
662
- var _iteratorNormalCompletion = !0,
663
- _didIteratorError = !1,
664
- _iteratorError = void 0;
665
- try {
666
- for (var _iterator = model.custom[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
667
- var mut = _step.value;
668
- if (!(model.hasCRUD && ["insert", "update", "delete", "upsert"].includes(mut.name))) {
669
- if (mut.paramType === "void" || !mut.valibotCode) {
670
- entries.push(` ${mut.name}: v.void_(),`);
671
- continue;
672
- }
673
- entries.push(` ${mut.name}: ${extractValibotExpression(mut.valibotCode)},`);
674
- }
675
- }
676
- } catch (err) {
677
- _didIteratorError = !0, _iteratorError = err;
678
- } finally {
679
- try {
680
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
681
- } finally {
682
- if (_didIteratorError) throw _iteratorError;
683
- }
684
- }
685
- return ` ${model.modelName}: {
686
- ${entries.join(`
687
- `)}
688
- },`;
689
- }).join(`
690
- `);
691
- return `// auto-generated by: on-zero generate
692
- // mutation validators derived from model schemas and handler types
693
- import * as v from 'valibot'
694
-
695
- export const mutationValidators = {
696
- ${modelDefs}
697
- }
698
- `;
699
- }
700
- function extractValibotExpression(valibotCode) {
701
- return valibotCode.trim() || "v.unknown()";
702
- }
703
- function parseTypeString(type) {
704
- if (type = type.trim(), type === "string") return "v.string()";
705
- if (type === "number") return "v.number()";
706
- if (type === "boolean") return "v.boolean()";
707
- if (type === "void" || type === "undefined") return "v.void_()";
708
- if (type === "null") return "v.null_()";
709
- if (type === "any" || type === "unknown") return "v.unknown()";
710
- if (type.startsWith("{") && type.endsWith("}")) {
711
- var inner = type.slice(1, -1).trim();
712
- if (!inner) return "v.object({})";
713
- var normalized = inner.replace(/\n/g, "; ").replace(/;\s*;/g, ";"),
714
- entries = [],
715
- _iteratorNormalCompletion = !0,
716
- _didIteratorError = !1,
717
- _iteratorError = void 0;
718
- try {
719
- for (var _iterator = normalized.split(";")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
720
- var part = _step.value,
721
- trimmed = part.trim().replace(/,\s*$/, "");
722
- if (trimmed) {
723
- var match = trimmed.match(/^(?:readonly\s+)?(\w+)(\?)?:\s*(.+)$/);
724
- if (match) {
725
- var [, name, opt, typeStr] = match,
726
- parsed = parseTypeString(typeStr.trim());
727
- if (!parsed) return null;
728
- var val = parsed;
729
- opt && (val = `v.optional(${val})`), entries.push(`${formatObjectKey(name)}: ${val}`);
730
- }
731
- }
732
- }
733
- } catch (err) {
734
- _didIteratorError = !0, _iteratorError = err;
735
- } finally {
736
- try {
737
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
738
- } finally {
739
- if (_didIteratorError) throw _iteratorError;
740
- }
741
- }
742
- return entries.length === 0 ? "v.object({})" : `v.object({
743
- ${entries.join(`,
744
- `)},
745
- })`;
746
- }
747
- if (type.endsWith("[]")) {
748
- var inner1 = parseTypeString(type.slice(0, -2).trim());
749
- return inner1 ? `v.array(${inner1})` : null;
750
- }
751
- return null;
752
- }
753
333
  function tsTypeToValibot(ts, checker, type, seen) {
754
334
  seen || (seen = /* @__PURE__ */new Set());
755
335
  var flags = type.getFlags();
@@ -1005,11 +585,17 @@ async function generate(options) {
1005
585
  filesWithSchema = allModelFiles.filter(function (f) {
1006
586
  return readFileSync(resolve(modelsDir, f), "utf-8").includes("export const schema = table(");
1007
587
  }),
1008
- writeResults = [writeFileIfChanged(resolve(generatedDir, "models.ts"), generateModelsFile(allModelFiles, modelsDirName)),
588
+ allModelNames = allModelFiles.map(function (f) {
589
+ return basename(f, ".ts");
590
+ }),
591
+ schemaModelNames = filesWithSchema.map(function (f) {
592
+ return basename(f, ".ts");
593
+ }),
594
+ writeResults = [writeFileIfChanged(resolve(generatedDir, "models.ts"), generateModelsFile(allModelNames, modelsDirName)),
1009
595
  // only generate types.ts and tables.ts when model files define schemas.
1010
596
  // when using drizzle-zero CLI for schema generation, these files are
1011
597
  // managed externally and should not be overwritten.
1012
- ...(filesWithSchema.length > 0 ? [writeFileIfChanged(resolve(generatedDir, "types.ts"), generateTypesFile(filesWithSchema)), writeFileIfChanged(resolve(generatedDir, "tables.ts"), generateTablesFile(filesWithSchema, modelsDirName))] : []), writeFileIfChanged(resolve(generatedDir, "README.md"), generateReadmeFile())],
598
+ ...(filesWithSchema.length > 0 ? [writeFileIfChanged(resolve(generatedDir, "types.ts"), generateTypesFile(schemaModelNames)), writeFileIfChanged(resolve(generatedDir, "tables.ts"), generateTablesFile(schemaModelNames, modelsDirName))] : []), writeFileIfChanged(resolve(generatedDir, "README.md"), generateReadmeFile())],
1013
599
  filesChanged = writeResults.filter(Boolean).length,
1014
600
  queryCount = 0,
1015
601
  mutationCount = 0,