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
@@ -3,6 +3,26 @@ import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from
3
3
  import { basename, dirname, resolve } from "node:path";
4
4
  import { formatObjectKey, generateGroupedQueriesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString, shouldSkipObjectKey } from "./generate-helpers.mjs";
5
5
  const hash = s => createHash("sha256").update(s).digest("hex");
6
+ function hashInputTree(baseDir, generatedDir) {
7
+ const parts = [];
8
+ const walk = dir => {
9
+ if (!existsSync(dir)) return;
10
+ const entries = readdirSync(dir, {
11
+ withFileTypes: true
12
+ }).sort((a, b) => a.name < b.name ? -1 : 1);
13
+ for (const entry of entries) {
14
+ const full = resolve(dir, entry.name);
15
+ if (entry.isDirectory()) {
16
+ if (entry.name === "node_modules" || full === generatedDir) continue;
17
+ walk(full);
18
+ } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
19
+ parts.push(`${full}\0${readFileSync(full, "utf-8")}`);
20
+ }
21
+ }
22
+ };
23
+ walk(baseDir);
24
+ return hash(parts.join("\0"));
25
+ }
6
26
  let generateCache = {};
7
27
  let generateCachePath = "";
8
28
  function getCacheDir() {
@@ -486,6 +506,20 @@ async function generate(options) {
486
506
  });
487
507
  }
488
508
  loadCache();
509
+ const inputHash = hashInputTree(baseDir, generatedDir);
510
+ if (generateCache.__inputHash === inputHash && existsSync(resolve(generatedDir, "models.ts"))) {
511
+ let counts = {};
512
+ try {
513
+ counts = JSON.parse(generateCache.__counts || "{}");
514
+ } catch {}
515
+ return {
516
+ filesChanged: 0,
517
+ modelCount: counts.modelCount ?? 0,
518
+ schemaCount: counts.schemaCount ?? 0,
519
+ queryCount: counts.queryCount ?? 0,
520
+ mutationCount: counts.mutationCount ?? 0
521
+ };
522
+ }
489
523
  const allModelFiles = readdirSync(modelsDir).filter(f => f.endsWith(".ts")).sort();
490
524
  const filesWithSchema = allModelFiles.filter(f => readFileSync(resolve(modelsDir, f), "utf-8").includes("export const schema = table("));
491
525
  const allModelNames = allModelFiles.map(f => basename(f, ".ts"));
@@ -670,6 +704,13 @@ async function generate(options) {
670
704
  if (!silent) console.error(`Error running after command: ${err}`);
671
705
  }
672
706
  }
707
+ generateCache.__inputHash = inputHash;
708
+ generateCache.__counts = JSON.stringify({
709
+ modelCount: allModelFiles.length,
710
+ schemaCount: filesWithSchema.length,
711
+ queryCount,
712
+ mutationCount
713
+ });
673
714
  saveCache();
674
715
  return {
675
716
  filesChanged,
@@ -1 +1 @@
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","cachedHash","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","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","push","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","colName","initText","colType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","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","symbol","getSymbol","typeArguments","Tuple","typeArgs","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","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","writeResults","filesChanged","queryCount","mutationCount","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles","file","fileBaseName","exportModifier","find","declaration","resolverSourceFile","console","error","err","groupedChanged","syncedChanged","allModelMutations","mutationFiles","unresolvedModels","baseName","hasUnresolved","collectTsFiles","dir2","results","entry","withFileTypes","fullPath","isDirectory","isFile","modelResolver","size","idx","findIndex","model","mutationsChanged","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","hashInputTree","baseDir","generatedDir","parts","walk","dir","entries","withFileTypes","sort","a","b","name","entry","full","isDirectory","isFile","endsWith","push","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","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","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","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","colName","initText","colType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","value","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner2","inner","resolveSymbolType","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props2","getProperties","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props","objectFlags","ObjectFlags","Reference","typeRef","symbol","getSymbol","typeArguments","Tuple","typeArgs","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","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","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__inputHash","counts","__counts","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles","file","fileBaseName","exportModifier","find","declaration","resolverSourceFile","console","error","err","groupedChanged","syncedChanged","allModelMutations","mutationFiles","unresolvedModels","baseName","hasUnresolved","collectTsFiles","dir2","results","fullPath","modelResolver","size","idx","findIndex","model","mutationsChanged","info","execSync","stdio","env","ON_ZERO_GENERATED_DIR","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":[]}
@@ -5,6 +5,47 @@ import { formatObjectKey, generateGroupedQueriesFile, generateModelsFile, genera
5
5
  var hash = function (s) {
6
6
  return createHash("sha256").update(s).digest("hex");
7
7
  };
8
+ function hashInputTree(baseDir, generatedDir) {
9
+ var parts = [];
10
+ var walk = function (dir) {
11
+ if (!existsSync(dir)) return;
12
+ var entries = readdirSync(dir, {
13
+ withFileTypes: true
14
+ }).sort(function (a, b) {
15
+ return a.name < b.name ? -1 : 1;
16
+ });
17
+ var _iteratorNormalCompletion = true,
18
+ _didIteratorError = false,
19
+ _iteratorError = void 0;
20
+ try {
21
+ for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
22
+ var entry = _step.value;
23
+ var full = resolve(dir, entry.name);
24
+ if (entry.isDirectory()) {
25
+ if (entry.name === "node_modules" || full === generatedDir) continue;
26
+ walk(full);
27
+ } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
28
+ parts.push(`${full}\0${readFileSync(full, "utf-8")}`);
29
+ }
30
+ }
31
+ } catch (err) {
32
+ _didIteratorError = true;
33
+ _iteratorError = err;
34
+ } finally {
35
+ try {
36
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
37
+ _iterator.return();
38
+ }
39
+ } finally {
40
+ if (_didIteratorError) {
41
+ throw _iteratorError;
42
+ }
43
+ }
44
+ }
45
+ };
46
+ walk(baseDir);
47
+ return hash(parts.join("\0"));
48
+ }
8
49
  var generateCache = {};
