on-zero 0.4.31 → 0.4.33

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 (126) hide show
  1. package/dist/cjs/cli.native.js.map +1 -1
  2. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  3. package/dist/cjs/createPermissions.native.js.map +1 -1
  4. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  5. package/dist/cjs/createUseQuery.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.authData.test.cjs +67 -0
  7. package/dist/cjs/createZeroClient.authData.test.native.js +72 -0
  8. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -0
  9. package/dist/cjs/createZeroClient.cjs +41 -26
  10. package/dist/cjs/createZeroClient.native.js +47 -26
  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-helpers.native.js.map +1 -1
  14. package/dist/cjs/generate-lite.native.js.map +1 -1
  15. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  16. package/dist/cjs/generate.cjs +41 -0
  17. package/dist/cjs/generate.native.js +63 -0
  18. package/dist/cjs/generate.native.js.map +1 -1
  19. package/dist/cjs/generate.test.native.js.map +1 -1
  20. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  21. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  22. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  23. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  24. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  25. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  26. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  27. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  28. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  29. package/dist/cjs/helpers/recoverZeroClient.cjs +101 -0
  30. package/dist/cjs/helpers/recoverZeroClient.native.js +130 -0
  31. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -0
  32. package/dist/cjs/helpers/recoverZeroClient.test.cjs +201 -0
  33. package/dist/cjs/helpers/recoverZeroClient.test.native.js +256 -0
  34. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -0
  35. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  36. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  37. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  38. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  39. package/dist/cjs/httpPull/auth.test.native.js.map +1 -1
  40. package/dist/cjs/httpPull/churn.test.native.js.map +1 -1
  41. package/dist/cjs/httpPull/fixtureSchema.native.js.map +1 -1
  42. package/dist/cjs/httpPull/fixtureServer.native.js.map +1 -1
  43. package/dist/cjs/httpPull/integration.test.native.js.map +1 -1
  44. package/dist/cjs/httpPull/rebase.test.native.js.map +1 -1
  45. package/dist/cjs/httpPull/relations.test.native.js.map +1 -1
  46. package/dist/cjs/httpPull/testHarness.native.js.map +1 -1
  47. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  48. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  49. package/dist/cjs/index.cjs +4 -1
  50. package/dist/cjs/index.native.js +3 -0
  51. package/dist/cjs/index.native.js.map +1 -1
  52. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  53. package/dist/cjs/modelRegistry.native.js.map +1 -1
  54. package/dist/cjs/multiInstance.test.cjs +4 -3
  55. package/dist/cjs/multiInstance.test.native.js +6 -6
  56. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  57. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  58. package/dist/cjs/mutations.native.js.map +1 -1
  59. package/dist/cjs/queryRegistry.native.js.map +1 -1
  60. package/dist/cjs/resolveQuery.native.js.map +1 -1
  61. package/dist/cjs/run.native.js.map +1 -1
  62. package/dist/cjs/serverWhere.native.js.map +1 -1
  63. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  64. package/dist/cjs/state.native.js.map +1 -1
  65. package/dist/cjs/types.native.js.map +1 -1
  66. package/dist/cjs/usePermission.test.native.js.map +1 -1
  67. package/dist/cjs/vite-plugin.native.js.map +1 -1
  68. package/dist/cjs/where.native.js.map +1 -1
  69. package/dist/cjs/zeroRunner.native.js.map +1 -1
  70. package/dist/cjs/zql.native.js.map +1 -1
  71. package/dist/esm/createZeroClient.authData.test.mjs +68 -0
  72. package/dist/esm/createZeroClient.authData.test.mjs.map +1 -0
  73. package/dist/esm/createZeroClient.authData.test.native.js +70 -0
  74. package/dist/esm/createZeroClient.authData.test.native.js.map +1 -0
  75. package/dist/esm/createZeroClient.mjs +42 -27
  76. package/dist/esm/createZeroClient.mjs.map +1 -1
  77. package/dist/esm/createZeroClient.native.js +48 -27
  78. package/dist/esm/createZeroClient.native.js.map +1 -1
  79. package/dist/esm/createZeroServer.mjs.map +1 -1
  80. package/dist/esm/generate.mjs +41 -0
  81. package/dist/esm/generate.mjs.map +1 -1
  82. package/dist/esm/generate.native.js +63 -0
  83. package/dist/esm/generate.native.js.map +1 -1
  84. package/dist/esm/helpers/recoverZeroClient.mjs +74 -0
  85. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -0
  86. package/dist/esm/helpers/recoverZeroClient.native.js +100 -0
  87. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -0
  88. package/dist/esm/helpers/recoverZeroClient.test.mjs +202 -0
  89. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -0
  90. package/dist/esm/helpers/recoverZeroClient.test.native.js +254 -0
  91. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -0
  92. package/dist/esm/index.js +2 -1
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/index.mjs +2 -1
  95. package/dist/esm/index.mjs.map +1 -1
  96. package/dist/esm/index.native.js +2 -1
  97. package/dist/esm/index.native.js.map +1 -1
  98. package/dist/esm/multiInstance.test.mjs +4 -3
  99. package/dist/esm/multiInstance.test.mjs.map +1 -1
  100. package/dist/esm/multiInstance.test.native.js +6 -6
  101. package/dist/esm/multiInstance.test.native.js.map +1 -1
  102. package/package.json +2 -2
  103. package/src/createZeroClient.authData.test.tsx +73 -0
  104. package/src/createZeroClient.tsx +60 -47
  105. package/src/createZeroServer.ts +2 -2
  106. package/src/generate.ts +62 -0
  107. package/src/helpers/recoverZeroClient.test.ts +172 -0
  108. package/src/helpers/recoverZeroClient.ts +173 -0
  109. package/src/index.ts +5 -0
  110. package/src/multiInstance.test.tsx +5 -3
  111. package/src/multiInstanceNested.test.tsx +1 -1
  112. package/src/types.ts +6 -1
  113. package/types/createZeroClient.authData.test.d.ts +5 -0
  114. package/types/createZeroClient.authData.test.d.ts.map +1 -0
  115. package/types/createZeroClient.d.ts +2 -1
  116. package/types/createZeroClient.d.ts.map +1 -1
  117. package/types/createZeroServer.d.ts +4 -4
  118. package/types/generate.d.ts.map +1 -1
  119. package/types/helpers/recoverZeroClient.d.ts +17 -0
  120. package/types/helpers/recoverZeroClient.d.ts.map +1 -0
  121. package/types/helpers/recoverZeroClient.test.d.ts +2 -0
  122. package/types/helpers/recoverZeroClient.test.d.ts.map +1 -0
  123. package/types/index.d.ts +1 -0
  124. package/types/index.d.ts.map +1 -1
  125. package/types/types.d.ts +6 -0
  126. package/types/types.d.ts.map +1 -1
@@ -43,6 +43,26 @@ var import_node_fs = require("node:fs");
43
43
  var import_node_path = require("node:path");
44
44
  var import_generate_helpers = require("./generate-helpers.cjs");
45
45
  const hash = s => (0, import_node_crypto.createHash)("sha256").update(s).digest("hex");
46
+ function hashInputTree(baseDir, generatedDir) {
47
+ const parts = [];
48
+ const walk = dir => {
49
+ if (!(0, import_node_fs.existsSync)(dir)) return;
50
+ const entries = (0, import_node_fs.readdirSync)(dir, {
51
+ withFileTypes: true
52
+ }).sort((a, b) => a.name < b.name ? -1 : 1);
53
+ for (const entry of entries) {
54
+ const full = (0, import_node_path.resolve)(dir, entry.name);
55
+ if (entry.isDirectory()) {
56
+ if (entry.name === "node_modules" || full === generatedDir) continue;
57
+ walk(full);
58
+ } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
59
+ parts.push(`${full}\0${(0, import_node_fs.readFileSync)(full, "utf-8")}`);
60
+ }
61
+ }
62
+ };
63
+ walk(baseDir);
64
+ return hash(parts.join("\0"));
65
+ }
46
66
  let generateCache = {};
47
67
  let generateCachePath = "";
48
68
  function getCacheDir() {
@@ -526,6 +546,20 @@ async function generate(options) {
526
546
  });
527
547
  }
528
548
  loadCache();
