on-zero 0.16.17 → 0.16.19

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 (110) hide show
  1. package/dist/cjs/createZeroClient.cjs +44 -11
  2. package/dist/cjs/createZeroClient.native.js +54 -17
  3. package/dist/cjs/createZeroClient.native.js.map +1 -1
  4. package/dist/cjs/createZeroClient.recovery.test.cjs +49 -0
  5. package/dist/cjs/createZeroClient.recovery.test.native.js +53 -0
  6. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  7. package/dist/cjs/generate-helpers.cjs +28 -0
  8. package/dist/cjs/generate-helpers.native.js +36 -0
  9. package/dist/cjs/generate-helpers.native.js.map +1 -1
  10. package/dist/cjs/generate-layout.cjs +62 -53
  11. package/dist/cjs/generate-layout.native.js +62 -54
  12. package/dist/cjs/generate-layout.native.js.map +1 -1
  13. package/dist/cjs/generate-lite.cjs +28 -0
  14. package/dist/cjs/generate-lite.native.js +89 -33
  15. package/dist/cjs/generate-lite.native.js.map +1 -1
  16. package/dist/cjs/generate-lite.test.cjs +46 -0
  17. package/dist/cjs/generate-lite.test.native.js +46 -0
  18. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  19. package/dist/cjs/generate.cjs +237 -243
  20. package/dist/cjs/generate.native.js +352 -353
  21. package/dist/cjs/generate.native.js.map +1 -1
  22. package/dist/cjs/generate.test.cjs +35 -0
  23. package/dist/cjs/generate.test.native.js +35 -0
  24. package/dist/cjs/generate.test.native.js.map +1 -1
  25. package/dist/cjs/helpers/createMutators.cjs +2 -1
  26. package/dist/cjs/helpers/createMutators.native.js +3 -1
  27. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  28. package/dist/cjs/helpers/recoverZeroClient.cjs +8 -2
  29. package/dist/cjs/helpers/recoverZeroClient.native.js +10 -2
  30. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  31. package/dist/cjs/helpers/recoverZeroClient.test.cjs +53 -0
  32. package/dist/cjs/helpers/recoverZeroClient.test.native.js +55 -0
  33. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  34. package/dist/cjs/native-typescript.cjs +190 -0
  35. package/dist/cjs/native-typescript.native.js +255 -0
  36. package/dist/cjs/native-typescript.native.js.map +1 -0
  37. package/dist/esm/createZeroClient.mjs +44 -11
  38. package/dist/esm/createZeroClient.mjs.map +1 -1
  39. package/dist/esm/createZeroClient.native.js +54 -17
  40. package/dist/esm/createZeroClient.native.js.map +1 -1
  41. package/dist/esm/createZeroClient.recovery.test.mjs +50 -1
  42. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  43. package/dist/esm/createZeroClient.recovery.test.native.js +54 -1
  44. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  45. package/dist/esm/generate-helpers.mjs +27 -1
  46. package/dist/esm/generate-helpers.mjs.map +1 -1
  47. package/dist/esm/generate-helpers.native.js +35 -1
  48. package/dist/esm/generate-helpers.native.js.map +1 -1
  49. package/dist/esm/generate-layout.mjs +52 -54
  50. package/dist/esm/generate-layout.mjs.map +1 -1
  51. package/dist/esm/generate-layout.native.js +52 -55
  52. package/dist/esm/generate-layout.native.js.map +1 -1
  53. package/dist/esm/generate-lite.mjs +29 -1
  54. package/dist/esm/generate-lite.mjs.map +1 -1
  55. package/dist/esm/generate-lite.native.js +90 -34
  56. package/dist/esm/generate-lite.native.js.map +1 -1
  57. package/dist/esm/generate-lite.test.mjs +46 -0
  58. package/dist/esm/generate-lite.test.mjs.map +1 -1
  59. package/dist/esm/generate-lite.test.native.js +46 -0
  60. package/dist/esm/generate-lite.test.native.js.map +1 -1
  61. package/dist/esm/generate.mjs +238 -244
  62. package/dist/esm/generate.mjs.map +1 -1
  63. package/dist/esm/generate.native.js +353 -354
  64. package/dist/esm/generate.native.js.map +1 -1
  65. package/dist/esm/generate.test.mjs +35 -0
  66. package/dist/esm/generate.test.mjs.map +1 -1
  67. package/dist/esm/generate.test.native.js +35 -0
  68. package/dist/esm/generate.test.native.js.map +1 -1
  69. package/dist/esm/helpers/createMutators.mjs +2 -1
  70. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  71. package/dist/esm/helpers/createMutators.native.js +3 -1
  72. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  73. package/dist/esm/helpers/recoverZeroClient.mjs +8 -2
  74. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  75. package/dist/esm/helpers/recoverZeroClient.native.js +10 -2
  76. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  77. package/dist/esm/helpers/recoverZeroClient.test.mjs +53 -0
  78. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  79. package/dist/esm/helpers/recoverZeroClient.test.native.js +55 -0
  80. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  81. package/dist/esm/index.native.js.map +1 -1
  82. package/dist/esm/native-typescript.mjs +164 -0
  83. package/dist/esm/native-typescript.mjs.map +1 -0
  84. package/dist/esm/native-typescript.native.js +226 -0
  85. package/dist/esm/native-typescript.native.js.map +1 -0
  86. package/package.json +4 -3
  87. package/src/createZeroClient.recovery.test.tsx +56 -1
  88. package/src/createZeroClient.tsx +54 -15
  89. package/src/generate-helpers.ts +79 -0
  90. package/src/generate-layout.ts +64 -108
  91. package/src/generate-lite.test.ts +49 -0
  92. package/src/generate-lite.ts +44 -0
  93. package/src/generate.test.ts +52 -0
  94. package/src/generate.ts +313 -366
  95. package/src/helpers/createMutators.ts +14 -3
  96. package/src/helpers/recoverZeroClient.test.ts +50 -0
  97. package/src/helpers/recoverZeroClient.ts +12 -2
  98. package/src/native-typescript.ts +176 -0
  99. package/types/createZeroClient.d.ts.map +1 -1
  100. package/types/generate-helpers.d.ts +13 -0
  101. package/types/generate-helpers.d.ts.map +1 -1
  102. package/types/generate-layout.d.ts +2 -1
  103. package/types/generate-layout.d.ts.map +1 -1
  104. package/types/generate-lite.d.ts +1 -0
  105. package/types/generate-lite.d.ts.map +1 -1
  106. package/types/generate.d.ts.map +1 -1
  107. package/types/helpers/createMutators.d.ts.map +1 -1
  108. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  109. package/types/native-typescript.d.ts +11 -0
  110. package/types/native-typescript.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_helpers_exports","__export","CRUD_MUTATION_NAMES","columnTypeToValibot","extractValibotExpression","formatObjectKey","generateAggregatesFile","generateGroupedQueriesFile","generateInstancesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","getModelImportName","parseColumnType","parseTypeString","schemaColumnsToValibot","shouldSkipObjectKey","uniqueModuleAliases","module","exports","name","startsWith","test","JSON","stringify","names","alias","taken","Set","aliases","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","candidate","has","add","set","err","return","splitTopLevelTypeUnion","type","parts","depth","start","quote","i","length","char","Math","max","push","slice","trim","filter","Boolean","splitTopLevelTypeIntersection","stripTypeComments","out","nextNonWhitespace","splitTopLevelObjectEntries","_nextNonWhitespace","includes","parseInlineObjectEntries","endsWith","inner","entries","part","trimmed","replace","match","RegExp","opt","typeStr","parsed","val","unionParts","hasNull","hasUndefined","valueParts","part2","parsedParts","map","some","join","intersectionParts","objectEntries","objectEntries1","entries1","modules","sorted","sort","a","b","localeCompare","param","imports","importPath","get","sortedByImportName","modelsObj","importName","modelNames","typeExports","pascalName","charAt","toUpperCase","schemaName","queries","queryByFile","query","sourceFile","sortedFiles","keys","file","query2","instances","instance","queryNames","modelEntries","scope","visibility","tables","syncTables","supportTables","namespaces","namespace","merged","q","Array","from","namespaceDefs","fileQueries","queryDefs","q2","validatorDef","valibotCode","params","indentedValidator","indentContinuationLines"],"sources":["../../src/generate-helpers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_helpers_exports","__export","CRUD_MUTATION_NAMES","columnTypeToValibot","extractValibotExpression","formatObjectKey","generateAggregatesFile","generateGroupedQueriesFile","generateInstancesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","getModelImportName","parseColumnType","parseTypeString","renderDrizzleSchemaInputModule","renderDrizzleZeroSqliteSchemaModule","schemaColumnsToValibot","shouldSkipObjectKey","uniqueModuleAliases","module","exports","name","startsWith","test","JSON","stringify","names","alias","taken","Set","aliases","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","candidate","has","add","set","err","return","splitTopLevelTypeUnion","type","parts","depth","start","quote","i","length","char","Math","max","push","slice","trim","filter","Boolean","splitTopLevelTypeIntersection","stripTypeComments","out","nextNonWhitespace","splitTopLevelObjectEntries","_nextNonWhitespace","includes","parseInlineObjectEntries","endsWith","inner","entries","part","trimmed","replace","match","RegExp","opt","typeStr","parsed","val","unionParts","hasNull","hasUndefined","valueParts","part2","parsedParts","map","some","join","intersectionParts","objectEntries","objectEntries1","entries1","modules","sorted","sort","a","b","localeCompare","param","imports","importPath","get","sortedByImportName","modelsObj","importName","modelNames","typeExports","pascalName","charAt","toUpperCase","schemaName","queries","queryByFile","query","sourceFile","sortedFiles","keys","file","query2","instances","instance","queryNames","modelEntries","scope","visibility","tables","syncTables","supportTables","namespaces","namespace","merged","q","Array","from","namespaceDefs","fileQueries","queryDefs","q2","validatorDef","valibotCode","params","indentedValidator","indentContinuationLines","queriesObject","col","base","optional","columns","primaryKeys","mode","pk"],"sources":["../../src/generate-helpers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,8 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  var __export = (target, all) => {
6
8
  for (var name in all) __defProp(target, name, {
@@ -17,6 +19,15 @@ var __copyProps = (to, from, except, desc) => {
17
19
  }
18
20
  return to;
19
21
  };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
20
31
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
32
  value: true
22
33
  }), mod);