9
50
  var generateCachePath = "";
10
51
  function getCacheDir() {
@@ -715,6 +756,21 @@ async function generate(options) {
715
756
  });
716
757
  }
717
758
  loadCache();
759
+ var inputHash = hashInputTree(baseDir, generatedDir);
760
+ if (generateCache.__inputHash === inputHash && existsSync(resolve(generatedDir, "models.ts"))) {
761
+ var counts = {};
762
+ try {
763
+ counts = JSON.parse(generateCache.__counts || "{}");
764
+ } catch (e) {}
765
+ var _counts_modelCount, _counts_schemaCount, _counts_queryCount, _counts_mutationCount;
766
+ return {
767
+ filesChanged: 0,
768
+ modelCount: (_counts_modelCount = counts.modelCount) !== null && _counts_modelCount !== void 0 ? _counts_modelCount : 0,
769
+ schemaCount: (_counts_schemaCount = counts.schemaCount) !== null && _counts_schemaCount !== void 0 ? _counts_schemaCount : 0,
770
+ queryCount: (_counts_queryCount = counts.queryCount) !== null && _counts_queryCount !== void 0 ? _counts_queryCount : 0,
771
+ mutationCount: (_counts_mutationCount = counts.mutationCount) !== null && _counts_mutationCount !== void 0 ? _counts_mutationCount : 0
772
+ };
773
+ }
718
774
  var allModelFiles = readdirSync(modelsDir).filter(function (f) {
719
775
  return f.endsWith(".ts");
720
776
  }).sort();
@@ -1021,6 +1077,13 @@ async function generate(options) {
1021
1077
  if (!silent) console.error(`Error running after command: ${err}`);
1022
1078
  }
1023
1079
  }
1080
+ generateCache.__inputHash = inputHash;
1081
+ generateCache.__counts = JSON.stringify({
1082
+ modelCount: allModelFiles.length,
1083
+ schemaCount: filesWithSchema.length,
1084
+ queryCount,
1085
+ mutationCount
1086
+ });
1024
1087
  saveCache();