549
+ const inputHash = hashInputTree(baseDir, generatedDir);
550
+ if (generateCache.__inputHash === inputHash && (0, import_node_fs.existsSync)((0, import_node_path.resolve)(generatedDir, "models.ts"))) {
551
+ let counts = {};
552
+ try {
553
+ counts = JSON.parse(generateCache.__counts || "{}");
554
+ } catch {}
555
+ return {
556
+ filesChanged: 0,
557
+ modelCount: counts.modelCount ?? 0,
558
+ schemaCount: counts.schemaCount ?? 0,
559
+ queryCount: counts.queryCount ?? 0,
560
+ mutationCount: counts.mutationCount ?? 0
561
+ };
562
+ }
529
563
  const allModelFiles = (0, import_node_fs.readdirSync)(modelsDir).filter(f => f.endsWith(".ts")).sort();
530
564
  const filesWithSchema = allModelFiles.filter(f => (0, import_node_fs.readFileSync)((0, import_node_path.resolve)(modelsDir, f), "utf-8").includes("export const schema = table("));
531
565
  const allModelNames = allModelFiles.map(f => (0, import_node_path.basename)(f, ".ts"));
@@ -710,6 +744,13 @@ async function generate(options) {
710
744
  if (!silent) console.error(`Error running after command: ${err}`);
711
745
  }
712
746
  }
747
+ generateCache.__inputHash = inputHash;
748
+ generateCache.__counts = JSON.stringify({
749
+ modelCount: allModelFiles.length,
750
+ schemaCount: filesWithSchema.length,
751
+ queryCount,
752
+ mutationCount
753
+ });
713
754
  saveCache();
714
755
  return {
715
756
  filesChanged,
@@ -47,6 +47,47 @@ var import_generate_helpers = require("./generate-helpers.native.js");
47
47
  var hash = function (s) {
48
48
  return (0, import_crypto.createHash)("sha256").update(s).digest("hex");
49
49
  };
50
+ function hashInputTree(baseDir, generatedDir) {
51
+ var parts = [];
52
+ var walk = function (dir) {
53
+ if (!(0, import_fs.existsSync)(dir)) return;
54
+ var entries = (0, import_fs.readdirSync)(dir, {
55
+ withFileTypes: true
56
+ }).sort(function (a, b) {
57
+ return a.name < b.name ? -1 : 1;
58
+ });
59
+ var _iteratorNormalCompletion = true,
60
+ _didIteratorError = false,
61
+ _iteratorError = void 0;
62
+ try {
63
+ for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
64
+ var entry = _step.value;
65
+ var full = (0, import_path.resolve)(dir, entry.name);
66
+ if (entry.isDirectory()) {
67
+ if (entry.name === "node_modules" || full === generatedDir) continue;
68
+ walk(full);
69
+ } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
70
+ parts.push(`${full}\0${(0, import_fs.readFileSync)(full, "utf-8")}`);
71
+ }
72
+ }
73
+ } catch (err) {
74
+ _didIteratorError = true;
75
+ _iteratorError = err;
76
+ } finally {
77
+ try {
78
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
79
+ _iterator.return();
80
+ }
81
+ } finally {
82
+ if (_didIteratorError) {
83
+ throw _iteratorError;
84
+ }
85
+ }
86
+ }
87
+ };
88
+ walk(baseDir);
89
+ return hash(parts.join("\0"));
90
+ }
50
91
  var generateCache = {};
51
92
  var generateCachePath = "";
52
93
  function getCacheDir() {
@@ -757,6 +798,21 @@ async function generate(options) {
757
798
  });
758
799
  }
759
800
  loadCache();
801
+ var inputHash = hashInputTree(baseDir, generatedDir);
802
+ if (generateCache.__inputHash === inputHash && (0, import_fs.existsSync)((0, import_path.resolve)(generatedDir, "models.ts"))) {
803
+ var counts = {};
804
+ try {
805
+ counts = JSON.parse(generateCache.__counts || "{}");
806
+ } catch (e) {}
807
+ var _counts_modelCount, _counts_schemaCount, _counts_queryCount, _counts_mutationCount;
808
+ return {
809
+ filesChanged: 0,
810
+ modelCount: (_counts_modelCount = counts.modelCount) !== null && _counts_modelCount !== void 0 ? _counts_modelCount : 0,
811
+ schemaCount: (_counts_schemaCount = counts.schemaCount) !== null && _counts_schemaCount !== void 0 ? _counts_schemaCount : 0,
812
+ queryCount: (_counts_queryCount = counts.queryCount) !== null && _counts_queryCount !== void 0 ? _counts_queryCount : 0,
813
+ mutationCount: (_counts_mutationCount = counts.mutationCount) !== null && _counts_mutationCount !== void 0 ? _counts_mutationCount : 0
814
+ };
815
+ }
760
816
  var allModelFiles = (0, import_fs.readdirSync)(modelsDir).filter(function (f) {
761
817
  return f.endsWith(".ts");
762
818
  }).sort();
@@ -1063,6 +1119,13 @@ async function generate(options) {
1063
1119
  if (!silent) console.error(`Error running after command: ${err}`);
1064
1120
  }
1065
1121
  }
1122
+ generateCache.__inputHash = inputHash;
1123
+ generateCache.__counts = JSON.stringify({
1124
+ modelCount: allModelFiles.length,
1125
+ schemaCount: filesWithSchema.length,
1126
+ queryCount,
1127
+ mutationCount
1128
+ });
1066
1129
  saveCache();
