on-zero 0.16.17 → 0.16.18

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 (76) hide show
  1. package/dist/cjs/generate-helpers.cjs +28 -0
  2. package/dist/cjs/generate-helpers.native.js +36 -0
  3. package/dist/cjs/generate-helpers.native.js.map +1 -1
  4. package/dist/cjs/generate-layout.cjs +62 -53
  5. package/dist/cjs/generate-layout.native.js +62 -54
  6. package/dist/cjs/generate-layout.native.js.map +1 -1
  7. package/dist/cjs/generate-lite.cjs +28 -0
  8. package/dist/cjs/generate-lite.native.js +89 -33
  9. package/dist/cjs/generate-lite.native.js.map +1 -1
  10. package/dist/cjs/generate-lite.test.cjs +46 -0
  11. package/dist/cjs/generate-lite.test.native.js +46 -0
  12. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  13. package/dist/cjs/generate.cjs +237 -243
  14. package/dist/cjs/generate.native.js +352 -353
  15. package/dist/cjs/generate.native.js.map +1 -1
  16. package/dist/cjs/generate.test.cjs +35 -0
  17. package/dist/cjs/generate.test.native.js +35 -0
  18. package/dist/cjs/generate.test.native.js.map +1 -1
  19. package/dist/cjs/helpers/createMutators.cjs +2 -1
  20. package/dist/cjs/helpers/createMutators.native.js +3 -1
  21. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  22. package/dist/cjs/native-typescript.cjs +190 -0
  23. package/dist/cjs/native-typescript.native.js +255 -0
  24. package/dist/cjs/native-typescript.native.js.map +1 -0
  25. package/dist/esm/generate-helpers.mjs +27 -1
  26. package/dist/esm/generate-helpers.mjs.map +1 -1
  27. package/dist/esm/generate-helpers.native.js +35 -1
  28. package/dist/esm/generate-helpers.native.js.map +1 -1
  29. package/dist/esm/generate-layout.mjs +52 -54
  30. package/dist/esm/generate-layout.mjs.map +1 -1
  31. package/dist/esm/generate-layout.native.js +52 -55
  32. package/dist/esm/generate-layout.native.js.map +1 -1
  33. package/dist/esm/generate-lite.mjs +29 -1
  34. package/dist/esm/generate-lite.mjs.map +1 -1
  35. package/dist/esm/generate-lite.native.js +90 -34
  36. package/dist/esm/generate-lite.native.js.map +1 -1
  37. package/dist/esm/generate-lite.test.mjs +46 -0
  38. package/dist/esm/generate-lite.test.mjs.map +1 -1
  39. package/dist/esm/generate-lite.test.native.js +46 -0
  40. package/dist/esm/generate-lite.test.native.js.map +1 -1
  41. package/dist/esm/generate.mjs +238 -244
  42. package/dist/esm/generate.mjs.map +1 -1
  43. package/dist/esm/generate.native.js +353 -354
  44. package/dist/esm/generate.native.js.map +1 -1
  45. package/dist/esm/generate.test.mjs +35 -0
  46. package/dist/esm/generate.test.mjs.map +1 -1
  47. package/dist/esm/generate.test.native.js +35 -0
  48. package/dist/esm/generate.test.native.js.map +1 -1
  49. package/dist/esm/helpers/createMutators.mjs +2 -1
  50. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  51. package/dist/esm/helpers/createMutators.native.js +3 -1
  52. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  53. package/dist/esm/index.native.js.map +1 -1
  54. package/dist/esm/native-typescript.mjs +164 -0
  55. package/dist/esm/native-typescript.mjs.map +1 -0
  56. package/dist/esm/native-typescript.native.js +226 -0
  57. package/dist/esm/native-typescript.native.js.map +1 -0
  58. package/package.json +4 -3
  59. package/src/generate-helpers.ts +79 -0
  60. package/src/generate-layout.ts +64 -108
  61. package/src/generate-lite.test.ts +49 -0
  62. package/src/generate-lite.ts +44 -0
  63. package/src/generate.test.ts +52 -0
  64. package/src/generate.ts +313 -366
  65. package/src/helpers/createMutators.ts +14 -3
  66. package/src/native-typescript.ts +176 -0
  67. package/types/generate-helpers.d.ts +13 -0
  68. package/types/generate-helpers.d.ts.map +1 -1
  69. package/types/generate-layout.d.ts +2 -1
  70. package/types/generate-layout.d.ts.map +1 -1
  71. package/types/generate-lite.d.ts +1 -0
  72. package/types/generate-lite.d.ts.map +1 -1
  73. package/types/generate.d.ts.map +1 -1
  74. package/types/helpers/createMutators.d.ts.map +1 -1
  75. package/types/native-typescript.d.ts +11 -0
  76. package/types/native-typescript.d.ts.map +1 -0