1025
1088
  return {
1026
1089
  filesChanged,
@@ -1 +1 @@
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","e","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","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","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","f","value","set","path","err","return","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","name","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","hasCRUD","columns","primaryKeys","custom","call","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","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","join","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","entries","name1","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","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","generateDrizzleSchemaFile","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","generate","after","baseDir","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","generatedDir","queriesDir","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","filesChanged","queryCount","mutationCount","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop","file2","filePath2","fileBaseName2","content2","sourceFile2","exportModifier","find","declaration","_param_type"],"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","hashInputTree","baseDir","generatedDir","parts","walk","dir","entries","withFileTypes","sort","a","b","name","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","entry","value","full","isDirectory","isFile","endsWith","push","err","return","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","e","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","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","_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","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","paramType","valibotCode","secondParam","resolvedType","visit","props","text","expression","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","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","getProperties","name1","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","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","generateDrizzleSchemaFile","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","generate","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","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop","file2","filePath2","fileBaseName2","content2","sourceFile2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ const RECOVER_GUARD_MS = 6e4;
2
+ const LOCAL_STORE_LOST = "Expected IndexedDB not found";
3
+ let reloadScheduled = false;
4
+ const pendingDeletes = [];
5
+ function recoveryGuardOpen(reasonKey) {
6
+ try {
7
+ const key = `on-zero-recover-${reasonKey}`;
8
+ const last = Number(window.sessionStorage.getItem(key) || 0);
9
+ if (Date.now() - last < RECOVER_GUARD_MS) return false;
10
+ window.sessionStorage.setItem(key, String(Date.now()));
11
+ } catch {}
12
+ return true;
13
+ }
14
+ function recover(deps, reasonKey, message, dropLocalState) {
15
+ if (typeof window === "undefined") return;
16
+ if (dropLocalState) {
17
+ pendingDeletes.push(Promise.resolve().then(deps.deleteLocalState).catch(() => {}));
18
+ }
19
+ if (reloadScheduled) return;
20
+ if (!recoveryGuardOpen(reasonKey)) {
21
+ console.error(`[on-zero] ${message} \u2014 already recovered once, not reloading`);
22
+ deps.zeroEvents.emit({
23
+ type: "fatal",
24
+ reason: message
25
+ });
26
+ return;
27
+ }
28
+ reloadScheduled = true;
29
+ console.warn(`[on-zero] ${message} \u2014 recovering`);
30
+ deps.zeroEvents.emit({
31
+ type: "recovering",
32
+ reason: message
33
+ });
34
+ const doReload = deps.reload ?? (() => window.location.reload());
35
+ Promise.resolve().then(() => Promise.allSettled(pendingDeletes)).then(() => deps.beforeReload?.()).catch(() => {}).finally(doReload);
36
+ }
37
+ function makeZeroRecovery(deps) {
38
+ return {
39
+ onUpdateNeeded(reason) {
40
+ const dropLocalState = reason.type === "SchemaVersionNotSupported";
41
+ recover(deps, reason.type, `update needed (${reason.message || reason.type})`, dropLocalState);
42
+ },
43
+ onClientStateNotFound() {
44
+ recover(deps, "client-state-not-found", "client state not found", true);
45
+ }
46
+ };
47
+ }
48
+ function logToConsole(level, context, ...args) {
49
+ const prefix = context ? Object.entries(context).map(([key, value]) => value === void 0 ? key : `${key}=${value}`).join(" ") : "";
50
+ const method = level === "debug" ? "debug" : level;
51
+ console[method](...(prefix ? [prefix] : []), ...args);
52
+ }
53
+ function composeRecoveryLogSink(deps, consumerLogSink) {
54
+ const consumerFlush = consumerLogSink?.flush;
55
+ return {
56
+ log(level, context, ...args) {
57
+ if (consumerLogSink) consumerLogSink.log(level, context, ...args);else logToConsole(level, context, ...args);
58
+ if (level !== "error") return;
59
+ const text = args.map(arg => typeof arg === "string" ? arg : arg && typeof arg === "object" && "message" in arg ? String(arg.message) : "").join(" ");
60
+ if (text.includes(LOCAL_STORE_LOST)) {
61
+ recover(deps, "local-store", "local store lost", true);
62
+ }
63
+ },
64
+ // call through the consumer sink so a class-based sink keeps its `this`,
65
+ // rather than handing Zero a detached method reference.
66
+ flush: consumerFlush ? () => consumerFlush.call(consumerLogSink) : void 0
67
+ };
68
+ }
69
+ function resetRecoveryStateForTests() {
70
+ reloadScheduled = false;
71
+ pendingDeletes.length = 0;
72
+ }
73
+ export { composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests };
74
+ //# sourceMappingURL=recoverZeroClient.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RECOVER_GUARD_MS","LOCAL_STORE_LOST","reloadScheduled","pendingDeletes","recoveryGuardOpen","reasonKey","key","last","Number","window","sessionStorage","getItem","Date","now","setItem","String","recover","deps","message","dropLocalState","push","Promise","resolve","then","deleteLocalState","catch","console","error","zeroEvents","emit","type","reason","warn","doReload","reload","location","allSettled","beforeReload","finally","makeZeroRecovery","onUpdateNeeded","onClientStateNotFound","logToConsole","level","context","args","prefix","Object","entries","map","value","join","method","composeRecoveryLogSink","consumerLogSink","consumerFlush","flush","log","text","arg","includes","call","resetRecoveryStateForTests","length"],"sources":["../../../src/helpers/recoverZeroClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}