@@ -28,19 +39,20 @@ __export(generate_layout_exports, {
28
39
  module.exports = __toCommonJS(generate_layout_exports);
29
40
  var import_node_fs = require("node:fs");
30
41
  var import_node_path = require("node:path");
42
+ var ts = __toESM(require("typescript/unstable/ast"), 1);
31
43
  const isSourceFile = name => name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
32
44
  const toImportPath = (baseDir, path) => (0, import_node_path.relative)(baseDir, path).split(import_node_path.sep).join("/").replace(/\.ts$/, "");
33
45
  const isWithin = (root, path) => {
34
46
  const child = (0, import_node_path.relative)(root, path);
35
47
  return child === "" || child !== ".." && !child.startsWith(`..${import_node_path.sep}`);
36
48
  };
37
- function propertyName(ts, name) {
49
+ function propertyName(name) {
38
50
  if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {
39
51
  return name.text;
40
52
  }
41
53
  return null;
42
54
  }
43
- function readDataConfig(ts, baseDir, configPath) {
55
+ function readDataConfig(project, baseDir, configPath) {
44
56
  const path = configPath ? (0, import_node_path.resolve)(configPath) : (0, import_node_path.resolve)(baseDir, "on-zero.config.ts");
45
57
  if (!(0, import_node_fs.existsSync)(path)) {
46
58
  if (configPath) throw new Error(`[on-zero] config file does not exist: ${path}`);
@@ -49,8 +61,8 @@ function readDataConfig(ts, baseDir, configPath) {
49
61
  if ((0, import_node_path.dirname)(path) !== baseDir) {
50
62
  throw new Error(`[on-zero] ${path} must be at the data root ${baseDir}`);
51
63
  }
52
- const source = ts.createSourceFile(path, (0, import_node_fs.readFileSync)(path, "utf8"), ts.ScriptTarget.Latest, true);
53
- if (hasParseErrors(source)) throw new Error(`[on-zero] unable to parse ${path}`);
64
+ const source = project.sourceFile(path);
65
+ if (project.hasParseErrors(path)) throw new Error(`[on-zero] unable to parse ${path}`);
54
66
  let config = null;
55
67
  for (const statement of source.statements) {
56
68
  if (!ts.isExportAssignment(statement) || statement.isExportEquals) continue;
@@ -69,7 +81,7 @@ function readDataConfig(ts, baseDir, configPath) {
69
81
  if (!ts.isPropertyAssignment(option)) {
70
82
  throw new Error(`[on-zero] ${path} options must use explicit property assignments`);
71
83
  }
72
- const name = propertyName(ts, option.name);
84
+ const name = propertyName(option.name);
73
85
  if (!name) throw new Error(`[on-zero] ${path} has an unsupported option name`);
74
86
  if (rootOptions.has(name)) throw new Error(`[on-zero] ${path} repeats option '${name}'`);
75
87
  rootOptions.set(name, option.initializer);
@@ -86,7 +98,7 @@ function readDataConfig(ts, baseDir, configPath) {
86
98
  if (!ts.isPropertyAssignment(property)) {
87
99
  throw new Error(`[on-zero] ${path} instances must use explicit property assignments`);
88
100
  }
89
- const name = propertyName(ts, property.name);
101
+ const name = propertyName(property.name);
90
102
  if (!name) throw new Error(`[on-zero] ${path} has an unsupported instance name`);
91
103
  if (!ts.isObjectLiteralExpression(property.initializer)) {
92
104
  throw new Error(`[on-zero] instance '${name}' must be an object`);
@@ -102,7 +114,7 @@ function readDataConfig(ts, baseDir, configPath) {
102
114
  if (!ts.isPropertyAssignment(option)) {
103
115
  throw new Error(`[on-zero] instance '${name}' options must be assignments`);
104
116
  }
105
- const optionName = propertyName(ts, option.name);
117
+ const optionName = propertyName(option.name);
106
118
  if (!optionName) throw new Error(`[on-zero] instance '${name}' has an invalid option`);
107
119
  if (seen.has(optionName)) {
108
120
  throw new Error(`[on-zero] instance '${name}' repeats option '${optionName}'`);
@@ -169,16 +181,13 @@ function readDataConfig(ts, baseDir, configPath) {
169
181
  instances
170
182
  };
171
183
  }
172
- function hasParseErrors(source) {
173
- return Boolean(source.parseDiagnostics?.length);
174
- }
175
- function namespaceExportKinds(ts, baseDir, path) {
184
+ function namespaceExportKinds(project, baseDir, path) {
176
185
  const none = {
177
186
  model: false,
178
187
  query: false
179
188
  };
180
- const source = ts.createSourceFile(path, (0, import_node_fs.readFileSync)(path, "utf8"), ts.ScriptTarget.Latest, true);
181
- if (hasParseErrors(source)) {
189
+ const source = project.sourceFile(path);
190
+ if (project.hasParseErrors(path)) {
182
191
  const displayPath = (0, import_node_path.relative)((0, import_node_path.dirname)(baseDir), path).split(import_node_path.sep).join("/");
183
192
  console.warn(`[on-zero] ignoring ${displayPath}: no recognized data exports`);
184
193
  return none;
@@ -232,7 +241,7 @@ function namespaceExportKinds(ts, baseDir, path) {
232
241
  }
233
242
  }
234
243
  let found = false;
235
- ts.forEachChild(node, child => {
244
+ node.forEachChild(child => {
236
245
  if (!found && reachesQuery(child)) found = true;
237
246
  });
238
247
  return found;
@@ -243,8 +252,8 @@ function namespaceExportKinds(ts, baseDir, path) {
243
252
  query
244
253
  };
245
254
  }
246
- function mutationTable(ts, path, namespace) {
247
- const source = ts.createSourceFile(path, (0, import_node_fs.readFileSync)(path, "utf8"), ts.ScriptTarget.Latest, true);
255
+ function mutationTable(project, path, namespace) {
256
+ const source = project.sourceFile(path);
248
257
  let schemaTable = null;
249
258
  for (const statement of source.statements) {
250
259
  if (!ts.isVariableStatement(statement)) continue;
@@ -255,24 +264,24 @@ function mutationTable(ts, path, namespace) {
255
264
  if (!ts.isIdentifier(declaration.name) || !declaration.initializer) continue;
256
265
  if (declaration.name.text === "mutate" && ts.isCallExpression(declaration.initializer)) {
257
266
  const firstArgument = declaration.initializer.arguments[0];
258
- if (firstArgument && ts.isStringLiteralLike(firstArgument)) {
267
+ if (firstArgument && ts.isStringLiteral(firstArgument)) {
259
268
  return firstArgument.text;
260
269
  }
261
270
  }
262
271
  if (declaration.name.text !== "schema") continue;
263
272
  const visit = node => {
264
- if (ts.isCallExpression(node) && node.expression.getText(source) === "table" && node.arguments[0] && ts.isStringLiteralLike(node.arguments[0])) {
273
+ if (ts.isCallExpression(node) && node.expression.getText(source) === "table" && node.arguments[0] && ts.isStringLiteral(node.arguments[0])) {
265
274
  schemaTable = node.arguments[0].text;
266
275
  return;
267
276
  }
268
- ts.forEachChild(node, visit);
277
+ node.forEachChild(visit);
269
278
  };
270
279
  visit(declaration.initializer);
271
280
  }
272
281
  }
273
282
  return schemaTable ?? namespace;
274
283
  }
275
- function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
284
+ function discoverNamespaces(project, baseDir, instance, instanceDirs) {
276
285
  const namespaces = [];
277
286
  for (const entry of (0, import_node_fs.readdirSync)(instance.dir, {
278
287
  withFileTypes: true
@@ -280,7 +289,7 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
280
289
  if (entry.isFile()) {
281
290
  if (!isSourceFile(entry.name) || entry.name === "on-zero.config.ts") continue;
282
291
  const path = (0, import_node_path.resolve)(instance.dir, entry.name);
283
- const kinds = namespaceExportKinds(ts, baseDir, path);
292
+ const kinds = namespaceExportKinds(project, baseDir, path);
284
293
  if (!kinds.model && !kinds.query) continue;
285
294
  const name = (0, import_node_path.basename)(entry.name, ".ts");
286
295
  namespaces.push({
@@ -291,7 +300,7 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
291
300
  // missing mutations.ts leaves modelPath null
292
301
  modelPath: kinds.model ? path : null,
293
302
  aggregatePath: null,
294
- table: kinds.model ? mutationTable(ts, path, name) : null,
303
+ table: kinds.model ? mutationTable(project, path, name) : null,
295
304
  sourcePaths: [path]
296
305
  });
297
306
  continue;
@@ -317,7 +326,7 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
317
326
  queryPath: hasQueries ? queryPath : null,
318
327
  modelPath: hasMutations ? modelPath : null,
319
328
  aggregatePath: hasAggregates ? aggregatePath : null,
320
- table: hasMutations ? mutationTable(ts, modelPath, entry.name) : null,
329
+ table: hasMutations ? mutationTable(project, modelPath, entry.name) : null,
321
330
  sourcePaths: [hasQueries && queryPath, hasMutations && modelPath, hasAggregates && aggregatePath].filter(path => Boolean(path))
322
331
  });
323
332
  }
@@ -339,13 +348,13 @@ function metadataPaths(baseDir) {
339
348
  }
340
349
  return paths.sort();
341
350
  }
342
- function relationTargets(ts, paths) {
351
+ function relationTargets(project, paths) {
343
352
  const relations = /* @__PURE__ */new Map();
344
353
  for (const path of paths.filter(path2 => (0, import_node_path.basename)(path2) === "relations.ts")) {
345
- const source = ts.createSourceFile(path, (0, import_node_fs.readFileSync)(path, "utf8"), ts.ScriptTarget.Latest, true);
354
+ const source = project.sourceFile(path);
346
355
  const visit = node => {
347
356
  if (!ts.isCallExpression(node) || node.expression.getText(source) !== "defineRelations") {
348
- ts.forEachChild(node, visit);
357
+ node.forEachChild(visit);
349
358
  return;
350
359
  }
351
360
  const factory = node.arguments[1];
@@ -374,21 +383,21 @@ function relationTargets(ts, paths) {
374
383
  }
375
384
  return relations;
376
385
  }
377
- function tableColumns(ts, paths, namespaces) {
386
+ function tableColumns(project, paths, namespaces) {
378
387
  const columns = /* @__PURE__ */new Map();
379
388
  const sources = /* @__PURE__ */new Set([...paths, ...namespaces.flatMap(namespace => namespace.sourcePaths)]);
380
389
  for (const path of sources) {
381
- const source = ts.createSourceFile(path, (0, import_node_fs.readFileSync)(path, "utf8"), ts.ScriptTarget.Latest, true);
390
+ const source = project.sourceFile(path);
382
391
  const visit = node => {
383
392
  if (!ts.isVariableDeclaration(node) || !ts.isIdentifier(node.name) || !node.initializer) {
384
- ts.forEachChild(node, visit);
393
+ node.forEachChild(visit);
385
394
  return;
386
395
  }
387
396
  const tableNames = /* @__PURE__ */new Set([node.name.text]);
388
397
  let foundColumns = null;
389
398
  const inspect = candidate => {
390
399
  if (!ts.isCallExpression(candidate)) {
391
- ts.forEachChild(candidate, inspect);
400
+ candidate.forEachChild(inspect);
392
401
  return;
393
402
  }
394
403
  for (const argument of candidate.arguments) {
@@ -401,18 +410,18 @@ function tableColumns(ts, paths, namespaces) {
401
410
  };
402
411
  inspect(node.initializer);
403
412
  if (foundColumns) {
404
- const names = new Set(foundColumns.properties.map(property => property.name?.getText(source).replace(/^['"]|['"]$/g, "")).filter(name => Boolean(name)));
413
+ const names = new Set(foundColumns.properties.map(property => ts.isSpreadAssignment(property) ? null : property.name?.getText(source).replace(/^['"]|['"]$/g, "")).filter(name => Boolean(name)));
405
414
  for (const tableName of tableNames) columns.set(tableName, names);
406
415
  }
407
- ts.forEachChild(node, visit);
416
+ node.forEachChild(visit);
408
417
  };
409
418
  visit(source);
410
419
  }
411
420
  return columns;
412
421
  }
413
- function queriedTables(ts, namespace, relations) {
422
+ function queriedTables(project, namespace, relations) {
414
423
  if (!namespace.queryPath) return [];
415
- const source = ts.createSourceFile(namespace.queryPath, (0, import_node_fs.readFileSync)(namespace.queryPath, "utf8"), ts.ScriptTarget.Latest, true);
424
+ const source = project.sourceFile(namespace.queryPath);
416
425
  const reached = [];
417
426
  const functions = /* @__PURE__ */new Map();
418
427
  const exported = /* @__PURE__ */new Set();
@@ -475,7 +484,7 @@ function queriedTables(ts, namespace, relations) {
475
484
  visiting.delete(key);
476
485
  }
477
486
  }
478
- ts.forEachChild(node, child => visit(child, currentTable, query));
487
+ node.forEachChild(child => visit(child, currentTable, query));
479
488
  };
480
489
  for (const name of exported) {
481
490
  if (["mutate", "schema", "where"].includes(name)) continue;
@@ -490,9 +499,9 @@ function queriedTables(ts, namespace, relations) {
490
499
  }
491
500
  return reached;
492
501
  }
493
- function aggregateTables(ts, namespace) {
502
+ function aggregateTables(project, namespace) {
494
503
  if (!namespace.aggregatePath) return [];
495
- const source = ts.createSourceFile(namespace.aggregatePath, (0, import_node_fs.readFileSync)(namespace.aggregatePath, "utf8"), ts.ScriptTarget.Latest, true);
504
+ const source = project.sourceFile(namespace.aggregatePath);
496
505
  const unwrap = node => {
497
506
  let current = node;
498
507
  while (ts.isSatisfiesExpression(current) || ts.isAsExpression(current) || ts.isParenthesizedExpression(current)) {
@@ -523,8 +532,8 @@ function aggregateTables(ts, namespace) {
523
532
  throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate ${property.name.getText(source)} must be an object literal`);
524
533
  }
525
534
  for (const fieldName of ["source", "target"]) {
526
- const field = definition.properties.find(candidate => ts.isPropertyAssignment(candidate) && propertyName(ts, candidate.name) === fieldName);
527
- if (!field || !ts.isStringLiteralLike(unwrap(field.initializer))) {
535
+ const field = definition.properties.find(candidate => ts.isPropertyAssignment(candidate) && propertyName(candidate.name) === fieldName);
536
+ if (!field || !ts.isStringLiteral(unwrap(field.initializer))) {
528
537
  throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate ${property.name.getText(source)} ${fieldName} must be a string literal`);
529
538
  }
530
539
  tables.add(unwrap(field.initializer).text);
@@ -534,14 +543,14 @@ function aggregateTables(ts, namespace) {
534
543
  }
535
544
  return [...tables].sort();
536
545
  }
537
- function mutationSupportTables(ts, baseDir, sourceRoots, namespace) {
546
+ function mutationSupportTables(project, baseDir, sourceRoots, namespace) {
538
547
  if (!namespace.modelPath) return [];
539
548
  const tables = /* @__PURE__ */new Set();
540
549
  const visited = /* @__PURE__ */new Set();
541
550
  const scan = path => {
542
551
  if (visited.has(path)) return;
543
552
  visited.add(path);
544
- const source = ts.createSourceFile(path, (0, import_node_fs.readFileSync)(path, "utf8"), ts.ScriptTarget.Latest, true);
553
+ const source = project.sourceFile(path);
545
554
  const visit = node => {
546
555
  if (ts.isPropertyAccessExpression(node) && ts.isPropertyAccessExpression(node.expression) && ["mutate", "query"].includes(node.expression.name.text)) {
547
556
  const transaction = node.expression.expression;
@@ -561,7 +570,7 @@ function mutationSupportTables(ts, baseDir, sourceRoots, namespace) {
561
570
  }
562
571
  }
563
572
  }
564
- ts.forEachChild(node, visit);
573
+ node.forEachChild(visit);
565
574
  };
566
575
  visit(source);
567
576
  };
@@ -587,7 +596,7 @@ function assertNoInstanceFiles(roots) {
587
596
  };
588
597
  for (const root of roots) walk(root);
589
598
  }
590
- function assertNoUnclaimedNamespaces(ts, baseDir, configPath, instanceDirs) {
599
+ function assertNoUnclaimedNamespaces(project, baseDir, configPath, instanceDirs) {
591
600
  const walk = dir => {
592
601
  if (instanceDirs.some(instanceDir => isWithin(instanceDir, dir))) return;
593
602
  for (const entry of (0, import_node_fs.readdirSync)(dir, {
@@ -602,7 +611,7 @@ function assertNoUnclaimedNamespaces(ts, baseDir, configPath, instanceDirs) {
602
611
  if (!entry.isFile() || !isSourceFile(entry.name) || path === configPath || entry.name === "instance.ts") {
603
612
  continue;
604
613
  }
605
- const kinds = namespaceExportKinds(ts, baseDir, path);
614
+ const kinds = namespaceExportKinds(project, baseDir, path);
606
615
  if (kinds.model || kinds.query) {
607
616
  throw new Error(`[on-zero] data namespace ${path} is outside every instance directory declared in ${configPath}`);
608
617
  }
@@ -610,8 +619,8 @@ function assertNoUnclaimedNamespaces(ts, baseDir, configPath, instanceDirs) {
610
619
  };
611
620
  walk(baseDir);
612
621
  }
613
- function discoverDataLayout(ts, baseDir, configPath) {
614
- const config = readDataConfig(ts, baseDir, configPath);
622
+ function discoverDataLayout(project, baseDir, configPath) {
623
+ const config = readDataConfig(project, baseDir, configPath);
615
624
  const configured = config?.instances ?? [{
616
625
  name: "default",
617
626
  dir: baseDir,
@@ -621,7 +630,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
621
630
  const sourceRoots = [... /* @__PURE__ */new Set([baseDir, ...configured.map(instance => instance.dir)])];
622
631
  assertNoInstanceFiles(sourceRoots);
623
632
  if (config) {
624
- assertNoUnclaimedNamespaces(ts, baseDir, config.path, configured.map(instance => instance.dir));
633
+ assertNoUnclaimedNamespaces(project, baseDir, config.path, configured.map(instance => instance.dir));
625
634
  }
626
635
  const instances = configured.map(instance => ({
627
636
  name: instance.name,
@@ -635,7 +644,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
635
644
  }));
636
645
  const instanceDirs = new Set(instances.map(instance => instance.dir));
637
646
  for (const instance of instances) {
638
- instance.namespaces = discoverNamespaces(ts, baseDir, instance, instanceDirs);
647
+ instance.namespaces = discoverNamespaces(project, baseDir, instance, instanceDirs);
639
648
  }
640
649
  const namespaces = instances.flatMap(instance => instance.namespaces);
641
650
  const namespaceOwners = /* @__PURE__ */new Map();
@@ -656,14 +665,14 @@ function discoverDataLayout(ts, baseDir, configPath) {
656
665
  tableOwners.set(namespace.table, namespace.instance);
657
666
  }
658
667
  const metadata = metadataPaths(baseDir);
659
- const relations = relationTargets(ts, metadata);
660
- const columns = tableColumns(ts, metadata, namespaces);
668
+ const relations = relationTargets(project, metadata);
669
+ const columns = tableColumns(project, metadata, namespaces);
661
670
  const relatedOwners = /* @__PURE__ */new Map();
662
671
  for (const instance of instances) {
663
672
  const tables = new Set(instance.namespaces.map(namespace => namespace.table).filter(table => table !== null));
664
673
  const syncTables = new Set(tables);
665
674
  for (const namespace of instance.namespaces) {
666
- for (const table of aggregateTables(ts, namespace)) {
675
+ for (const table of aggregateTables(project, namespace)) {
667
676
  const owner = tableOwners.get(table) ?? relatedOwners.get(table);
668
677
  if (owner && owner !== instance.name) {
669
678
  throw new Error(`[on-zero] ${namespace.name} aggregates in instance '${instance.name}' reach table '${table}' owned by instance '${owner}'`);
@@ -672,7 +681,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
672
681
  tables.add(table);
673
682
  syncTables.add(table);
674
683
  }
675
- for (const reached of queriedTables(ts, namespace, relations)) {
684
+ for (const reached of queriedTables(project, namespace, relations)) {
676
685
  const owner = tableOwners.get(reached.table) ?? relatedOwners.get(reached.table);
677
686
  if (owner && owner !== instance.name) {
678
687
  throw new Error(`[on-zero] ${namespace.name}.${reached.query} in instance '${instance.name}' reaches table '${reached.table}' owned by instance '${owner}'`);
@@ -695,7 +704,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
695
704
  for (const instance of instances) {
696
705
  const supportTables = new Set(instance.declaredSupportTables);
697
706
  for (const namespace of instance.namespaces) {
698
- for (const table of mutationSupportTables(ts, baseDir, sourceRoots, namespace)) {
707
+ for (const table of mutationSupportTables(project, baseDir, sourceRoots, namespace)) {
699
708
  if (tableOwners.has(table) || relatedOwners.has(table)) continue;
700
709
  if (!instance.syncTables.includes(table)) {
701
710
  supportTables.add(table);