@@ -1,5 +1,6 @@
1
- import { existsSync, readFileSync, readdirSync, statSync } from "fs";
1
+ import { existsSync, readdirSync, statSync } from "fs";
2
2
  import { basename, dirname, relative, resolve, sep } from "path";
3
+ import * as ts from "typescript/unstable/ast";
3
4
  function _type_of(obj) {
4
5
  "@swc/helpers - typeof";
5
6
 
@@ -15,13 +16,13 @@ var isWithin = function isWithin2(root, path) {
15
16
  var child = relative(root, path);
16
17
  return child === "" || child !== ".." && !child.startsWith(`..${sep}`);
17
18
  };
18
- function propertyName(ts, name) {
19
+ function propertyName(name) {
19
20
  if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {
20
21
  return name.text;
21
22
  }
22
23
  return null;
23
24
  }
24
- function readDataConfig(ts, baseDir, configPath) {
25
+ function readDataConfig(project, baseDir, configPath) {
25
26
  var path = configPath ? resolve(configPath) : resolve(baseDir, "on-zero.config.ts");
26
27
  if (!existsSync(path)) {
27
28
  if (configPath) throw new Error(`[on-zero] config file does not exist: ${path}`);
@@ -30,8 +31,8 @@ function readDataConfig(ts, baseDir, configPath) {
30
31
  if (dirname(path) !== baseDir) {
31
32
  throw new Error(`[on-zero] ${path} must be at the data root ${baseDir}`);
32
33
  }
33
- var source = ts.createSourceFile(path, readFileSync(path, "utf8"), ts.ScriptTarget.Latest, true);
34
- if (hasParseErrors(source)) throw new Error(`[on-zero] unable to parse ${path}`);
34
+ var source = project.sourceFile(path);
35
+ if (project.hasParseErrors(path)) throw new Error(`[on-zero] unable to parse ${path}`);
35
36
  var config = null;
36
37
  var _iteratorNormalCompletion = true,
37
38
  _didIteratorError = false,
@@ -74,7 +75,7 @@ function readDataConfig(ts, baseDir, configPath) {
74
75
  if (!ts.isPropertyAssignment(option)) {
75
76
  throw new Error(`[on-zero] ${path} options must use explicit property assignments`);
76
77
  }
77
- var name = propertyName(ts, option.name);
78
+ var name = propertyName(option.name);
78
79
  if (!name) throw new Error(`[on-zero] ${path} has an unsupported option name`);
79
80
  if (rootOptions.has(name)) throw new Error(`[on-zero] ${path} repeats option '${name}'`);
80
81
  rootOptions.set(name, option.initializer);
@@ -129,7 +130,7 @@ function readDataConfig(ts, baseDir, configPath) {
129
130
  if (!ts.isPropertyAssignment(property)) {
130
131
  throw new Error(`[on-zero] ${path} instances must use explicit property assignments`);
131
132
  }
132
- var name2 = propertyName(ts, property.name);
133
+ var name2 = propertyName(property.name);
133
134
  if (!name2) throw new Error(`[on-zero] ${path} has an unsupported instance name`);
134
135
  if (!ts.isObjectLiteralExpression(property.initializer)) {
135
136
  throw new Error(`[on-zero] instance '${name2}' must be an object`);
@@ -152,7 +153,7 @@ function readDataConfig(ts, baseDir, configPath) {
152
153
  if (!ts.isPropertyAssignment(option2)) {
153
154
  throw new Error(`[on-zero] instance '${name2}' options must be assignments`);
154
155
  }
155
- var optionName = propertyName(ts, option2.name);
156
+ var optionName = propertyName(option2.name);
156
157
  if (!optionName) throw new Error(`[on-zero] instance '${name2}' has an invalid option`);
157
158
  if (seen.has(optionName)) {
158
159
  throw new Error(`[on-zero] instance '${name2}' repeats option '${optionName}'`);
@@ -289,17 +290,13 @@ function readDataConfig(ts, baseDir, configPath) {
289
290
  instances
290
291
  };
291
292
  }
292
- function hasParseErrors(source) {
293
- var _source_parseDiagnostics;
294
- return Boolean((_source_parseDiagnostics = source.parseDiagnostics) === null || _source_parseDiagnostics === void 0 ? void 0 : _source_parseDiagnostics.length);
295
- }
296
- function namespaceExportKinds(ts, baseDir, path) {
293
+ function namespaceExportKinds(project, baseDir, path) {
297
294
  var none = {
298
295
  model: false,
299
296
  query: false
300
297
  };
301
- var source = ts.createSourceFile(path, readFileSync(path, "utf8"), ts.ScriptTarget.Latest, true);
302
- if (hasParseErrors(source)) {
298
+ var source = project.sourceFile(path);
299
+ if (project.hasParseErrors(path)) {
303
300
  var displayPath = relative(dirname(baseDir), path).split(sep).join("/");
304
301
  console.warn(`[on-zero] ignoring ${displayPath}: no recognized data exports`);
305
302
  return none;
@@ -397,7 +394,7 @@ function namespaceExportKinds(ts, baseDir, path) {
397
394
  }
398
395
  }
399
396
  var found1 = false;
400
- ts.forEachChild(node, function (child) {
397
+ node.forEachChild(function (child) {
401
398
  if (!found1 && reachesQuery(child)) found1 = true;
402
399
  });
403
400
  return found1;
@@ -410,8 +407,8 @@ function namespaceExportKinds(ts, baseDir, path) {
410
407
  query
411
408
  };
412
409
  }
413
- function mutationTable(ts, path, namespace) {
414
- var source = ts.createSourceFile(path, readFileSync(path, "utf8"), ts.ScriptTarget.Latest, true);
410
+ function mutationTable(project, path, namespace) {
411
+ var source = project.sourceFile(path);
415
412
  var schemaTable = null;
416
413
  var _iteratorNormalCompletion = true,
417
414
  _didIteratorError = false,
@@ -435,7 +432,7 @@ function mutationTable(ts, path, namespace) {
435
432
  if (!ts.isIdentifier(declaration.name) || !declaration.initializer) return "continue";
436
433
  if (declaration.name.text === "mutate" && ts.isCallExpression(declaration.initializer)) {
437
434
  var firstArgument = declaration.initializer.arguments[0];
438
- if (firstArgument && ts.isStringLiteralLike(firstArgument)) {
435
+ if (firstArgument && ts.isStringLiteral(firstArgument)) {
439
436
  return {
440
437
  v: firstArgument.text
441
438
  };
@@ -443,11 +440,11 @@ function mutationTable(ts, path, namespace) {
443
440
  }
444
441
  if (declaration.name.text !== "schema") return "continue";
445
442
  var visit = function visit1(node) {
446
- if (ts.isCallExpression(node) && node.expression.getText(source) === "table" && node.arguments[0] && ts.isStringLiteralLike(node.arguments[0])) {
443
+ if (ts.isCallExpression(node) && node.expression.getText(source) === "table" && node.arguments[0] && ts.isStringLiteral(node.arguments[0])) {
447
444
  schemaTable = node.arguments[0].text;
448
445
  return;
449
446
  }
450
- ts.forEachChild(node, visit);
447
+ node.forEachChild(visit);
451
448
  };
452
449
  visit(declaration.initializer);
453
450
  };
@@ -486,7 +483,7 @@ function mutationTable(ts, path, namespace) {
486
483
  }
487
484
  return schemaTable !== null && schemaTable !== void 0 ? schemaTable : namespace;
488
485
  }
489
- function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
486
+ function discoverNamespaces(project, baseDir, instance, instanceDirs) {
490
487
  var namespaces = [];
491
488
  var _iteratorNormalCompletion = true,
492
489
  _didIteratorError = false,
@@ -501,7 +498,7 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
501
498
  if (entry.isFile()) {
502
499
  if (!isSourceFile(entry.name) || entry.name === "on-zero.config.ts") continue;
503
500
  var path = resolve(instance.dir, entry.name);
504
- var kinds = namespaceExportKinds(ts, baseDir, path);
501
+ var kinds = namespaceExportKinds(project, baseDir, path);
505
502
  if (!kinds.model && !kinds.query) continue;
506
503
  var name = basename(entry.name, ".ts");
507
504
  namespaces.push({
@@ -512,7 +509,7 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
512
509
  // missing mutations.ts leaves modelPath null
513
510
  modelPath: kinds.model ? path : null,
514
511
  aggregatePath: null,
515
- table: kinds.model ? mutationTable(ts, path, name) : null,
512
+ table: kinds.model ? mutationTable(project, path, name) : null,
516
513
  sourcePaths: [path]
517
514
  });
518
515
  continue;
@@ -538,7 +535,7 @@ function discoverNamespaces(ts, baseDir, instance, instanceDirs) {
538
535
  queryPath: hasQueries ? queryPath : null,
539
536
  modelPath: hasMutations ? modelPath : null,
540
537
  aggregatePath: hasAggregates ? aggregatePath : null,
541
- table: hasMutations ? mutationTable(ts, modelPath, entry.name) : null,
538
+ table: hasMutations ? mutationTable(project, modelPath, entry.name) : null,
542
539
  sourcePaths: [hasQueries && queryPath, hasMutations && modelPath, hasAggregates && aggregatePath].filter(function (path2) {
543
540
  return Boolean(path2);
544
541
  })
@@ -595,7 +592,7 @@ function metadataPaths(baseDir) {
595
592
  }
596
593
  return paths.sort();
597
594
  }
598
- function relationTargets(ts, paths) {
595
+ function relationTargets(project, paths) {
599
596
  var relations = /* @__PURE__ */new Map();
600
597
  var _iteratorNormalCompletion = true,
601
598
  _didIteratorError = false,
@@ -603,10 +600,10 @@ function relationTargets(ts, paths) {
603
600
  try {
604
601
  var _loop = function () {
605
602
  var path = _step.value;
606
- var source = ts.createSourceFile(path, readFileSync(path, "utf8"), ts.ScriptTarget.Latest, true);
603
+ var source = project.sourceFile(path);
607
604
  var visit = function visit1(node) {
608
605
  if (!ts.isCallExpression(node) || node.expression.getText(source) !== "defineRelations") {
609
- ts.forEachChild(node, visit);
606
+ node.forEachChild(visit);
610
607
  return;
611
608
  }
612
609
  var factory = node.arguments[1];
@@ -691,7 +688,7 @@ function relationTargets(ts, paths) {
691
688
  }
692
689
  return relations;
693
690
  }
694
- function tableColumns(ts, paths, namespaces) {
691
+ function tableColumns(project, paths, namespaces) {
695
692
  var columns = /* @__PURE__ */new Map();
696
693
  var sources = /* @__PURE__ */new Set([...paths, ...namespaces.flatMap(function (namespace) {
697
694
  return namespace.sourcePaths;
@@ -702,17 +699,17 @@ function tableColumns(ts, paths, namespaces) {
702
699
  try {
703
700
  var _loop = function () {
704
701
  var path = _step.value;
705
- var source = ts.createSourceFile(path, readFileSync(path, "utf8"), ts.ScriptTarget.Latest, true);
702
+ var source = project.sourceFile(path);
706
703
  var visit = function visit1(node) {
707
704
  if (!ts.isVariableDeclaration(node) || !ts.isIdentifier(node.name) || !node.initializer) {
708
- ts.forEachChild(node, visit);
705
+ node.forEachChild(visit);
709
706
  return;
710
707
  }
711
708
  var tableNames = /* @__PURE__ */new Set([node.name.text]);
712
709
  var foundColumns = null;
713
710
  var inspect = function inspect1(candidate) {
714
711
  if (!ts.isCallExpression(candidate)) {
715
- ts.forEachChild(candidate, inspect);
712
+ candidate.forEachChild(inspect);
716
713
  return;
717
714
  }
718
715
  var _iteratorNormalCompletion3 = true,
@@ -746,7 +743,7 @@ function tableColumns(ts, paths, namespaces) {
746
743
  if (foundColumns) {
747
744
  var names = new Set(foundColumns.properties.map(function (property) {
748
745
  var _property_name;
749
- return (_property_name = property.name) === null || _property_name === void 0 ? void 0 : _property_name.getText(source).replace(/^['"]|['"]$/g, "");
746
+ return ts.isSpreadAssignment(property) ? null : (_property_name = property.name) === null || _property_name === void 0 ? void 0 : _property_name.getText(source).replace(/^['"]|['"]$/g, "");
750
747
  }).filter(function (name) {
751
748
  return Boolean(name);
752
749
  }));
@@ -773,7 +770,7 @@ function tableColumns(ts, paths, namespaces) {
773
770
  }
774
771
  }
775
772
  }
776
- ts.forEachChild(node, visit);
773
+ node.forEachChild(visit);
777
774
  };
778
775
  visit(source);
779
776
  };
@@ -794,9 +791,9 @@ function tableColumns(ts, paths, namespaces) {
794
791
  }
795
792
  return columns;
796
793
  }
797
- function queriedTables(ts, namespace, relations) {
794
+ function queriedTables(project, namespace, relations) {
798
795
  if (!namespace.queryPath) return [];
799
- var source = ts.createSourceFile(namespace.queryPath, readFileSync(namespace.queryPath, "utf8"), ts.ScriptTarget.Latest, true);
796
+ var source = project.sourceFile(namespace.queryPath);
800
797
  var reached = [];
801
798
  var functions = /* @__PURE__ */new Map();
802
799
  var exported = /* @__PURE__ */new Set();
@@ -907,7 +904,7 @@ function queriedTables(ts, namespace, relations) {
907
904
  visiting.delete(key);
908
905
  }
909
906
  }
910
- ts.forEachChild(node, function (child) {
907
+ node.forEachChild(function (child) {
911
908
  return visit(child, currentTable, query);
912
909
  });
913
910
  };
@@ -943,9 +940,9 @@ function queriedTables(ts, namespace, relations) {
943
940
  }
944
941
  return reached;
945
942
  }
946
- function aggregateTables(ts, namespace) {
943
+ function aggregateTables(project, namespace) {
947
944
  if (!namespace.aggregatePath) return [];
948
- var source = ts.createSourceFile(namespace.aggregatePath, readFileSync(namespace.aggregatePath, "utf8"), ts.ScriptTarget.Latest, true);
945
+ var source = project.sourceFile(namespace.aggregatePath);
949
946
  var unwrap = function unwrap2(node) {
950
947
  var current = node;
951
948
  while (ts.isSatisfiesExpression(current) || ts.isAsExpression(current) || ts.isParenthesizedExpression(current)) {
@@ -988,9 +985,9 @@ function aggregateTables(ts, namespace) {
988
985
  var _loop = function (_i2, _iter2) {
989
986
  var fieldName = _iter2[_i2];
990
987
  var field = definition.properties.find(function (candidate) {
991
- return ts.isPropertyAssignment(candidate) && propertyName(ts, candidate.name) === fieldName;
988
+ return ts.isPropertyAssignment(candidate) && propertyName(candidate.name) === fieldName;
992
989
  });
993
- if (!field || !ts.isStringLiteralLike(unwrap(field.initializer))) {
990
+ if (!field || !ts.isStringLiteral(unwrap(field.initializer))) {
994
991
  throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate ${property.name.getText(source)} ${fieldName} must be a string literal`);
995
992
  }
996
993
  tables.add(unwrap(field.initializer).text);
@@ -1051,14 +1048,14 @@ function aggregateTables(ts, namespace) {
1051
1048
  }
1052
1049
  return [...tables].sort();
1053
1050
  }
1054
- function mutationSupportTables(ts, baseDir, sourceRoots, namespace) {
1051
+ function mutationSupportTables(project, baseDir, sourceRoots, namespace) {
1055
1052
  if (!namespace.modelPath) return [];
1056
1053
  var tables = /* @__PURE__ */new Set();
1057
1054
  var visited = /* @__PURE__ */new Set();
1058
1055
  var scan = function scan1(path) {
1059
1056
  if (visited.has(path)) return;
1060
1057
  visited.add(path);
1061
- var source = ts.createSourceFile(path, readFileSync(path, "utf8"), ts.ScriptTarget.Latest, true);
1058
+ var source = project.sourceFile(path);
1062
1059
  var visit = function visit1(node) {
1063
1060
  if (ts.isPropertyAccessExpression(node) && ts.isPropertyAccessExpression(node.expression) && ["mutate", "query"].includes(node.expression.name.text)) {
1064
1061
  var transaction = node.expression.expression;
@@ -1085,7 +1082,7 @@ function mutationSupportTables(ts, baseDir, sourceRoots, namespace) {
1085
1082
  }
1086
1083
  }
1087
1084
  }
1088
- ts.forEachChild(node, visit);
1085
+ node.forEachChild(visit);
1089
1086
  };
1090
1087
  visit(source);
1091
1088
  };
@@ -1151,7 +1148,7 @@ function assertNoInstanceFiles(roots) {
1151
1148
  }
1152
1149
  }
1153
1150
  }
1154
- function assertNoUnclaimedNamespaces(ts, baseDir, configPath, instanceDirs) {
1151
+ function assertNoUnclaimedNamespaces(project, baseDir, configPath, instanceDirs) {
1155
1152
  var walk = function walk1(dir) {
1156
1153
  if (instanceDirs.some(function (instanceDir) {
1157
1154
  return isWithin(instanceDir, dir);
@@ -1173,7 +1170,7 @@ function assertNoUnclaimedNamespaces(ts, baseDir, configPath, instanceDirs) {
1173
1170
  if (!entry.isFile() || !isSourceFile(entry.name) || path === configPath || entry.name === "instance.ts") {
1174
1171
  continue;
1175
1172
  }
1176
- var kinds = namespaceExportKinds(ts, baseDir, path);
1173
+ var kinds = namespaceExportKinds(project, baseDir, path);
1177
1174
  if (kinds.model || kinds.query) {
1178
1175
  throw new Error(`[on-zero] data namespace ${path} is outside every instance directory declared in ${configPath}`);
1179
1176
  }
@@ -1195,9 +1192,9 @@ function assertNoUnclaimedNamespaces(ts, baseDir, configPath, instanceDirs) {
1195
1192
  };
1196
1193
  walk(baseDir);
1197
1194
  }
1198
- function discoverDataLayout(ts, baseDir, configPath) {
1195
+ function discoverDataLayout(project, baseDir, configPath) {
1199
1196
  var _ref;
1200
- var config = readDataConfig(ts, baseDir, configPath);
1197
+ var config = readDataConfig(project, baseDir, configPath);
1201
1198
  var configured = (_ref = config === null || config === void 0 ? void 0 : config.instances) !== null && _ref !== void 0 ? _ref : [{
1202
1199
  name: "default",
1203
1200
  dir: baseDir,
@@ -1209,7 +1206,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1209
1206
  })])];
1210
1207
  assertNoInstanceFiles(sourceRoots);
1211
1208
  if (config) {
1212
- assertNoUnclaimedNamespaces(ts, baseDir, config.path, configured.map(function (instance2) {
1209
+ assertNoUnclaimedNamespaces(project, baseDir, config.path, configured.map(function (instance2) {
1213
1210
  return instance2.dir;
1214
1211
  }));
1215
1212
  }
@@ -1234,7 +1231,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1234
1231
  try {
1235
1232
  for (var _iterator = instances[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1236
1233
  var instance = _step.value;
1237
- instance.namespaces = discoverNamespaces(ts, baseDir, instance, instanceDirs);
1234
+ instance.namespaces = discoverNamespaces(project, baseDir, instance, instanceDirs);
1238
1235
  }
1239
1236
  } catch (err) {
1240
1237
  _didIteratorError = true;
@@ -1309,8 +1306,8 @@ function discoverDataLayout(ts, baseDir, configPath) {
1309
1306
  }
1310
1307
  }
1311
1308
  var metadata = metadataPaths(baseDir);
1312
- var relations = relationTargets(ts, metadata);
1313
- var columns = tableColumns(ts, metadata, namespaces);
1309
+ var relations = relationTargets(project, metadata);
1310
+ var columns = tableColumns(project, metadata, namespaces);
1314
1311
  var relatedOwners = /* @__PURE__ */new Map();
1315
1312
  var _iteratorNormalCompletion3 = true,
1316
1313
  _didIteratorError3 = false,
@@ -1334,7 +1331,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1334
1331
  _didIteratorError5 = false,
1335
1332
  _iteratorError5 = void 0;
1336
1333
  try {
1337
- for (var _iterator5 = aggregateTables(ts, namespace2)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
1334
+ for (var _iterator5 = aggregateTables(project, namespace2)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
1338
1335
  var table = _step5.value;
1339
1336
  var _tableOwners_get;
1340
1337
  var owner2 = (_tableOwners_get = tableOwners.get(table)) !== null && _tableOwners_get !== void 0 ? _tableOwners_get : relatedOwners.get(table);
@@ -1363,7 +1360,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1363
1360
  _didIteratorError6 = false,
1364
1361
  _iteratorError6 = void 0;
1365
1362
  try {
1366
- for (var _iterator6 = queriedTables(ts, namespace2, relations)[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
1363
+ for (var _iterator6 = queriedTables(project, namespace2, relations)[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
1367
1364
  var reached = _step6.value;
1368
1365
  var _tableOwners_get1;
1369
1366
  var owner3 = (_tableOwners_get1 = tableOwners.get(reached.table)) !== null && _tableOwners_get1 !== void 0 ? _tableOwners_get1 : relatedOwners.get(reached.table);
@@ -1464,7 +1461,7 @@ function discoverDataLayout(ts, baseDir, configPath) {
1464
1461
  _didIteratorError12 = false,
1465
1462
  _iteratorError12 = void 0;
1466
1463
  try {
1467
- for (var _iterator12 = mutationSupportTables(ts, baseDir, sourceRoots, namespace3)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1464
+ for (var _iterator12 = mutationSupportTables(project, baseDir, sourceRoots, namespace3)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1468
1465
  var table2 = _step12.value;
1469
1466
  if (tableOwners.has(table2) || relatedOwners.has(table2)) continue;
1470
1467
  if (!instance2.syncTables.includes(table2)) {
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","readFileSync","readdirSync","statSync","basename","dirname","relative","resolve","sep","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","split","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","Error","source","createSourceFile","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","iterator","_step","next","done","statement","value","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","isDirectory","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","found","delete","found1","forEachChild","mutationTable","namespace","schemaTable","firstArgument","isStringLiteralLike","v","visit","visit1","_ret","discoverNamespaces","instanceDirs","namespaces","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","queryPath","modelPath","aggregatePath","sourcePaths","folder","hasQueries","hasMutations","hasAggregates","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name","tableName"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["existsSync","readdirSync","statSync","basename","dirname","relative","resolve","sep","ts","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","split","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","project","configPath","Error","source","sourceFile","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","iterator","_step","next","done","statement","value","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","isDirectory","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","found","delete","found1","forEachChild","mutationTable","namespace","schemaTable","firstArgument","v","visit","visit1","_ret","discoverNamespaces","instanceDirs","namespaces","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","queryPath","modelPath","aggregatePath","sourcePaths","folder","hasQueries","hasMutations","hasAggregates","includes","filter","path2","Boolean","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name","isSpreadAssignment","tableName"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CRUD_MUTATION_NAMES, generateAggregatesFile, generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString } from "./generate-helpers.mjs";
1
+ import { CRUD_MUTATION_NAMES, generateAggregatesFile, generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString, renderDrizzleSchemaInputModule, renderDrizzleZeroSqliteSchemaModule } from "./generate-helpers.mjs";
2
2
  function stripTrailingSlash(s) {
3
3
  return s.endsWith("/") ? s.slice(0, -1) : s;
4
4
  }
@@ -205,6 +205,7 @@ function generateLite(opts) {
205
205
  aggregateTables.set(namespace.name, [...new Set(parsed.aggregateTables ?? [])]);
206
206
  }
207
207
  const relations = /* @__PURE__ */new Map();
208
+ const drizzleRelations = [];
208
209
  const tableColumns = /* @__PURE__ */new Map();
209
210
  for (const path of Object.keys(files).filter(path2 => path2.endsWith("/relations.ts") || /\/database\/(?:schema[^/]*|zeroSchemaInput)\.ts$/.test(path2))) {
210
211
  const parsed = parse(files[path], path);
@@ -212,6 +213,7 @@ function generateLite(opts) {
212
213
  const tableRelations = relations.get(relation.sourceTable) ?? /* @__PURE__ */new Map();
213
214
  tableRelations.set(relation.name, relation.targetTable);
214
215
  relations.set(relation.sourceTable, tableRelations);
216
+ drizzleRelations.push(relation);
215
217
  }
216
218
  for (const table of parsed.tables ?? []) {
217
219
  tableColumns.set(table.name, new Set(table.columns));
@@ -450,6 +452,32 @@ function generateLite(opts) {
450
452
  importPath: `../${relativePath(baseDir, namespace.aggregatePath).replace(/\.ts$/, "")}`
451
453
  })));
452
454
  }
455
+ const allTables = [...new Set(instances.flatMap(instance => [...(syncTables.get(instance.name) ?? []), ...(supportTables.get(instance.name) ?? [])]))].sort();
456
+ const hasDatabaseSchema = Object.keys(files).some(path => /\/database\/schema\.ts$/.test(path));
457
+ if (hasDatabaseSchema && allTables.length > 0) {
458
+ const included = new Set(allTables);
459
+ const relationTables = /* @__PURE__ */new Map();
460
+ for (const relation of drizzleRelations) {
461
+ if (!included.has(relation.sourceTable) || !included.has(relation.targetTable)) {
462
+ continue;
463
+ }
464
+ const properties = relationTables.get(relation.sourceTable) ?? [];
465
+ properties.push(relation.sourceText ?? `${relation.name}: r.many.${relation.targetTable}({})`);
466
+ relationTables.set(relation.sourceTable, properties);
467
+ }
468
+ out["drizzleSchema.ts"] = renderDrizzleSchemaInputModule({
469
+ schemaImportPath: "../../database/schema",
470
+ tableNames: allTables,
471
+ relationTables: [...relationTables.entries()].map(([key, properties]) => ({
472
+ key,
473
+ properties
474
+ }))
475
+ });
476
+ out["schema.ts"] = renderDrizzleZeroSqliteSchemaModule({
477
+ importPath: "./drizzleSchema",
478
+ tableNames: allTables
479
+ });
480
+ }
453
481
  let mutationCount = 0;
454
482
  for (const m of allModelMutations) {
455
483
  if (m.hasCRUD) mutationCount += CRUD_MUTATION_NAMES.length;