1067
1130
  return {
1068
1131
  filesChanged,
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","generate_exports","generate","generateDrizzleSchemaFile","watch","module","exports","import_crypto","require","import_fs","import_path","import_generate_helpers","hash","s","createHash","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","resolve","existsSync","cacheDir","mkdirSync","recursive","loadCache","JSON","parse","readFileSync","e","saveCache","writeFileSync","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","ScriptTarget","Latest","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","dirname","options","fileMap","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","f","set","path","err","return","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","basename","hasCRUD","columns","primaryKeys","custom","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","push","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","parseColumnType","seen","Set","flags","getFlags","TypeFlags","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","join","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","entries","name1","getName","shouldSkipObjectKey","propType","isOptional","SymbolFlags","Optional","val","startsWith","formatObjectKey","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","expr","serverName","optional","schema","lines","tableNames","keys","tables","sort","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","tableName1","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","hop2","fn2","sf2","df2","tableList","n","relList","after","baseDir","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","generatedDir","queriesDir","allModelFiles","readdirSync","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","filesChanged","queryCount","mutationCount","parseTypeString","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop","file2","filePath2","fileBaseName2","content2","sourceFile2","exportModifier","find","declaration","_param_type","resolverSourceFile","console","error","groupedChanged","generateGroupedQueriesFile","syncedChanged","generateSyncedQueriesFile","allModelMutations","mutationFiles","unresolvedModels","file","fileBaseName","baseName","hasUnresolved","collectTsFiles","dir2","results","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","withFileTypes","_step4","entry","fullPath","isDirectory","isFile","allFiles","modelResolver","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","size","result2","idx","findIndex","_iterator2","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop2","model","_step3","_iterator3","mutationsChanged","generateSyncedMutationsFile","info","execSync","stdio","env","ON_ZERO_GENERATED_DIR","modelCount","schemaCount","debounce","chokidar","debounceTimer","debouncedRegenerate","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on"],"sources":["generate.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar generate_exports = {};\n__export(generate_exports, {\n generate: () => generate,\n generateDrizzleSchemaFile: () => generateDrizzleSchemaFile,\n watch: () => watch\n});\nmodule.exports = __toCommonJS(generate_exports);\nvar import_crypto = require(\"crypto\");\nvar import_fs = require(\"fs\");\nvar import_path = require(\"path\");\nvar import_generate_helpers = require(\"./generate-helpers\");\nvar hash = function(s) {\n return (0, import_crypto.createHash)(\"sha256\").update(s).digest(\"hex\");\n};\nvar generateCache = {};\nvar generateCachePath = \"\";\nfunction getCacheDir() {\n var dir = process.cwd();\n while (dir !== \"/\") {\n var nm = (0, import_path.resolve)(dir, \"node_modules\");\n if ((0, import_fs.existsSync)(nm)) {\n var cacheDir = (0, import_path.resolve)(nm, \".on-zero\");\n if (!(0, import_fs.existsSync)(cacheDir)) {\n (0, import_fs.mkdirSync)(cacheDir, {\n recursive: true\n });\n }\n return cacheDir;\n }\n dir = (0, import_path.resolve)(dir, \"..\");\n }\n return null;\n}\nfunction loadCache() {\n var cacheDir = getCacheDir();\n if (!cacheDir) return;\n generateCachePath = (0, import_path.resolve)(cacheDir, \"generate-cache.json\");\n try {\n generateCache = JSON.parse((0, import_fs.readFileSync)(generateCachePath, \"utf-8\"));\n } catch (e) {\n generateCache = {};\n }\n}\nfunction saveCache() {\n if (generateCachePath) {\n (0, import_fs.writeFileSync)(generateCachePath, JSON.stringify(generateCache) + \"\\n\", \"utf-8\");\n }\n}\nfunction writeFileIfChanged(filePath, content) {\n var contentHash = hash(content);\n var cachedHash = generateCache[filePath];\n if (cachedHash === contentHash && (0, import_fs.existsSync)(filePath)) {\n return false;\n }\n (0, import_fs.writeFileSync)(filePath, content, \"utf-8\");\n generateCache[filePath] = contentHash;\n return true;\n}\nfunction createTypeResolver(ts, files, dir) {\n var configPath = ts.findConfigFile(dir, ts.sys.fileExists, \"tsconfig.json\");\n var compilerOptions = {\n target: ts.ScriptTarget.Latest,\n module: ts.ModuleKind.ESNext,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n strict: false,\n skipLibCheck: true,\n noEmit: true\n };\n if (configPath) {\n var configFile = ts.readConfigFile(configPath, ts.sys.readFile);\n if (configFile.config) {\n var parsed = ts.parseJsonConfigFileContent(configFile.config, ts.sys, (0, import_path.dirname)(configPath));\n compilerOptions = {\n ...compilerOptions,\n ...parsed.options\n };\n }\n }\n var fileMap = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var f = _step.value;\n fileMap.set(f.path, f.content);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var host = ts.createCompilerHost(compilerOptions);\n var originalGetSourceFile = host.getSourceFile.bind(host);\n host.getSourceFile = function(fileName, languageVersion, onError) {\n var content = fileMap.get(fileName);\n if (content !== void 0) {\n return ts.createSourceFile(fileName, content, languageVersion, true);\n }\n return originalGetSourceFile(fileName, languageVersion, onError);\n };\n host.fileExists = function(fileName) {\n return fileMap.has(fileName) || ts.sys.fileExists(fileName);\n };\n host.readFile = function(fileName) {\n var _fileMap_get;\n return (_fileMap_get = fileMap.get(fileName)) !== null && _fileMap_get !== void 0 ? _fileMap_get : ts.sys.readFile(fileName);\n };\n var program = ts.createProgram(files.map(function(f2) {\n return f2.path;\n }), compilerOptions, host);\n var checker = program.getTypeChecker();\n return {\n program,\n checker,\n // resolve a type annotation node to a ts.Type\n resolveType(node) {\n try {\n return checker.getTypeFromTypeNode(node);\n } catch (e) {\n return null;\n }\n },\n // convert a resolved type to valibot code\n typeToValibot(type) {\n return tsTypeToValibot(ts, checker, type);\n }\n };\n}\nfunction resolveParamType(ts, resolver, sourceFile, exportName, paramIndex) {\n var result = null;\n ts.forEachChild(sourceFile, function(node) {\n var _node_modifiers;\n if (result) return;\n if (!ts.isVariableStatement(node)) return;\n if (!((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.some(function(m) {\n return m.kind === ts.SyntaxKind.ExportKeyword;\n }))) return;\n var decl = node.declarationList.declarations[0];\n if (!decl || !ts.isVariableDeclaration(decl)) return;\n if (decl.name.getText(sourceFile) !== exportName) return;\n if (decl.initializer && ts.isArrowFunction(decl.initializer)) {\n var param = decl.initializer.parameters[paramIndex];\n if (param === null || param === void 0 ? void 0 : param.type) {\n result = resolver.resolveType(param.type);\n }\n }\n });\n return result;\n}\nfunction resolveMutationParamTypes(ts, resolver, sourceFile) {\n var resolved = /* @__PURE__ */ new Map();\n ts.forEachChild(sourceFile, function(node) {\n var _node_modifiers;\n if (!ts.isVariableStatement(node)) return;\n if (!((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.some(function(m) {\n return m.kind === ts.SyntaxKind.ExportKeyword;\n }))) return;\n var decl = node.declarationList.declarations[0];\n if (!decl || !ts.isVariableDeclaration(decl)) return;\n if (decl.name.getText(sourceFile) !== \"mutate\") return;\n if (!decl.initializer || !ts.isCallExpression(decl.initializer)) return;\n var args = decl.initializer.arguments;\n var handlersArg = null;\n for (var i = args.length - 1; i >= 0; i--) {\n if (ts.isObjectLiteralExpression(args[i])) {\n handlersArg = args[i];\n break;\n }\n }\n if (!handlersArg) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = handlersArg.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var prop = _step.value;\n var _prop_name;\n if (!ts.isPropertyAssignment(prop) && !ts.isMethodDeclaration(prop)) continue;\n var name = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);\n if (!name) continue;\n var params = null;\n if (ts.isPropertyAssignment(prop)) {\n var init = prop.initializer;\n if (ts.isArrowFunction(init) || ts.isFunctionExpression(init)) {\n params = init.parameters;\n }\n } else if (ts.isMethodDeclaration(prop)) {\n params = prop.parameters;\n }\n if (!params || params.length < 2) continue;\n var typeNode = params[1].type;\n if (!typeNode) continue;\n var expanded = resolver.resolveType(typeNode);\n if (expanded) {\n resolved.set(name, expanded);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n return resolved;\n}\nfunction extractMutationsFromModel(ts, sourceFile, content, fileName, silent, typeToValibot, resolvedTypes, resolvedTypeToValibot) {\n var mutateNode = null;\n ts.forEachChild(sourceFile, function(node) {\n var _node_modifiers;\n if (!ts.isVariableStatement(node)) return;\n if (!((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.some(function(m) {\n return m.kind === ts.SyntaxKind.ExportKeyword;\n }))) return;\n var decl = node.declarationList.declarations[0];\n if (!decl || !ts.isVariableDeclaration(decl)) return;\n if (decl.name.getText(sourceFile) !== \"mutate\") return;\n if (decl.initializer && ts.isCallExpression(decl.initializer)) {\n mutateNode = decl.initializer;\n }\n });\n if (!mutateNode) {\n return {\n modelName: (0, import_path.basename)(fileName, \".ts\"),\n hasCRUD: false,\n columns: {},\n primaryKeys: [],\n custom: []\n };\n }\n var call = mutateNode;\n var args = call.arguments;\n var firstArg = args[0];\n var hasNamedModel = Boolean(firstArg && ts.isStringLiteralLike(firstArg));\n var hasCRUD = args.length >= 2 && !hasNamedModel;\n var handlersArg = null;\n if (args.length === 1 && ts.isObjectLiteralExpression(args[0])) {\n handlersArg = args[0];\n } else if (hasNamedModel) {\n if (args.length >= 3 && ts.isObjectLiteralExpression(args[2])) {\n handlersArg = args[2];\n } else if (args.length >= 2 && ts.isObjectLiteralExpression(args[1])) {\n handlersArg = args[1];\n }\n } else if (args.length === 3 && ts.isObjectLiteralExpression(args[2])) {\n handlersArg = args[2];\n }\n var columns = {};\n var primaryKeys = [];\n if (hasCRUD) {\n extractSchemaColumns(ts, sourceFile, columns, primaryKeys);\n }\n var custom = [];\n if (handlersArg) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = handlersArg.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var prop = _step.value;\n var _prop_name, _secondParam_type;\n if (!ts.isPropertyAssignment(prop) && !ts.isMethodDeclaration(prop)) continue;\n var name = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);\n if (!name) continue;\n var params = null;\n if (ts.isPropertyAssignment(prop)) {\n var init = prop.initializer;\n if (ts.isArrowFunction(init) || ts.isFunctionExpression(init)) {\n params = init.parameters;\n }\n } else if (ts.isMethodDeclaration(prop)) {\n params = prop.parameters;\n }\n if (!params) continue;\n if (params.length < 2) {\n custom.push({\n name,\n paramType: \"void\",\n valibotCode: \"\"\n });\n continue;\n }\n var secondParam = params[1];\n var paramType = ((_secondParam_type = secondParam.type) === null || _secondParam_type === void 0 ? void 0 : _secondParam_type.getText(sourceFile)) || \"unknown\";\n if (paramType === \"unknown\") {\n custom.push({\n name,\n paramType: \"unknown\",\n valibotCode: \"\"\n });\n continue;\n }\n var valibotCode = typeToValibot(paramType);\n if (!valibotCode && resolvedTypes && resolvedTypeToValibot) {\n var resolvedType = resolvedTypes.get(name);\n if (resolvedType) {\n valibotCode = resolvedTypeToValibot(resolvedType);\n }\n }\n custom.push({\n name,\n paramType,\n valibotCode: valibotCode || \"\"\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n return {\n modelName: \"\",\n hasCRUD,\n columns,\n primaryKeys,\n custom\n };\n}\nfunction extractSchemaColumns(ts, sourceFile, columns, primaryKeys) {\n function visit(node) {\n if (ts.isCallExpression(node)) {\n var text = node.expression.getText(sourceFile);\n if (text.endsWith(\".primaryKey\")) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = node.arguments[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var arg = _step.value;\n if (ts.isStringLiteral(arg)) {\n primaryKeys.push(arg.text);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (text.endsWith(\".columns\") && node.arguments.length === 1) {\n var obj = node.arguments[0];\n if (ts.isObjectLiteralExpression(obj)) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = obj.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var prop = _step1.value;\n var _prop_name;\n if (!ts.isPropertyAssignment(prop)) continue;\n var colName = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);\n if (!colName) continue;\n var initText = prop.initializer.getText(sourceFile);\n var colType = (0, import_generate_helpers.parseColumnType)(initText);\n columns[colName] = colType;\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n }\n ts.forEachChild(node, visit);\n }\n visit(sourceFile);\n}\nfunction tsTypeToValibot(ts, checker, type, seen) {\n if (!seen) seen = /* @__PURE__ */ new Set();\n var flags = type.getFlags();\n if (flags & (ts.TypeFlags.Object | ts.TypeFlags.Intersection)) {\n if (seen.has(type)) return \"v.unknown()\";\n seen.add(type);\n }\n var recurse = function(t) {\n return tsTypeToValibot(ts, checker, t, seen);\n };\n if (flags & ts.TypeFlags.String) return \"v.string()\";\n if (flags & ts.TypeFlags.Number) return \"v.number()\";\n if (flags & ts.TypeFlags.Boolean) return \"v.boolean()\";\n if (flags & ts.TypeFlags.Void || flags & ts.TypeFlags.Undefined) return \"v.void_()\";\n if (flags & ts.TypeFlags.Null) return \"v.null_()\";\n if (flags & ts.TypeFlags.Any || flags & ts.TypeFlags.Unknown) return \"v.unknown()\";\n if (flags & ts.TypeFlags.Never) return \"v.never()\";\n if (flags & ts.TypeFlags.StringLiteral) {\n return `v.literal(${JSON.stringify(type.value)})`;\n }\n if (flags & ts.TypeFlags.NumberLiteral) {\n return `v.literal(${type.value})`;\n }\n if (flags & ts.TypeFlags.BooleanLiteral) {\n var name = type.intrinsicName;\n return `v.literal(${name === \"true\"})`;\n }\n if (type.isUnion()) {\n var members = type.types;\n var hasNull = members.some(function(t) {\n return t.getFlags() & ts.TypeFlags.Null;\n });\n var hasUndefined = members.some(function(t) {\n return t.getFlags() & (ts.TypeFlags.Undefined | ts.TypeFlags.Void);\n });\n var rest = members.filter(function(t) {\n return !(t.getFlags() & (ts.TypeFlags.Null | ts.TypeFlags.Undefined | ts.TypeFlags.Void));\n });\n if (rest.length === 2 && rest.every(function(t) {\n return t.getFlags() & ts.TypeFlags.BooleanLiteral;\n })) {\n var inner = \"v.boolean()\";\n if (hasNull) inner = `v.nullable(${inner})`;\n if (hasUndefined) inner = `v.optional(${inner})`;\n return inner;\n }\n if (rest.length === 0) return \"v.unknown()\";\n var inner1 = rest.length === 1 ? recurse(rest[0]) : `v.union([${rest.map(function(t) {\n return recurse(t);\n }).join(\", \")}])`;\n if (hasNull) inner1 = `v.nullable(${inner1})`;\n if (hasUndefined) inner1 = `v.optional(${inner1})`;\n return inner1;\n }\n var resolveSymbolType = function(prop2) {\n var _prop_declarations;\n if (prop2.valueDeclaration) return checker.getTypeOfSymbolAtLocation(prop2, prop2.valueDeclaration);\n if ((_prop_declarations = prop2.declarations) === null || _prop_declarations === void 0 ? void 0 : _prop_declarations[0]) return checker.getTypeOfSymbolAtLocation(prop2, prop2.declarations[0]);\n return checker.getDeclaredTypeOfSymbol(prop2);\n };\n if (type.isIntersection()) {\n var props = type.getProperties();\n if (props.length === 0) return \"v.object({})\";\n var entries = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = props[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var prop = _step.value;\n var name1 = prop.getName();\n if ((0, import_generate_helpers.shouldSkipObjectKey)(name1)) continue;\n var propType = resolveSymbolType(prop);\n var isOptional = !!(prop.getFlags() & ts.SymbolFlags.Optional);\n var val = recurse(propType);\n if (isOptional && !val.startsWith(\"v.optional(\")) {\n val = `v.optional(${val})`;\n }\n entries.push(`${(0, import_generate_helpers.formatObjectKey)(name1)}: ${val}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (entries.length === 0) return \"v.object({})\";\n return `v.object({\n ${entries.join(\",\\n \")},\n })`;\n }\n var props1 = type.getProperties();\n if (props1.length > 0 && (type.getFlags() & ts.TypeFlags.Object || type.objectFlags)) {\n var _type_objectFlags;\n var objectFlags = (_type_objectFlags = type.objectFlags) !== null && _type_objectFlags !== void 0 ? _type_objectFlags : 0;\n if (objectFlags & ts.ObjectFlags.Reference) {\n var _typeRef_typeArguments;\n var typeRef = type;\n var symbol = type.getSymbol();\n var name2 = symbol === null || symbol === void 0 ? void 0 : symbol.getName();\n if ((name2 === \"Array\" || name2 === \"ReadonlyArray\") && ((_typeRef_typeArguments = typeRef.typeArguments) === null || _typeRef_typeArguments === void 0 ? void 0 : _typeRef_typeArguments.length) === 1) {\n return `v.array(${recurse(typeRef.typeArguments[0])})`;\n }\n }\n if (objectFlags & ts.ObjectFlags.Tuple) {\n var typeRef1 = type;\n var typeArgs = typeRef1.typeArguments || [];\n return `v.tuple([${typeArgs.map(function(t) {\n return recurse(t);\n }).join(\", \")}])`;\n }\n var entries1 = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = props1[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var prop1 = _step1.value;\n var name3 = prop1.getName();\n if ((0, import_generate_helpers.shouldSkipObjectKey)(name3)) continue;\n var propType1 = resolveSymbolType(prop1);\n var isOptional1 = !!(prop1.getFlags() & ts.SymbolFlags.Optional);\n var val1 = recurse(propType1);\n if (isOptional1 && !val1.startsWith(\"v.optional(\")) {\n val1 = `v.optional(${val1})`;\n }\n entries1.push(`${(0, import_generate_helpers.formatObjectKey)(name3)}: ${val1}`);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (entries1.length === 0) return \"v.object({})\";\n return `v.object({\n ${entries1.join(\",\\n \")},\n })`;\n }\n var stringIndex = type.getStringIndexType();\n if (stringIndex) {\n return `v.record(v.string(), ${recurse(stringIndex)})`;\n }\n var numberIndex = type.getNumberIndexType();\n if (numberIndex) {\n return `v.record(v.number(), ${recurse(numberIndex)})`;\n }\n return \"v.unknown()\";\n}\nfunction serializeColumnBuilder(col) {\n var zeroType = col.type === \"string\" ? \"string\" : col.type === \"number\" ? \"number\" : col.type === \"boolean\" ? \"boolean\" : \"json\";\n var expr = `${zeroType}()`;\n if (col.serverName) {\n expr += `.from('${col.serverName}')`;\n }\n if (col.optional) {\n expr += \".optional()\";\n }\n return expr;\n}\nfunction generateDrizzleSchemaFile(schema) {\n var lines = [\n `// auto-generated by: on-zero generate (from drizzle schema)`,\n `import { boolean, createSchema, json, number, relationships, string, table } from '@rocicorp/zero'`,\n ``\n ];\n var tableNames = Object.keys(schema.tables).sort();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = tableNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var tableName = _step.value;\n var t = schema.tables[tableName];\n var colEntries = Object.entries(t.columns).map(function(param) {\n var [colName, col] = param;\n return ` ${colName}: ${serializeColumnBuilder(col)},`;\n }).join(\"\\n\");\n var pkArgs = t.primaryKey.map(function(k) {\n return `'${k}'`;\n }).join(\", \");\n lines.push(`const ${tableName}Table = table('${t.name}')`);\n lines.push(` .columns({`);\n lines.push(colEntries);\n lines.push(` })`);\n lines.push(` .primaryKey(${pkArgs})`);\n lines.push(``);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var relTableNames = Object.keys(schema.relationships).sort();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = relTableNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var tableName1 = _step1.value;\n var rels = schema.relationships[tableName1];\n var relEntries = Object.entries(rels);\n if (relEntries.length === 0) continue;\n var relBody = relEntries.map(function(param) {\n var [relName, hops] = param;\n if (hops.length === 1) {\n var hop = hops[0];\n var fn = hop.cardinality === \"one\" ? \"one\" : \"many\";\n var sf = hop.sourceField.map(function(f) {\n return `'${f}'`;\n }).join(\", \");\n var df = hop.destField.map(function(f) {\n return `'${f}'`;\n }).join(\", \");\n return ` ${relName}: ${fn}({\n sourceField: [${sf}],\n destSchema: ${hop.destSchema}Table,\n destField: [${df}],\n })`;\n }\n var hopCode = hops.map(function(hop2) {\n var fn2 = hop2.cardinality === \"one\" ? \"one\" : \"many\";\n var sf2 = hop2.sourceField.map(function(f) {\n return `'${f}'`;\n }).join(\", \");\n var df2 = hop2.destField.map(function(f) {\n return `'${f}'`;\n }).join(\", \");\n return `${fn2}({ sourceField: [${sf2}], destSchema: ${hop2.destSchema}Table, destField: [${df2}] })`;\n }).join(\", \");\n return ` ${relName}: [${hopCode}]`;\n }).join(\",\\n\");\n lines.push(`const ${tableName1}Relationships = relationships(${tableName1}Table, ({ one, many }) => ({`);\n lines.push(relBody);\n lines.push(`}))`);\n lines.push(``);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var tableList = tableNames.map(function(n) {\n return ` ${n}Table,`;\n }).join(\"\\n\");\n var relList = relTableNames.filter(function(n) {\n return Object.keys(schema.relationships[n]).length > 0;\n }).map(function(n) {\n return ` ${n}Relationships,`;\n }).join(\"\\n\");\n lines.push(`export const schema = createSchema({`);\n lines.push(` tables: [`);\n lines.push(tableList);\n lines.push(` ],`);\n lines.push(` relationships: [`);\n lines.push(relList);\n lines.push(` ],`);\n lines.push(`})`);\n lines.push(``);\n return lines.join(\"\\n\");\n}\nasync function generate(options) {\n var { dir, after, silent } = options;\n var baseDir = (0, import_path.resolve)(dir);\n var mutationsDir = (0, import_path.resolve)(baseDir, \"mutations\");\n var usesMutationsDir = (0, import_fs.existsSync)(mutationsDir);\n var modelsDir = usesMutationsDir ? mutationsDir : (0, import_path.resolve)(baseDir, \"models\");\n var modelsDirName = usesMutationsDir ? \"mutations\" : \"models\";\n var generatedDir = (0, import_path.resolve)(baseDir, \"generated\");\n var queriesDir = (0, import_path.resolve)(baseDir, \"queries\");\n if (!(0, import_fs.existsSync)(generatedDir)) {\n (0, import_fs.mkdirSync)(generatedDir, {\n recursive: true\n });\n }\n loadCache();\n var allModelFiles = (0, import_fs.readdirSync)(modelsDir).filter(function(f) {\n return f.endsWith(\".ts\");\n }).sort();\n var filesWithSchema = allModelFiles.filter(function(f) {\n return (0, import_fs.readFileSync)((0, import_path.resolve)(modelsDir, f), \"utf-8\").includes(\"export const schema = table(\");\n });\n var allModelNames = allModelFiles.map(function(f) {\n return (0, import_path.basename)(f, \".ts\");\n });\n var schemaModelNames = filesWithSchema.map(function(f) {\n return (0, import_path.basename)(f, \".ts\");\n });\n var writeResults = [\n writeFileIfChanged((0, import_path.resolve)(generatedDir, \"models.ts\"), (0, import_generate_helpers.generateModelsFile)(allModelNames, modelsDirName)),\n // only generate types.ts and tables.ts when model files define schemas.\n // when using drizzle-zero CLI for schema generation, these files are\n // managed externally and should not be overwritten.\n ...filesWithSchema.length > 0 ? [\n writeFileIfChanged((0, import_path.resolve)(generatedDir, \"types.ts\"), (0, import_generate_helpers.generateTypesFile)(schemaModelNames)),\n writeFileIfChanged((0, import_path.resolve)(generatedDir, \"tables.ts\"), (0, import_generate_helpers.generateTablesFile)(schemaModelNames, modelsDirName))\n ] : [],\n writeFileIfChanged((0, import_path.resolve)(generatedDir, \"README.md\"), (0, import_generate_helpers.generateReadmeFile)())\n ];\n var filesChanged = writeResults.filter(Boolean).length;\n var queryCount = 0;\n var mutationCount = 0;\n var ts = await import(\"typescript\");\n var typeToValibot = function(paramType) {\n try {\n return (0, import_generate_helpers.parseTypeString)(paramType.trim());\n } catch (e) {\n return null;\n }\n };\n if ((0, import_fs.existsSync)(queriesDir)) {\n var queryFiles = (0, import_fs.readdirSync)(queriesDir).filter(function(f) {\n return f.endsWith(\".ts\");\n });\n var allQueries = [];\n var queryResolver = null;\n var getQueryResolver = function() {\n if (!queryResolver) {\n var allFiles2 = (0, import_fs.readdirSync)(queriesDir).filter(function(f) {\n return f.endsWith(\".ts\");\n }).map(function(f) {\n return {\n path: (0, import_path.resolve)(queriesDir, f),\n content: (0, import_fs.readFileSync)((0, import_path.resolve)(queriesDir, f), \"utf-8\")\n };\n });\n queryResolver = createTypeResolver(ts, allFiles2, queriesDir);\n }\n return queryResolver;\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var file2 = _step.value;\n var filePath2 = (0, import_path.resolve)(queriesDir, file2);\n var fileBaseName2 = (0, import_path.basename)(file2, \".ts\");\n try {\n var content2 = (0, import_fs.readFileSync)(filePath2, \"utf-8\");\n var sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, true);\n ts.forEachChild(sourceFile2, function(node) {\n if (ts.isVariableStatement(node)) {\n var _node_modifiers;\n var exportModifier = (_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.find(function(m) {\n return m.kind === ts.SyntaxKind.ExportKeyword;\n });\n if (!exportModifier) return;\n var declaration = node.declarationList.declarations[0];\n if (!declaration || !ts.isVariableDeclaration(declaration)) return;\n var name = declaration.name.getText(sourceFile2);\n if (name === \"permission\") return;\n if (declaration.initializer && ts.isArrowFunction(declaration.initializer)) {\n var params = declaration.initializer.parameters;\n var paramType = \"void\";\n if (params.length > 0) {\n var _param_type;\n var param = params[0];\n paramType = ((_param_type = param.type) === null || _param_type === void 0 ? void 0 : _param_type.getText(sourceFile2)) || \"unknown\";\n }\n var valibotCode = typeToValibot(paramType);\n if (!valibotCode && params.length > 0 && params[0].type) {\n var resolver = getQueryResolver();\n var resolverSourceFile = resolver.program.getSourceFile(filePath2);\n if (resolverSourceFile) {\n var resolvedType = resolveParamType(ts, resolver, resolverSourceFile, name, 0);\n if (resolvedType) {\n valibotCode = resolver.typeToValibot(resolvedType);\n }\n }\n }\n if (valibotCode) {\n allQueries.push({\n name,\n params: paramType,\n valibotCode,\n sourceFile: fileBaseName2\n });\n } else if (!silent && paramType !== \"void\") {\n console.error(`\\u2717 ${name}: could not resolve type \"${paramType}\"`);\n }\n }\n }\n });\n } catch (err) {\n if (!silent) console.error(`Error processing ${file2}:`, err);\n }\n };\n for (var _iterator = queryFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n queryCount = allQueries.length;\n var groupedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, \"groupedQueries.ts\"), (0, import_generate_helpers.generateGroupedQueriesFile)(allQueries));\n var syncedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, \"syncedQueries.ts\"), (0, import_generate_helpers.generateSyncedQueriesFile)(allQueries));\n if (groupedChanged) filesChanged++;\n if (syncedChanged) filesChanged++;\n }\n var allModelMutations = [];\n var mutationFiles = [];\n var unresolvedModels = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = allModelFiles[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var file = _step1.value;\n var filePath = (0, import_path.resolve)(modelsDir, file);\n var fileBaseName = (0, import_path.basename)(file, \".ts\");\n try {\n var content = (0, import_fs.readFileSync)(filePath, \"utf-8\");\n mutationFiles.push({\n path: filePath,\n content,\n baseName: fileBaseName\n });\n var sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);\n var result = extractMutationsFromModel(ts, sourceFile, content, filePath, !!silent, typeToValibot);\n if (result) {\n result.modelName = fileBaseName;\n allModelMutations.push(result);\n var hasUnresolved = result.custom.some(function(m) {\n return m.paramType !== \"void\" && m.paramType !== \"unknown\" && !m.valibotCode;\n });\n if (hasUnresolved) {\n unresolvedModels.push({\n baseName: fileBaseName,\n filePath\n });\n }\n }\n } catch (err) {\n if (!silent) console.error(`Error extracting mutations from ${file}:`, err);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (unresolvedModels.length > 0) {\n var collectTsFiles = function(dir2) {\n var results = [];\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = (0, import_fs.readdirSync)(dir2, {\n withFileTypes: true\n })[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var entry = _step4.value;\n var fullPath = (0, import_path.resolve)(dir2, entry.name);\n if (entry.isDirectory() && entry.name !== \"node_modules\") {\n results.push(...collectTsFiles(fullPath));\n } else if (entry.isFile() && entry.name.endsWith(\".ts\") && !entry.name.endsWith(\".d.ts\")) {\n results.push({\n path: fullPath,\n content: (0, import_fs.readFileSync)(fullPath, \"utf-8\")\n });\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n return results;\n };\n var allFiles = collectTsFiles(baseDir);\n var modelResolver = createTypeResolver(ts, allFiles, baseDir);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n var _loop1 = function() {\n var { baseName, filePath: filePath2 } = _step2.value;\n var resolverSourceFile = modelResolver.program.getSourceFile(filePath2);\n if (!resolverSourceFile) return \"continue\";\n var resolvedTypes = resolveMutationParamTypes(ts, modelResolver, resolverSourceFile);\n if (resolvedTypes.size === 0) return \"continue\";\n var content2 = (0, import_fs.readFileSync)(filePath2, \"utf-8\");\n var sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, true);\n var result2 = extractMutationsFromModel(ts, sourceFile2, content2, filePath2, !!silent, typeToValibot, resolvedTypes, modelResolver.typeToValibot);\n if (result2) {\n result2.modelName = baseName;\n var idx = allModelMutations.findIndex(function(m) {\n return m.modelName === baseName;\n });\n if (idx >= 0) allModelMutations[idx] = result2;\n }\n };\n for (var _iterator2 = unresolvedModels[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop1();\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n var _loop2 = function() {\n var model = _step3.value;\n if (model.hasCRUD) mutationCount += 3;\n mutationCount += model.custom.filter(function(m) {\n return !model.hasCRUD || ![\n \"insert\",\n \"update\",\n \"delete\",\n \"upsert\"\n ].includes(m.name);\n }).length;\n };\n for (var _iterator3 = allModelMutations[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) _loop2();\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (allModelMutations.length > 0) {\n var mutationsChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, \"syncedMutations.ts\"), (0, import_generate_helpers.generateSyncedMutationsFile)(allModelMutations));\n if (mutationsChanged) filesChanged++;\n }\n if (filesChanged > 0 && !silent) {\n console.info(`\\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)${queryCount ? `, ${queryCount} queries` : \"\"}${mutationCount ? `, ${mutationCount} mutations` : \"\"}`);\n }\n if (filesChanged > 0 && after) {\n var { execSync } = await import(\"child_process\");\n try {\n execSync(after, {\n stdio: \"inherit\",\n env: {\n ...process.env,\n ON_ZERO_GENERATED_DIR: generatedDir\n }\n });\n } catch (err) {\n if (!silent) console.error(`Error running after command: ${err}`);\n }\n }\n saveCache();\n return {\n filesChanged,\n modelCount: allModelFiles.length,\n schemaCount: filesWithSchema.length,\n queryCount,\n mutationCount\n };\n}\nasync function watch(options) {\n var { dir, debounce = 1e3 } = options;\n var baseDir = (0, import_path.resolve)(dir);\n var mutationsDir = (0, import_path.resolve)(baseDir, \"mutations\");\n var modelsDir = (0, import_fs.existsSync)(mutationsDir) ? mutationsDir : (0, import_path.resolve)(baseDir, \"models\");\n var queriesDir = (0, import_path.resolve)(baseDir, \"queries\");\n var generatedDir = (0, import_path.resolve)(baseDir, \"generated\");\n await generate({\n ...options,\n silent: true\n });\n console.info(\"\\u{1F440} watching...\\n\");\n var chokidar = await import(\"chokidar\");\n var debounceTimer = null;\n var debouncedRegenerate = function(path, event) {\n if (debounceTimer) clearTimeout(debounceTimer);\n console.info(`\n${event} ${path}`);\n debounceTimer = setTimeout(function() {\n generate({\n ...options,\n silent: false\n });\n }, debounce);\n };\n var watcher = chokidar.watch([\n modelsDir,\n queriesDir\n ], {\n persistent: true,\n ignoreInitial: true,\n ignored: [\n generatedDir\n ]\n });\n watcher.on(\"change\", function(path) {\n return debouncedRegenerate(path, \"\\u{1F4DD}\");\n });\n watcher.on(\"add\", function(path) {\n return debouncedRegenerate(path, \"\\u2795\");\n });\n watcher.on(\"unlink\", function(path) {\n return debouncedRegenerate(path, \"\\u{1F5D1}\\uFE0F \");\n });\n return watcher;\n}\n//# sourceMappingURL=generate.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_exports","__export","generate","generateDrizzleSchemaFile","watch","module","exports","import_crypto","require","import_fs","import_path","import_generate_helpers","hash","s","createHash","update","digest","hashInputTree","baseDir","generatedDir","parts","walk","dir","existsSync","entries","readdirSync","withFileTypes","sort","a","b","name","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","entry","full","resolve","isDirectory","isFile","endsWith","push","readFileSync","err","return","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","mkdirSync","recursive","loadCache","JSON","parse","e","saveCache","writeFileSync","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","dirname","options","fileMap","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","basename","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","parseColumnType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","name1","getName","shouldSkipObjectKey","propType","isOptional","SymbolFlags","Optional","val","startsWith","formatObjectKey","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","expr","serverName","optional","schema","lines","tableNames","keys","tables","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","tableName1","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","hop2","fn2","sf2","df2","tableList","n","relList","after","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__inputHash","counts","__counts","_counts_modelCount","_counts_schemaCount","_counts_queryCount","_counts_mutationCount","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","parseTypeString","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["import_fs","require","import_os","import_path","import_vitest","import_generate","testDir","join","tmpdir","Date","now","beforeEach","mkdirSync","recursive","afterEach","rmSync","force","describe","test","writeFileSync","result","generate","dir","silent","expect","modelCount","toBe","schemaCount","filesChanged","toBeGreaterThan","existsSync","modelsContent","readFileSync","toContain","typesContent","tablesContent","queryCount","groupedContent","syncedContent","not","markerFile","after","first","second","mutationCount","content","toMatch"],"sources":["generate.test.native.js"],"sourcesContent":["\"use strict\";\nvar import_fs = require(\"fs\");\nvar import_os = require(\"os\");\nvar import_path = require(\"path\");\nvar import_vitest = require(\"vitest\");\nvar import_generate = require(\"./generate\");\nvar testDir = (0, import_path.join)((0, import_os.tmpdir)(), \"on-zero-test-\" + Date.now());\n(0, import_vitest.beforeEach)(function() {\n (0, import_fs.mkdirSync)((0, import_path.join)(testDir, \"models\"), {\n recursive: true\n });\n (0, import_fs.mkdirSync)((0, import_path.join)(testDir, \"queries\"), {\n recursive: true\n });\n});\n(0, import_vitest.afterEach)(function() {\n (0, import_fs.rmSync)(testDir, {\n recursive: true,\n force: true\n });\n});\n(0, import_vitest.describe)(\"generate\", function() {\n (0, import_vitest.test)(\"generates models.ts, types.ts, tables.ts from model files\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `\nimport { table, string, boolean } from 'on-zero'\n\nexport const schema = table('post', {\n id: string(),\n title: string(),\n published: boolean(),\n})\n`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/comment.ts\"), `\nimport { table, string } from 'on-zero'\n\nexport const schema = table('comment', {\n id: string(),\n postId: string(),\n body: string(),\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(result.modelCount).toBe(2);\n (0, import_vitest.expect)(result.schemaCount).toBe(2);\n (0, import_vitest.expect)(result.filesChanged).toBeGreaterThan(0);\n (0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, \"generated/models.ts\"))).toBe(true);\n (0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, \"generated/types.ts\"))).toBe(true);\n (0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, \"generated/tables.ts\"))).toBe(true);\n var modelsContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/models.ts\"), \"utf-8\");\n (0, import_vitest.expect)(modelsContent).toContain(\"import * as comment from '../models/comment'\");\n (0, import_vitest.expect)(modelsContent).toContain(\"import * as post from '../models/post'\");\n (0, import_vitest.expect)(modelsContent).toContain(\"export const models = {\");\n var typesContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/types.ts\"), \"utf-8\");\n (0, import_vitest.expect)(typesContent).toContain(\"export type Post = TableInsertRow<typeof schema.post>\");\n (0, import_vitest.expect)(typesContent).toContain(\"export type Comment = TableInsertRow<typeof schema.comment>\");\n var tablesContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/tables.ts\"), \"utf-8\");\n (0, import_vitest.expect)(tablesContent).toContain(\"export { schema as post } from '../models/post'\");\n (0, import_vitest.expect)(tablesContent).toContain(\"export { schema as comment } from '../models/comment'\");\n });\n (0, import_vitest.test)(\"generates query validators from query files\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `export const schema = table('post', { id: string() })`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"queries/post.ts\"), `\nimport { zero } from '../zero'\n\nexport const allPosts = () => zero.query.post\n\nexport const postById = ({ id }: { id: string }) => zero.query.post.where('id', id)\n\nexport const postsByAuthor = ({ authorId, limit }: { authorId: string; limit?: number }) =>\n zero.query.post.where('authorId', authorId).limit(limit ?? 10)\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(result.queryCount).toBe(3);\n (0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, \"generated/groupedQueries.ts\"))).toBe(true);\n (0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, \"generated/syncedQueries.ts\"))).toBe(true);\n var groupedContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/groupedQueries.ts\"), \"utf-8\");\n (0, import_vitest.expect)(groupedContent).toContain(\"export * as post from '../queries/post'\");\n var syncedContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedQueries.ts\"), \"utf-8\");\n (0, import_vitest.expect)(syncedContent).toContain(\"allPosts: defineQuery\");\n (0, import_vitest.expect)(syncedContent).toContain(\"postById: defineQuery\");\n (0, import_vitest.expect)(syncedContent).toContain(\"postsByAuthor: defineQuery\");\n (0, import_vitest.expect)(syncedContent).toContain(\"v.object\");\n });\n (0, import_vitest.test)(\"skips permission exports in queries\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `export const schema = table('post', { id: string() })`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"queries/post.ts\"), `\nexport const permission = () => ({ canRead: true })\nexport const allPosts = () => zero.query.post\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(result.queryCount).toBe(1);\n var syncedContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedQueries.ts\"), \"utf-8\");\n (0, import_vitest.expect)(syncedContent).toContain(\"allPosts\");\n (0, import_vitest.expect)(syncedContent).not.toContain(\"permission:\");\n });\n (0, import_vitest.test)(\"aliases user import without changing the model key\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/user.ts\"), `export const schema = table('user', { id: string(), name: string() })`);\n await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var modelsContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/models.ts\"), \"utf-8\");\n (0, import_vitest.expect)(modelsContent).toContain(\"import * as userPublic from '../models/user'\");\n (0, import_vitest.expect)(modelsContent).toContain(\"user: userPublic,\");\n (0, import_vitest.expect)(modelsContent).not.toContain(\"\\n userPublic,\");\n var typesContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/types.ts\"), \"utf-8\");\n (0, import_vitest.expect)(typesContent).toContain(\"typeof schema.userPublic\");\n });\n (0, import_vitest.test)(\"runs after command when files change\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `export const schema = table('post', { id: string() })`);\n var markerFile = (0, import_path.join)(testDir, \"after-ran\");\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true,\n after: `touch ${markerFile}`\n });\n (0, import_vitest.expect)(result.filesChanged).toBeGreaterThan(0);\n (0, import_vitest.expect)((0, import_fs.existsSync)(markerFile)).toBe(true);\n });\n (0, import_vitest.test)(\"does not regenerate when nothing changed\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `export const schema = table('post', { id: string() })`);\n var first = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(first.filesChanged).toBeGreaterThan(0);\n var second = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(second.filesChanged).toBe(0);\n });\n});\n(0, import_vitest.describe)(\"mutations\", function() {\n (0, import_vitest.test)(\"generates validators for inline mutation param types\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `\nimport { table, string } from 'on-zero'\nimport { mutations, serverWhere } from 'on-zero'\n\nexport const schema = table('post').columns({\n id: string(),\n title: string(),\n}).primaryKey('id')\n\nconst perm = serverWhere('post', () => true)\n\nexport const mutate = mutations(schema, perm, {\n archive: async ({ tx }, { id, reason }: { id: string; reason: string }) => {\n await tx.mutate.post.update({ id, archived: true })\n },\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(result.mutationCount).toBeGreaterThan(0);\n (0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"))).toBe(true);\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"archive\");\n (0, import_vitest.expect)(content).toContain(\"v.object\");\n (0, import_vitest.expect)(content).toContain(\"v.string()\");\n });\n (0, import_vitest.test)(\"generates CRUD validators from schema columns\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/task.ts\"), `\nimport { table, string, number, boolean } from 'on-zero'\nimport { mutations, serverWhere } from 'on-zero'\n\nexport const schema = table('task').columns({\n id: string(),\n title: string(),\n priority: number(),\n done: boolean(),\n note: string().optional(),\n}).primaryKey('id')\n\nconst perm = serverWhere('task', () => true)\n\nexport const mutate = mutations(schema, perm)\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"insert:\");\n (0, import_vitest.expect)(content).toMatch(/insert:.*v\\.object/);\n (0, import_vitest.expect)(content).toContain(\"update:\");\n (0, import_vitest.expect)(content).toContain(\"delete:\");\n });\n (0, import_vitest.test)(\"treats models without export const mutate as empty mutations\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/readonly.ts\"), `\nimport { table, string } from 'on-zero'\n\nexport const schema = table('readonly').columns({\n id: string(),\n name: string(),\n}).primaryKey('id')\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(result.mutationCount).toBe(0);\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"readonly: {\");\n });\n (0, import_vitest.test)(\"extracts custom mutations from bare mutations({})\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/admin.ts\"), `\nimport { mutations } from 'on-zero'\n\nexport const mutate = mutations({\n reset: async ({ tx }, { targetId }: { targetId: string }) => {\n await tx.mutate.admin.delete({ id: targetId })\n },\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"reset\");\n (0, import_vitest.expect)(content).toContain(\"v.string()\");\n });\n (0, import_vitest.test)(\"generates validators for string-model multiline mutation params\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/agentEvent.ts\"), `\nimport { mutations, serverWhere } from 'on-zero'\n\nconst perm = serverWhere('agentEvent', () => true)\n\nexport const mutate = mutations('agentEvent', perm, {\n claimReviewLease: async (\n { tx },\n props: {\n id: string\n projectId: string\n agentId: string\n userId: string\n taskId: string\n reviewKey: string\n runnerId: string\n createdAt: number\n },\n ) => {\n await tx.mutate.agentEvent.insert(props)\n },\n})\n`);\n await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"claimReviewLease\");\n (0, import_vitest.expect)(content).toContain(\"projectId: v.string()\");\n (0, import_vitest.expect)(content).toContain(\"createdAt: v.number()\");\n (0, import_vitest.expect)(content).not.toContain(\"claimReviewLease: v.object({})\");\n });\n (0, import_vitest.test)(\"generates validators for object intersections\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/agent.ts\"), `\nimport { mutations, serverWhere } from 'on-zero'\n\nconst perm = serverWhere('agent', () => true)\n\nexport const mutate = mutations('agent', perm, {\n update: async (\n { tx },\n props: {\n id: string\n } & {\n status?: string\n currentTaskId?: string\n [key: string]: unknown\n },\n ) => {\n await tx.mutate.agent.update(props)\n },\n})\n`);\n await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"update\");\n (0, import_vitest.expect)(content).toContain(\"id: v.string()\");\n (0, import_vitest.expect)(content).toContain(\"status: v.optional(v.string())\");\n (0, import_vitest.expect)(content).toContain(\"currentTaskId: v.optional(v.string())\");\n (0, import_vitest.expect)(content).not.toContain(\"update: v.object({})\");\n (0, import_vitest.expect)(content).not.toContain(\"[key\");\n });\n (0, import_vitest.test)(\"uses v.unknown for untyped mutation payloads\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/project.ts\"), `\nimport { mutations, serverWhere } from 'on-zero'\n\nconst perm = serverWhere('project', () => true)\n\nexport const mutate = mutations('project', perm, {\n insert: async ({ tx }, project) => {\n await tx.mutate.project.insert(project)\n },\n})\n`);\n await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"insert: v.unknown()\");\n (0, import_vitest.expect)(content).not.toContain(\"insert: v.void_()\");\n });\n (0, import_vitest.test)(\"handles mutations with only context param (void)\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/user.ts\"), `\nimport { table, string } from 'on-zero'\nimport { mutations, serverWhere } from 'on-zero'\n\nexport const schema = table('user').columns({\n id: string(),\n name: string(),\n}).primaryKey('id')\n\nconst perm = serverWhere('user', () => true)\n\nexport const mutate = mutations(schema, perm, {\n finishOnboarding: async ({ tx }) => {\n // no second param\n },\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"finishOnboarding\");\n });\n (0, import_vitest.test)(\"handles primitive param type\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/user.ts\"), `\nimport { table, string } from 'on-zero'\nimport { mutations, serverWhere } from 'on-zero'\n\nexport const schema = table('user').columns({\n id: string(),\n name: string(),\n}).primaryKey('id')\n\nconst perm = serverWhere('user', () => true)\n\nexport const mutate = mutations(schema, perm, {\n completeSignup: async ({ tx }, userId: string) => {\n await tx.mutate.user.update({ id: userId })\n },\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"completeSignup\");\n (0, import_vitest.expect)(content).toContain(\"v.string()\");\n });\n (0, import_vitest.test)(\"handles array param type\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/batch.ts\"), `\nimport { mutations } from 'on-zero'\n\nexport const mutate = mutations({\n bulkDelete: async ({ tx }, ids: Array<{ id: string }>) => {\n for (const { id } of ids) await tx.mutate.batch.delete({ id })\n },\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"bulkDelete\");\n (0, import_vitest.expect)(content).toContain(\"v.array\");\n });\n (0, import_vitest.test)(\"populates mutationCount and caching works\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/item.ts\"), `\nimport { table, string } from 'on-zero'\nimport { mutations, serverWhere } from 'on-zero'\n\nexport const schema = table('item').columns({\n id: string(),\n name: string(),\n}).primaryKey('id')\n\nconst perm = serverWhere('item', () => true)\n\nexport const mutate = mutations(schema, perm, {\n rename: async ({ tx }, { id, name }: { id: string; name: string }) => {\n await tx.mutate.item.update({ id, name })\n },\n})\n`);\n var first = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(first.mutationCount).toBeGreaterThan(0);\n var second = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n (0, import_vitest.expect)(second.filesChanged).toBe(0);\n (0, import_vitest.expect)(second.mutationCount).toBe(first.mutationCount);\n });\n});\n(0, import_vitest.describe)(\"type resolution\", function() {\n (0, import_vitest.test)(\"resolves imported type references for mutations\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/types.ts\"), `\nexport type ArchiveParams = {\n id: string\n reason: string\n archived: boolean\n}\n`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `\nimport { table, string, boolean } from 'on-zero'\nimport { mutations } from 'on-zero'\nimport type { ArchiveParams } from './types'\n\nexport const mutate = mutations({\n archive: async ({ tx }, params: ArchiveParams) => {\n await tx.mutate.post.update(params)\n },\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"v.string()\");\n (0, import_vitest.expect)(content).toContain(\"v.boolean()\");\n (0, import_vitest.expect)(content).toContain(\"reason\");\n (0, import_vitest.expect)(content).toContain(\"archived\");\n });\n (0, import_vitest.test)(\"resolves utility types like Pick\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/types.ts\"), `\nexport type Item = {\n id: string\n name: string\n description: string\n count: number\n}\n`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/item.ts\"), `\nimport { table, string, number } from 'on-zero'\nimport { mutations, serverWhere } from 'on-zero'\nimport type { Item } from './types'\n\nexport const schema = table('item').columns({\n id: string(),\n name: string(),\n description: string(),\n count: number(),\n}).primaryKey('id')\n\nconst perm = serverWhere('item', () => true)\n\nexport const mutate = mutations(schema, perm, {\n rename: async ({ tx }, updates: Pick<Item, 'id' | 'name'>) => {\n await tx.mutate.item.update(updates)\n },\n})\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"id\");\n (0, import_vitest.expect)(content).toContain(\"name\");\n (0, import_vitest.expect)(content).not.toMatch(/rename:[\\s\\S]*description/);\n (0, import_vitest.expect)(content).not.toMatch(/rename:[\\s\\S]*count/);\n });\n (0, import_vitest.test)(\"skips symbol-keyed properties when resolving imported mutation param types\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/types.ts\"), `\nexport type WeirdParams = {\n id: string\n [Symbol.iterator]?: () => Iterator<string>\n}\n`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/item.ts\"), `\nimport { mutations } from 'on-zero'\nimport type { WeirdParams } from './types'\n\nexport const mutate = mutations({\n run: async ({ tx }, params: WeirdParams) => {\n await tx.mutate.item.delete({ id: params.id })\n },\n})\n`);\n await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedMutations.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"run\");\n (0, import_vitest.expect)(content).toContain(\"id: v.string()\");\n (0, import_vitest.expect)(content).not.toContain(\"__@iterator\");\n });\n (0, import_vitest.test)(\"resolves imported types in query params\", async function() {\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"models/post.ts\"), `export const schema = table('post', { id: string() })`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"queries/types.ts\"), `\nexport type PostFilter = {\n authorId: string\n published: boolean\n}\n`);\n (0, import_fs.writeFileSync)((0, import_path.join)(testDir, \"queries/post.ts\"), `\nimport type { PostFilter } from './types'\n\nexport const filteredPosts = (filter: PostFilter) => zero.query.post\n`);\n var result = await (0, import_generate.generate)({\n dir: testDir,\n silent: true\n });\n var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, \"generated/syncedQueries.ts\"), \"utf-8\");\n (0, import_vitest.expect)(content).toContain(\"filteredPosts\");\n (0, import_vitest.expect)(content).toContain(\"v.object\");\n (0, import_vitest.expect)(content).toContain(\"authorId\");\n (0, import_vitest.expect)(content).toContain(\"v.boolean()\");\n });\n});\n//# sourceMappingURL=generate.test.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_fs","require","import_os","import_path","import_vitest","import_generate","testDir","join","tmpdir","Date","now","beforeEach","mkdirSync","recursive","afterEach","rmSync","force","describe","test","writeFileSync","result","generate","dir","silent","expect","modelCount","toBe","schemaCount","filesChanged","toBeGreaterThan","existsSync","modelsContent","readFileSync","toContain","typesContent","tablesContent","queryCount","groupedContent","syncedContent","not","markerFile","after","first","second","mutationCount","content","toMatch"],"sources":["../../src/generate.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}