@rawsql-ts/ztd-cli 0.15.0 → 0.17.0

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 (153) hide show
  1. package/README.md +38 -25
  2. package/dist/commands/init.d.ts +13 -0
  3. package/dist/commands/init.js +372 -118
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/lint.d.ts +4 -4
  6. package/dist/commands/lint.js +60 -40
  7. package/dist/commands/lint.js.map +1 -1
  8. package/dist/commands/ztdConfig.d.ts +2 -2
  9. package/dist/commands/ztdConfig.js +26 -12
  10. package/dist/commands/ztdConfig.js.map +1 -1
  11. package/dist/utils/optionalDependencies.d.ts +35 -0
  12. package/dist/utils/optionalDependencies.js +96 -0
  13. package/dist/utils/optionalDependencies.js.map +1 -0
  14. package/package.json +18 -10
  15. package/templates/AGENTS.md +36 -296
  16. package/templates/README.md +12 -237
  17. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.d.ts +38 -0
  18. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js +117 -0
  19. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js.map +1 -0
  20. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.d.ts +4 -0
  21. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js +71 -0
  22. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js.map +1 -0
  23. package/templates/dist/drivers/pg-testkit/src/index.d.ts +5 -0
  24. package/templates/dist/drivers/pg-testkit/src/index.js +11 -0
  25. package/templates/dist/drivers/pg-testkit/src/index.js.map +1 -0
  26. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.d.ts +3 -0
  27. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js +79 -0
  28. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js.map +1 -0
  29. package/templates/dist/drivers/pg-testkit/src/types.d.ts +69 -0
  30. package/templates/dist/drivers/pg-testkit/src/types.js +3 -0
  31. package/templates/dist/drivers/pg-testkit/src/types.js.map +1 -0
  32. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.d.ts +15 -0
  33. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js +34 -0
  34. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js.map +1 -0
  35. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.d.ts +12 -0
  36. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js +53 -0
  37. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js.map +1 -0
  38. package/templates/dist/mapper-core/src/index.d.ts +160 -0
  39. package/templates/dist/mapper-core/src/index.js +637 -0
  40. package/templates/dist/mapper-core/src/index.js.map +1 -0
  41. package/templates/dist/testkit-core/src/errors/index.d.ts +49 -0
  42. package/templates/dist/testkit-core/src/errors/index.js +111 -0
  43. package/templates/dist/testkit-core/src/errors/index.js.map +1 -0
  44. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.d.ts +5 -0
  45. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js +29 -0
  46. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js.map +1 -0
  47. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.d.ts +37 -0
  48. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js +182 -0
  49. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js.map +1 -0
  50. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.d.ts +20 -0
  51. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js +121 -0
  52. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js.map +1 -0
  53. package/templates/dist/testkit-core/src/fixtures/FixtureStore.d.ts +51 -0
  54. package/templates/dist/testkit-core/src/fixtures/FixtureStore.js +199 -0
  55. package/templates/dist/testkit-core/src/fixtures/FixtureStore.js.map +1 -0
  56. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.d.ts +10 -0
  57. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js +28 -0
  58. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js.map +1 -0
  59. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.d.ts +18 -0
  60. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js +80 -0
  61. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js.map +1 -0
  62. package/templates/dist/testkit-core/src/fixtures/ddlLint.d.ts +59 -0
  63. package/templates/dist/testkit-core/src/fixtures/ddlLint.js +489 -0
  64. package/templates/dist/testkit-core/src/fixtures/ddlLint.js.map +1 -0
  65. package/templates/dist/testkit-core/src/fixtures/naming.d.ts +1 -0
  66. package/templates/dist/testkit-core/src/fixtures/naming.js +6 -0
  67. package/templates/dist/testkit-core/src/fixtures/naming.js.map +1 -0
  68. package/templates/dist/testkit-core/src/index.d.ts +17 -0
  69. package/templates/dist/testkit-core/src/index.js +47 -0
  70. package/templates/dist/testkit-core/src/index.js.map +1 -0
  71. package/templates/dist/testkit-core/src/logger/NoopLogger.d.ts +8 -0
  72. package/templates/dist/testkit-core/src/logger/NoopLogger.js +16 -0
  73. package/templates/dist/testkit-core/src/logger/NoopLogger.js.map +1 -0
  74. package/templates/dist/testkit-core/src/provider/TestkitProvider.d.ts +57 -0
  75. package/templates/dist/testkit-core/src/provider/TestkitProvider.js +149 -0
  76. package/templates/dist/testkit-core/src/provider/TestkitProvider.js.map +1 -0
  77. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.d.ts +43 -0
  78. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js +473 -0
  79. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js.map +1 -0
  80. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.d.ts +9 -0
  81. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js +38 -0
  82. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js.map +1 -0
  83. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.d.ts +42 -0
  84. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js +298 -0
  85. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js.map +1 -0
  86. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.d.ts +12 -0
  87. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js +63 -0
  88. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js.map +1 -0
  89. package/templates/dist/testkit-core/src/types/index.d.ts +69 -0
  90. package/templates/dist/testkit-core/src/types/index.js +3 -0
  91. package/templates/dist/testkit-core/src/types/index.js.map +1 -0
  92. package/templates/dist/testkit-core/src/utils/queryHelpers.d.ts +28 -0
  93. package/templates/dist/testkit-core/src/utils/queryHelpers.js +81 -0
  94. package/templates/dist/testkit-core/src/utils/queryHelpers.js.map +1 -0
  95. package/templates/dist/writer-core/src/index.d.ts +34 -0
  96. package/templates/dist/writer-core/src/index.js +115 -0
  97. package/templates/dist/writer-core/src/index.js.map +1 -0
  98. package/templates/dist/ztd-cli/templates/src/db/sql-client.d.ts +20 -0
  99. package/templates/dist/ztd-cli/templates/src/db/sql-client.js +3 -0
  100. package/templates/dist/ztd-cli/templates/src/db/sql-client.js.map +1 -0
  101. package/templates/dist/ztd-cli/templates/src/db/sql-client.ts +24 -0
  102. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.d.ts +36 -0
  103. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js +85 -0
  104. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js.map +1 -0
  105. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.d.ts +20 -0
  106. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js +33 -0
  107. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js.map +1 -0
  108. package/templates/dist/ztd-cli/templates/tests/support/global-setup.d.ts +10 -0
  109. package/templates/dist/ztd-cli/templates/tests/support/global-setup.js +29 -0
  110. package/templates/dist/ztd-cli/templates/tests/support/global-setup.js.map +1 -0
  111. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.d.ts +66 -0
  112. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js +552 -0
  113. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js.map +1 -0
  114. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.d.ts +1 -0
  115. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js +82 -0
  116. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js.map +1 -0
  117. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.d.ts +1 -0
  118. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js +29 -0
  119. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js.map +1 -0
  120. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.d.ts +7 -0
  121. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js +10 -0
  122. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js.map +1 -0
  123. package/templates/src/AGENTS.md +26 -0
  124. package/templates/src/catalog/AGENTS.md +37 -0
  125. package/templates/src/catalog/runtime/AGENTS.md +75 -0
  126. package/templates/src/catalog/runtime/_coercions.ts +1 -0
  127. package/templates/src/catalog/runtime/_smoke.runtime.ts +21 -0
  128. package/templates/src/catalog/specs/AGENTS.md +48 -0
  129. package/templates/src/catalog/specs/_smoke.spec.arktype.ts +21 -0
  130. package/templates/src/catalog/specs/_smoke.spec.zod.ts +20 -0
  131. package/templates/src/db/sql-client.ts +5 -5
  132. package/templates/src/jobs/AGENTS.md +26 -0
  133. package/templates/src/jobs/README.md +3 -0
  134. package/templates/src/repositories/AGENTS.md +118 -0
  135. package/templates/src/repositories/tables/AGENTS.md +94 -0
  136. package/templates/src/repositories/tables/README.md +3 -0
  137. package/templates/src/repositories/views/AGENTS.md +25 -0
  138. package/templates/src/repositories/views/README.md +3 -0
  139. package/templates/src/sql/AGENTS.md +77 -0
  140. package/templates/src/sql/README.md +6 -0
  141. package/templates/tests/AGENTS.md +43 -129
  142. package/templates/tests/generated/AGENTS.md +16 -0
  143. package/templates/tests/smoke.test.ts +5 -0
  144. package/templates/tests/smoke.validation.test.ts +34 -0
  145. package/templates/tests/support/AGENTS.md +26 -0
  146. package/templates/tests/support/global-setup.ts +8 -23
  147. package/templates/tests/support/testkit-client.ts +13 -741
  148. package/templates/tests/ztd-layout.generated.ts +0 -2
  149. package/templates/tsconfig.json +9 -3
  150. package/templates/ztd/AGENTS.md +11 -142
  151. package/templates/ztd/README.md +4 -82
  152. package/templates/ztd/ddl/AGENTS.md +34 -0
  153. package/templates/ztd/ddl/demo.sql +74 -0
@@ -0,0 +1,489 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_DDL_LINT_MODE = void 0;
4
+ exports.normalizeDdlLintMode = normalizeDdlLintMode;
5
+ exports.lintDdlSources = lintDdlSources;
6
+ exports.applyDdlLintMode = applyDdlLintMode;
7
+ exports.formatDdlLintDiagnostics = formatDdlLintDiagnostics;
8
+ const rawsql_ts_1 = require("rawsql-ts");
9
+ const TableNameResolver_1 = require("./TableNameResolver");
10
+ /**
11
+ * Default lint mode used when none is specified.
12
+ */
13
+ exports.DEFAULT_DDL_LINT_MODE = 'strict';
14
+ /**
15
+ * Normalizes the requested lint mode, falling back to the default.
16
+ */
17
+ function normalizeDdlLintMode(mode) {
18
+ return mode !== null && mode !== void 0 ? mode : exports.DEFAULT_DDL_LINT_MODE;
19
+ }
20
+ const SEVERITY_RANK = {
21
+ error: 0,
22
+ warning: 1,
23
+ };
24
+ /**
25
+ * Runs integrity checks across the supplied DDL sources and returns sorted diagnostics.
26
+ */
27
+ function lintDdlSources(sources, options = {}) {
28
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
29
+ if (sources.length === 0) {
30
+ return [];
31
+ }
32
+ const resolver = (_a = options.tableNameResolver) !== null && _a !== void 0 ? _a : new TableNameResolver_1.TableNameResolver();
33
+ const createStatements = [];
34
+ const alterStatements = [];
35
+ const indexStatements = [];
36
+ for (const source of sources) {
37
+ const split = rawsql_ts_1.MultiQuerySplitter.split(source.sql);
38
+ for (const query of split.queries) {
39
+ if (query.isEmpty) {
40
+ continue;
41
+ }
42
+ let ast;
43
+ try {
44
+ ast = rawsql_ts_1.SqlParser.parse(query.sql);
45
+ }
46
+ catch (_error) {
47
+ continue;
48
+ }
49
+ const context = {
50
+ source: source.path,
51
+ statementIndex: query.index,
52
+ };
53
+ if (ast instanceof rawsql_ts_1.CreateTableQuery) {
54
+ createStatements.push({ ast, context });
55
+ }
56
+ else if (ast instanceof rawsql_ts_1.AlterTableStatement) {
57
+ alterStatements.push({ ast, context });
58
+ }
59
+ else if (ast instanceof rawsql_ts_1.CreateIndexStatement) {
60
+ indexStatements.push({ ast, context });
61
+ }
62
+ }
63
+ }
64
+ const diagnostics = [];
65
+ const tables = new Map();
66
+ for (const entry of createStatements) {
67
+ const tableName = resolveTableName(entry.ast, resolver);
68
+ if (!tableName) {
69
+ continue;
70
+ }
71
+ let table = tables.get(tableName);
72
+ if (!table) {
73
+ table = {
74
+ name: tableName,
75
+ columns: new Map(),
76
+ constraints: [],
77
+ };
78
+ tables.set(tableName, table);
79
+ }
80
+ // Track duplicate column definitions while populating the column registry.
81
+ for (const column of entry.ast.columns) {
82
+ registerColumnDefinition(table, column, entry.context, diagnostics);
83
+ }
84
+ // Capture table-level constraints for downstream column checks.
85
+ for (const constraint of entry.ast.tableConstraints) {
86
+ registerTableConstraint(table, constraint, entry.context);
87
+ }
88
+ // Capture column-level constraints (e.g. named foreign keys).
89
+ for (const column of entry.ast.columns) {
90
+ for (const constraint of column.constraints) {
91
+ registerColumnConstraint(table, column, constraint, entry.context);
92
+ }
93
+ }
94
+ }
95
+ for (const entry of alterStatements) {
96
+ const tableName = resolveQualifiedName(entry.ast.table, resolver, tables);
97
+ if (!tableName) {
98
+ diagnostics.push({
99
+ code: 'ddl/alter-missing-table',
100
+ severity: 'error',
101
+ source: entry.context.source,
102
+ statementIndex: entry.context.statementIndex,
103
+ table: entry.ast.table.toString(),
104
+ message: `ALTER TABLE targets unknown table "${entry.ast.table.toString()}".`,
105
+ });
106
+ continue;
107
+ }
108
+ const table = tables.get(tableName);
109
+ if (!table) {
110
+ continue;
111
+ }
112
+ // Apply ALTER TABLE actions so column- and constraint-level linting sees the final shape.
113
+ for (const action of entry.ast.actions) {
114
+ if (action instanceof rawsql_ts_1.AlterTableAddColumn) {
115
+ registerColumnDefinition(table, action.column, entry.context, diagnostics);
116
+ for (const constraint of action.column.constraints) {
117
+ registerColumnConstraint(table, action.column, constraint, entry.context);
118
+ }
119
+ continue;
120
+ }
121
+ if (action instanceof rawsql_ts_1.AlterTableAddConstraint) {
122
+ registerTableConstraint(table, action.constraint, entry.context);
123
+ continue;
124
+ }
125
+ if (action instanceof rawsql_ts_1.AlterTableAlterColumnDefault) {
126
+ const targetName = normalizeColumnName(action.columnName.name);
127
+ if (!table.columns.has(targetName)) {
128
+ diagnostics.push({
129
+ code: 'ddl/alter-missing-column',
130
+ severity: 'error',
131
+ source: entry.context.source,
132
+ statementIndex: entry.context.statementIndex,
133
+ table: table.name,
134
+ column: action.columnName.name,
135
+ message: `ALTER COLUMN targets unknown column "${action.columnName.name}" in "${table.name}".`,
136
+ });
137
+ }
138
+ continue;
139
+ }
140
+ if (action instanceof rawsql_ts_1.AlterTableDropColumn) {
141
+ const targetName = normalizeColumnName(action.columnName.name);
142
+ if (!table.columns.has(targetName)) {
143
+ diagnostics.push({
144
+ code: 'ddl/alter-missing-column',
145
+ severity: 'error',
146
+ source: entry.context.source,
147
+ statementIndex: entry.context.statementIndex,
148
+ table: table.name,
149
+ column: action.columnName.name,
150
+ message: `ALTER COLUMN targets unknown column "${action.columnName.name}" in "${table.name}".`,
151
+ });
152
+ }
153
+ }
154
+ }
155
+ }
156
+ for (const entry of indexStatements) {
157
+ const tableName = resolveQualifiedName(entry.ast.tableName, resolver, tables);
158
+ if (!tableName) {
159
+ continue;
160
+ }
161
+ const table = tables.get(tableName);
162
+ if (!table) {
163
+ continue;
164
+ }
165
+ // Check only simple column references; expression-based indexes are ignored.
166
+ for (const column of entry.ast.columns) {
167
+ const simpleColumn = getSimpleColumnReference(column.expression);
168
+ if (!simpleColumn) {
169
+ continue;
170
+ }
171
+ if (!table.columns.has(normalizeColumnName(simpleColumn))) {
172
+ diagnostics.push({
173
+ code: 'ddl/missing-column',
174
+ severity: 'error',
175
+ source: entry.context.source,
176
+ statementIndex: entry.context.statementIndex,
177
+ table: table.name,
178
+ column: simpleColumn,
179
+ message: `Index "${entry.ast.indexName.toString()}" references missing column "${simpleColumn}" on "${table.name}".`,
180
+ });
181
+ }
182
+ }
183
+ const includeColumns = (_b = entry.ast.include) !== null && _b !== void 0 ? _b : [];
184
+ for (const includeColumn of includeColumns) {
185
+ if (!table.columns.has(normalizeColumnName(includeColumn.name))) {
186
+ diagnostics.push({
187
+ code: 'ddl/missing-column',
188
+ severity: 'error',
189
+ source: entry.context.source,
190
+ statementIndex: entry.context.statementIndex,
191
+ table: table.name,
192
+ column: includeColumn.name,
193
+ message: `Index "${entry.ast.indexName.toString()}" includes missing column "${includeColumn.name}" on "${table.name}".`,
194
+ });
195
+ }
196
+ }
197
+ }
198
+ for (const table of tables.values()) {
199
+ // Detect duplicate constraint names within the same table.
200
+ const namedConstraints = table.constraints.filter((constraint) => constraint.name);
201
+ const seen = new Map();
202
+ for (const constraint of namedConstraints) {
203
+ const key = normalizeConstraintName((_c = constraint.name) !== null && _c !== void 0 ? _c : '');
204
+ const existing = (_d = seen.get(key)) !== null && _d !== void 0 ? _d : [];
205
+ existing.push(constraint);
206
+ seen.set(key, existing);
207
+ }
208
+ for (const constraints of seen.values()) {
209
+ if (constraints.length < 2) {
210
+ continue;
211
+ }
212
+ for (const constraint of constraints) {
213
+ diagnostics.push({
214
+ code: 'ddl/duplicate-constraint',
215
+ severity: 'error',
216
+ source: constraint.source.source,
217
+ statementIndex: constraint.source.statementIndex,
218
+ table: table.name,
219
+ constraint: constraint.name,
220
+ message: `Constraint name "${constraint.name}" is defined multiple times on "${table.name}".`,
221
+ });
222
+ }
223
+ }
224
+ // Validate constraint column references against the resolved table columns.
225
+ for (const constraint of table.constraints) {
226
+ const columns = (_e = constraint.columns) !== null && _e !== void 0 ? _e : [];
227
+ if (constraint.kind !== 'check') {
228
+ for (const column of columns) {
229
+ if (!table.columns.has(normalizeColumnName(column))) {
230
+ diagnostics.push({
231
+ code: 'ddl/missing-column',
232
+ severity: 'error',
233
+ source: constraint.source.source,
234
+ statementIndex: constraint.source.statementIndex,
235
+ table: table.name,
236
+ column,
237
+ constraint: constraint.name,
238
+ message: `Constraint "${(_f = constraint.name) !== null && _f !== void 0 ? _f : constraint.kind}" references missing column "${column}" on "${table.name}".`,
239
+ });
240
+ }
241
+ }
242
+ }
243
+ if (constraint.kind === 'check') {
244
+ const simpleColumn = getSimpleColumnReference(constraint.checkExpression);
245
+ if (simpleColumn && !table.columns.has(normalizeColumnName(simpleColumn))) {
246
+ diagnostics.push({
247
+ code: 'ddl/missing-column',
248
+ severity: 'error',
249
+ source: constraint.source.source,
250
+ statementIndex: constraint.source.statementIndex,
251
+ table: table.name,
252
+ column: simpleColumn,
253
+ constraint: constraint.name,
254
+ message: `CHECK constraint "${(_g = constraint.name) !== null && _g !== void 0 ? _g : 'unnamed'}" references missing column "${simpleColumn}" on "${table.name}".`,
255
+ });
256
+ }
257
+ }
258
+ if (constraint.kind === 'foreign-key' && constraint.reference) {
259
+ const referencing = (_h = constraint.columns) !== null && _h !== void 0 ? _h : [];
260
+ const referencedTableName = resolveQualifiedName(constraint.reference.targetTable, resolver, tables);
261
+ if (!referencedTableName) {
262
+ diagnostics.push({
263
+ code: 'ddl/foreign-key-missing-table',
264
+ severity: 'error',
265
+ source: constraint.source.source,
266
+ statementIndex: constraint.source.statementIndex,
267
+ table: table.name,
268
+ constraint: constraint.name,
269
+ referencedTable: constraint.reference.targetTable.toString(),
270
+ message: `Foreign key "${(_j = constraint.name) !== null && _j !== void 0 ? _j : 'unnamed'}" references unknown table "${constraint.reference.targetTable.toString()}".`,
271
+ });
272
+ continue;
273
+ }
274
+ const referenced = tables.get(referencedTableName);
275
+ if (!referenced) {
276
+ continue;
277
+ }
278
+ const referencedColumns = (_l = (_k = constraint.reference.columns) === null || _k === void 0 ? void 0 : _k.map((column) => column.name)) !== null && _l !== void 0 ? _l : null;
279
+ if (referencedColumns && referencing.length !== referencedColumns.length) {
280
+ diagnostics.push({
281
+ code: 'ddl/foreign-key-column-count',
282
+ severity: 'error',
283
+ source: constraint.source.source,
284
+ statementIndex: constraint.source.statementIndex,
285
+ table: table.name,
286
+ constraint: constraint.name,
287
+ referencedTable: referencedTableName,
288
+ message: `Foreign key "${(_m = constraint.name) !== null && _m !== void 0 ? _m : 'unnamed'}" column count (${referencing.length}) does not match referenced column count (${referencedColumns.length}).`,
289
+ });
290
+ }
291
+ if (referencedColumns) {
292
+ for (const column of referencedColumns) {
293
+ if (!referenced.columns.has(normalizeColumnName(column))) {
294
+ diagnostics.push({
295
+ code: 'ddl/foreign-key-missing-column',
296
+ severity: 'error',
297
+ source: constraint.source.source,
298
+ statementIndex: constraint.source.statementIndex,
299
+ table: table.name,
300
+ constraint: constraint.name,
301
+ referencedTable: referencedTableName,
302
+ referencedColumn: column,
303
+ message: `Foreign key "${(_o = constraint.name) !== null && _o !== void 0 ? _o : 'unnamed'}" references missing column "${column}" on "${referencedTableName}".`,
304
+ });
305
+ }
306
+ }
307
+ }
308
+ }
309
+ }
310
+ }
311
+ return sortDiagnostics(diagnostics);
312
+ }
313
+ /**
314
+ * Adjusts diagnostic severities based on the selected lint mode.
315
+ */
316
+ function applyDdlLintMode(diagnostics, mode) {
317
+ if (mode !== 'warn') {
318
+ return diagnostics;
319
+ }
320
+ return diagnostics.map((diagnostic) => ({
321
+ ...diagnostic,
322
+ severity: 'warning',
323
+ }));
324
+ }
325
+ /**
326
+ * Formats DDL diagnostics into a human-readable summary.
327
+ */
328
+ function formatDdlLintDiagnostics(diagnostics) {
329
+ if (diagnostics.length === 0) {
330
+ return '';
331
+ }
332
+ const lines = [];
333
+ lines.push(`DDL integrity check found ${diagnostics.length} issue(s):`);
334
+ for (const diagnostic of diagnostics) {
335
+ const meta = [];
336
+ if (diagnostic.table) {
337
+ meta.push(`table=${diagnostic.table}`);
338
+ }
339
+ if (diagnostic.column) {
340
+ meta.push(`column=${diagnostic.column}`);
341
+ }
342
+ if (diagnostic.constraint) {
343
+ meta.push(`constraint=${diagnostic.constraint}`);
344
+ }
345
+ if (diagnostic.referencedTable) {
346
+ meta.push(`referencedTable=${diagnostic.referencedTable}`);
347
+ }
348
+ if (diagnostic.referencedColumn) {
349
+ meta.push(`referencedColumn=${diagnostic.referencedColumn}`);
350
+ }
351
+ const metaSuffix = meta.length > 0 ? ` (${meta.join(', ')})` : '';
352
+ lines.push(`- [${diagnostic.severity}] ${diagnostic.code} ${diagnostic.source}#${diagnostic.statementIndex}${metaSuffix}`);
353
+ lines.push(` ${diagnostic.message}`);
354
+ }
355
+ return lines.join('\n');
356
+ }
357
+ function resolveTableName(query, resolver) {
358
+ var _a;
359
+ const namespaces = (_a = query.namespaces) !== null && _a !== void 0 ? _a : [];
360
+ const rawName = namespaces.length > 0 ? [...namespaces, query.tableName.name].join('.') : query.tableName.name;
361
+ return resolver.resolve(rawName);
362
+ }
363
+ function resolveQualifiedName(tableName, resolver, tables) {
364
+ const rawName = tableName.toString();
365
+ const resolved = resolver.resolve(rawName, (candidate) => tables.has(candidate));
366
+ return tables.has(resolved) ? resolved : undefined;
367
+ }
368
+ function registerColumnDefinition(table, column, context, diagnostics) {
369
+ const columnName = column.name.name;
370
+ const normalized = normalizeColumnName(columnName);
371
+ if (table.columns.has(normalized)) {
372
+ diagnostics.push({
373
+ code: 'ddl/duplicate-column',
374
+ severity: 'error',
375
+ source: context.source,
376
+ statementIndex: context.statementIndex,
377
+ table: table.name,
378
+ column: columnName,
379
+ message: `Column "${columnName}" is defined multiple times on "${table.name}".`,
380
+ });
381
+ return;
382
+ }
383
+ table.columns.set(normalized, columnName);
384
+ }
385
+ function registerTableConstraint(table, constraint, context) {
386
+ var _a, _b, _c;
387
+ if (!isLintableTableConstraint(constraint)) {
388
+ return;
389
+ }
390
+ table.constraints.push({
391
+ kind: constraint.kind,
392
+ name: (_a = constraint.constraintName) === null || _a === void 0 ? void 0 : _a.name,
393
+ columns: (_c = (_b = constraint.columns) === null || _b === void 0 ? void 0 : _b.map((column) => column.name)) !== null && _c !== void 0 ? _c : undefined,
394
+ reference: constraint.reference,
395
+ checkExpression: constraint.checkExpression,
396
+ scope: 'table',
397
+ source: context,
398
+ });
399
+ }
400
+ function registerColumnConstraint(table, column, constraint, context) {
401
+ var _a;
402
+ if (!isLintableColumnConstraint(constraint)) {
403
+ return;
404
+ }
405
+ table.constraints.push({
406
+ kind: constraint.kind === 'references' ? 'foreign-key' : constraint.kind,
407
+ name: (_a = constraint.constraintName) === null || _a === void 0 ? void 0 : _a.name,
408
+ columns: [column.name.name],
409
+ reference: constraint.reference,
410
+ checkExpression: constraint.checkExpression,
411
+ scope: 'column',
412
+ source: context,
413
+ });
414
+ }
415
+ function isLintableTableConstraint(constraint) {
416
+ return (constraint.kind === 'primary-key' ||
417
+ constraint.kind === 'unique' ||
418
+ constraint.kind === 'foreign-key' ||
419
+ constraint.kind === 'check');
420
+ }
421
+ function isLintableColumnConstraint(constraint) {
422
+ return (constraint.kind === 'primary-key' ||
423
+ constraint.kind === 'unique' ||
424
+ constraint.kind === 'references' ||
425
+ constraint.kind === 'check');
426
+ }
427
+ function normalizeColumnName(name) {
428
+ return name.toLowerCase();
429
+ }
430
+ function normalizeConstraintName(name) {
431
+ return name.toLowerCase();
432
+ }
433
+ function getSimpleColumnReference(value) {
434
+ var _a;
435
+ if (!value) {
436
+ return null;
437
+ }
438
+ let current = value;
439
+ // Unwrap common wrappers so "(col)" and "col::type" are treated as simple references.
440
+ while (current instanceof rawsql_ts_1.ParenExpression || current instanceof rawsql_ts_1.CastExpression) {
441
+ current = current instanceof rawsql_ts_1.ParenExpression ? current.expression : current.input;
442
+ }
443
+ if (current instanceof rawsql_ts_1.ColumnReference) {
444
+ const namespaces = (_a = current.namespaces) !== null && _a !== void 0 ? _a : null;
445
+ if (!namespaces || namespaces.length === 0) {
446
+ return current.column.name;
447
+ }
448
+ }
449
+ return null;
450
+ }
451
+ function sortDiagnostics(diagnostics) {
452
+ return diagnostics.sort((left, right) => {
453
+ var _a, _b;
454
+ const severityDelta = SEVERITY_RANK[left.severity] - SEVERITY_RANK[right.severity];
455
+ if (severityDelta !== 0) {
456
+ return severityDelta;
457
+ }
458
+ const sourceDelta = compareOptional(left.source, right.source);
459
+ if (sourceDelta !== 0) {
460
+ return sourceDelta;
461
+ }
462
+ const statementDelta = ((_a = left.statementIndex) !== null && _a !== void 0 ? _a : 0) - ((_b = right.statementIndex) !== null && _b !== void 0 ? _b : 0);
463
+ if (statementDelta !== 0) {
464
+ return statementDelta;
465
+ }
466
+ const tableDelta = compareOptional(left.table, right.table);
467
+ if (tableDelta !== 0) {
468
+ return tableDelta;
469
+ }
470
+ const columnDelta = compareOptional(left.column, right.column);
471
+ if (columnDelta !== 0) {
472
+ return columnDelta;
473
+ }
474
+ const codeDelta = compareOptional(left.code, right.code);
475
+ if (codeDelta !== 0) {
476
+ return codeDelta;
477
+ }
478
+ return compareOptional(left.message, right.message);
479
+ });
480
+ }
481
+ function compareOptional(left, right) {
482
+ const leftValue = left !== null && left !== void 0 ? left : '';
483
+ const rightValue = right !== null && right !== void 0 ? right : '';
484
+ if (leftValue === rightValue) {
485
+ return 0;
486
+ }
487
+ return leftValue < rightValue ? -1 : 1;
488
+ }
489
+ //# sourceMappingURL=ddlLint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddlLint.js","sourceRoot":"","sources":["../../../../../../testkit-core/src/fixtures/ddlLint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const normalizeIdentifier: (value: string) => string;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeIdentifier = void 0;
4
+ const normalizeIdentifier = (value) => value.toLowerCase();
5
+ exports.normalizeIdentifier = normalizeIdentifier;
6
+ //# sourceMappingURL=naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../../../../../testkit-core/src/fixtures/naming.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AAArE,QAAA,mBAAmB,uBAAkD"}
@@ -0,0 +1,17 @@
1
+ export * from './types';
2
+ export * from './errors';
3
+ export { FixtureStore } from './fixtures/FixtureStore';
4
+ export { DdlFixtureLoader } from './fixtures/DdlFixtureLoader';
5
+ export type { DdlFixtureLoaderOptions } from './fixtures/DdlFixtureLoader';
6
+ export { DefaultFixtureProvider } from './fixtures/FixtureProvider';
7
+ export { SelectFixtureRewriter } from './rewriter/SelectFixtureRewriter';
8
+ export type { SelectAnalysisResult } from './rewriter/SelectAnalyzer';
9
+ export { TableDefinitionSchemaRegistry } from './fixtures/TableDefinitionSchemaRegistry';
10
+ export { TableNameResolver, type TableNameResolverOptions, type TableLookup } from './fixtures/TableNameResolver';
11
+ export type { DdlProcessedFixture } from './fixtures/DdlFixtureLoader';
12
+ export { DEFAULT_DDL_LINT_MODE, applyDdlLintMode, formatDdlLintDiagnostics, lintDdlSources, normalizeDdlLintMode, } from './fixtures/ddlLint';
13
+ export type { DdlLintDiagnostic, DdlLintMode, DdlLintOptions, DdlLintSource, } from './fixtures/ddlLint';
14
+ export { ResultSelectRewriter } from './rewriter/ResultSelectRewriter';
15
+ export { alignRewrittenParameters, applyCountWrapper, extractCountValue, CountableResult } from './utils/queryHelpers';
16
+ export { TestkitProvider, createTestkitProvider, } from './provider/TestkitProvider';
17
+ export type { CreateTestkitProviderOptions, ConnectionResetHook, ConnectionResetOption, ConnectionStrategy, TestkitConnection, } from './provider/TestkitProvider';
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createTestkitProvider = exports.TestkitProvider = exports.extractCountValue = exports.applyCountWrapper = exports.alignRewrittenParameters = exports.ResultSelectRewriter = exports.normalizeDdlLintMode = exports.lintDdlSources = exports.formatDdlLintDiagnostics = exports.applyDdlLintMode = exports.DEFAULT_DDL_LINT_MODE = exports.TableNameResolver = exports.TableDefinitionSchemaRegistry = exports.SelectFixtureRewriter = exports.DefaultFixtureProvider = exports.DdlFixtureLoader = exports.FixtureStore = void 0;
18
+ __exportStar(require("./types"), exports);
19
+ __exportStar(require("./errors"), exports);
20
+ var FixtureStore_1 = require("./fixtures/FixtureStore");
21
+ Object.defineProperty(exports, "FixtureStore", { enumerable: true, get: function () { return FixtureStore_1.FixtureStore; } });
22
+ var DdlFixtureLoader_1 = require("./fixtures/DdlFixtureLoader");
23
+ Object.defineProperty(exports, "DdlFixtureLoader", { enumerable: true, get: function () { return DdlFixtureLoader_1.DdlFixtureLoader; } });
24
+ var FixtureProvider_1 = require("./fixtures/FixtureProvider");
25
+ Object.defineProperty(exports, "DefaultFixtureProvider", { enumerable: true, get: function () { return FixtureProvider_1.DefaultFixtureProvider; } });
26
+ var SelectFixtureRewriter_1 = require("./rewriter/SelectFixtureRewriter");
27
+ Object.defineProperty(exports, "SelectFixtureRewriter", { enumerable: true, get: function () { return SelectFixtureRewriter_1.SelectFixtureRewriter; } });
28
+ var TableDefinitionSchemaRegistry_1 = require("./fixtures/TableDefinitionSchemaRegistry");
29
+ Object.defineProperty(exports, "TableDefinitionSchemaRegistry", { enumerable: true, get: function () { return TableDefinitionSchemaRegistry_1.TableDefinitionSchemaRegistry; } });
30
+ var TableNameResolver_1 = require("./fixtures/TableNameResolver");
31
+ Object.defineProperty(exports, "TableNameResolver", { enumerable: true, get: function () { return TableNameResolver_1.TableNameResolver; } });
32
+ var ddlLint_1 = require("./fixtures/ddlLint");
33
+ Object.defineProperty(exports, "DEFAULT_DDL_LINT_MODE", { enumerable: true, get: function () { return ddlLint_1.DEFAULT_DDL_LINT_MODE; } });
34
+ Object.defineProperty(exports, "applyDdlLintMode", { enumerable: true, get: function () { return ddlLint_1.applyDdlLintMode; } });
35
+ Object.defineProperty(exports, "formatDdlLintDiagnostics", { enumerable: true, get: function () { return ddlLint_1.formatDdlLintDiagnostics; } });
36
+ Object.defineProperty(exports, "lintDdlSources", { enumerable: true, get: function () { return ddlLint_1.lintDdlSources; } });
37
+ Object.defineProperty(exports, "normalizeDdlLintMode", { enumerable: true, get: function () { return ddlLint_1.normalizeDdlLintMode; } });
38
+ var ResultSelectRewriter_1 = require("./rewriter/ResultSelectRewriter");
39
+ Object.defineProperty(exports, "ResultSelectRewriter", { enumerable: true, get: function () { return ResultSelectRewriter_1.ResultSelectRewriter; } });
40
+ var queryHelpers_1 = require("./utils/queryHelpers");
41
+ Object.defineProperty(exports, "alignRewrittenParameters", { enumerable: true, get: function () { return queryHelpers_1.alignRewrittenParameters; } });
42
+ Object.defineProperty(exports, "applyCountWrapper", { enumerable: true, get: function () { return queryHelpers_1.applyCountWrapper; } });
43
+ Object.defineProperty(exports, "extractCountValue", { enumerable: true, get: function () { return queryHelpers_1.extractCountValue; } });
44
+ var TestkitProvider_1 = require("./provider/TestkitProvider");
45
+ Object.defineProperty(exports, "TestkitProvider", { enumerable: true, get: function () { return TestkitProvider_1.TestkitProvider; } });
46
+ Object.defineProperty(exports, "createTestkitProvider", { enumerable: true, get: function () { return TestkitProvider_1.createTestkitProvider; } });
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../testkit-core/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AAEzB,8DAAoE;AAA3D,yHAAA,sBAAsB,OAAA;AAC/B,0EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAE9B,0FAAyF;AAAhF,8IAAA,6BAA6B,OAAA;AACtC,kEAAkH;AAAzG,sHAAA,iBAAiB,OAAA;AAE1B,8CAM4B;AAL1B,gHAAA,qBAAqB,OAAA;AACrB,2GAAA,gBAAgB,OAAA;AAChB,mHAAA,wBAAwB,OAAA;AACxB,yGAAA,cAAc,OAAA;AACd,+GAAA,oBAAoB,OAAA;AAQtB,wEAAuE;AAA9D,4HAAA,oBAAoB,OAAA;AAC7B,qDAAuH;AAA9G,wHAAA,wBAAwB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AACvE,8DAGoC;AAFlC,kHAAA,eAAe,OAAA;AACf,wHAAA,qBAAqB,OAAA"}
@@ -0,0 +1,8 @@
1
+ import type { TestkitLogger } from '../types';
2
+ export declare class NoopLogger implements TestkitLogger {
3
+ debug(): void;
4
+ info(): void;
5
+ warn(): void;
6
+ error(): void;
7
+ }
8
+ export declare const createLogger: (logger?: TestkitLogger) => TestkitLogger;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLogger = exports.NoopLogger = void 0;
4
+ class NoopLogger {
5
+ // Intentionally empty implementations to keep optional logging lightweight.
6
+ debug() { }
7
+ info() { }
8
+ warn() { }
9
+ error() { }
10
+ }
11
+ exports.NoopLogger = NoopLogger;
12
+ const createLogger = (logger) => {
13
+ return logger !== null && logger !== void 0 ? logger : new NoopLogger();
14
+ };
15
+ exports.createLogger = createLogger;
16
+ //# sourceMappingURL=NoopLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoopLogger.js","sourceRoot":"","sources":["../../../../../../testkit-core/src/logger/NoopLogger.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACrB,4EAA4E;IAC5E,KAAK,KAAU,CAAC;IAChB,IAAI,KAAU,CAAC;IACf,IAAI,KAAU,CAAC;IACf,KAAK,KAAU,CAAC;CACjB;AAND,gCAMC;AAEM,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAiB,EAAE;IACpE,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,UAAU,EAAE,CAAC;AACpC,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}