@rawsql-ts/ztd-cli 0.16.0 → 0.19.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 (242) hide show
  1. package/README.md +532 -353
  2. package/package.json +35 -17
  3. package/templates/.editorconfig +16 -16
  4. package/templates/.prettierignore +2 -2
  5. package/templates/.prettierrc +24 -24
  6. package/templates/AGENTS.md +30 -325
  7. package/templates/CONTEXT.md +11 -0
  8. package/templates/CONTEXT.webapi.md +11 -0
  9. package/templates/DESIGN.md +17 -0
  10. package/templates/DEV_NOTES.md +14 -0
  11. package/templates/PROMPT_DOGFOOD.webapi.md +49 -0
  12. package/templates/README.md +46 -217
  13. package/templates/README.webapi.md +38 -0
  14. package/templates/scripts/local-source-guard.mjs +189 -0
  15. package/templates/src/AGENTS.md +26 -0
  16. package/templates/src/application/AGENTS.md +15 -0
  17. package/templates/src/application/README.md +6 -0
  18. package/templates/src/catalog/AGENTS.md +28 -0
  19. package/templates/src/catalog/runtime/AGENTS.md +28 -0
  20. package/templates/src/catalog/runtime/_coercions.local-source.ts +30 -0
  21. package/templates/src/catalog/runtime/_coercions.ts +30 -0
  22. package/templates/src/catalog/runtime/_smoke.runtime.ts +21 -0
  23. package/templates/src/catalog/specs/AGENTS.md +41 -0
  24. package/templates/src/catalog/specs/_smoke.spec.arktype.ts +21 -0
  25. package/templates/src/catalog/specs/_smoke.spec.zod.ts +20 -0
  26. package/templates/src/db/sql-client-adapters.ts +32 -0
  27. package/templates/src/db/sql-client.ts +24 -24
  28. package/templates/src/domain/AGENTS.md +15 -0
  29. package/templates/src/domain/README.md +6 -0
  30. package/templates/src/infrastructure/AGENTS.md +14 -0
  31. package/templates/src/infrastructure/README.md +6 -0
  32. package/templates/src/infrastructure/db/AGENTS.md +14 -0
  33. package/templates/src/infrastructure/db/sql-client-adapters.ts +34 -0
  34. package/templates/src/infrastructure/db/sql-client.ts +24 -0
  35. package/templates/src/infrastructure/persistence/AGENTS.md +18 -0
  36. package/templates/src/infrastructure/persistence/README.md +8 -0
  37. package/templates/src/infrastructure/persistence/repositories/AGENTS.md +17 -0
  38. package/templates/src/infrastructure/persistence/repositories/tables/AGENTS.md +20 -0
  39. package/templates/src/infrastructure/persistence/repositories/tables/README.md +5 -0
  40. package/templates/src/infrastructure/persistence/repositories/views/AGENTS.md +16 -0
  41. package/templates/src/infrastructure/persistence/repositories/views/README.md +5 -0
  42. package/templates/src/infrastructure/telemetry/AGENTS.md +14 -0
  43. package/templates/src/infrastructure/telemetry/consoleRepositoryTelemetry.ts +66 -0
  44. package/templates/src/infrastructure/telemetry/repositoryTelemetry.ts +26 -0
  45. package/templates/src/infrastructure/telemetry/types.ts +48 -0
  46. package/templates/src/jobs/AGENTS.md +25 -0
  47. package/templates/src/jobs/README.md +3 -0
  48. package/templates/src/local/sql-contract.ts +1 -0
  49. package/templates/src/presentation/AGENTS.md +15 -0
  50. package/templates/src/presentation/http/AGENTS.md +15 -0
  51. package/templates/src/presentation/http/README.md +6 -0
  52. package/templates/src/repositories/AGENTS.md +30 -0
  53. package/templates/src/repositories/tables/AGENTS.md +29 -0
  54. package/templates/src/repositories/tables/README.md +5 -0
  55. package/templates/src/repositories/views/AGENTS.md +25 -0
  56. package/templates/src/repositories/views/README.md +5 -0
  57. package/templates/src/sql/AGENTS.md +30 -0
  58. package/templates/src/sql/README.md +6 -0
  59. package/templates/tests/AGENTS.md +29 -169
  60. package/templates/tests/generated/AGENTS.md +23 -0
  61. package/templates/tests/smoke.test.ts +25 -0
  62. package/templates/tests/smoke.validation.test.ts +34 -0
  63. package/templates/tests/support/AGENTS.md +24 -0
  64. package/templates/tests/support/global-setup.ts +15 -30
  65. package/templates/tests/support/testkit-client.ts +14 -742
  66. package/templates/tests/support/testkit-client.webapi.ts +14 -0
  67. package/templates/tests/ztd-layout.generated.ts +6 -6
  68. package/templates/tsconfig.json +15 -8
  69. package/templates/vitest.config.ts +13 -13
  70. package/templates/ztd/AGENTS.md +23 -74
  71. package/templates/ztd/README.md +6 -15
  72. package/templates/ztd/ddl/AGENTS.md +26 -0
  73. package/templates/ztd/ddl/demo.sql +74 -0
  74. package/LICENSE +0 -21
  75. package/dist/commands/ddl.d.ts +0 -7
  76. package/dist/commands/ddl.js +0 -118
  77. package/dist/commands/ddl.js.map +0 -1
  78. package/dist/commands/diff.d.ts +0 -10
  79. package/dist/commands/diff.js +0 -38
  80. package/dist/commands/diff.js.map +0 -1
  81. package/dist/commands/genEntities.d.ts +0 -6
  82. package/dist/commands/genEntities.js +0 -50
  83. package/dist/commands/genEntities.js.map +0 -1
  84. package/dist/commands/init.d.ts +0 -66
  85. package/dist/commands/init.js +0 -838
  86. package/dist/commands/init.js.map +0 -1
  87. package/dist/commands/lint.d.ts +0 -59
  88. package/dist/commands/lint.js +0 -338
  89. package/dist/commands/lint.js.map +0 -1
  90. package/dist/commands/options.d.ts +0 -9
  91. package/dist/commands/options.js +0 -48
  92. package/dist/commands/options.js.map +0 -1
  93. package/dist/commands/pull.d.ts +0 -10
  94. package/dist/commands/pull.js +0 -105
  95. package/dist/commands/pull.js.map +0 -1
  96. package/dist/commands/ztdConfig.d.ts +0 -23
  97. package/dist/commands/ztdConfig.js +0 -202
  98. package/dist/commands/ztdConfig.js.map +0 -1
  99. package/dist/commands/ztdConfigCommand.d.ts +0 -5
  100. package/dist/commands/ztdConfigCommand.js +0 -157
  101. package/dist/commands/ztdConfigCommand.js.map +0 -1
  102. package/dist/index.d.ts +0 -2
  103. package/dist/index.js +0 -22
  104. package/dist/index.js.map +0 -1
  105. package/dist/utils/agents.d.ts +0 -1
  106. package/dist/utils/agents.js +0 -48
  107. package/dist/utils/agents.js.map +0 -1
  108. package/dist/utils/collectSqlFiles.d.ts +0 -9
  109. package/dist/utils/collectSqlFiles.js +0 -58
  110. package/dist/utils/collectSqlFiles.js.map +0 -1
  111. package/dist/utils/connectionSummary.d.ts +0 -3
  112. package/dist/utils/connectionSummary.js +0 -29
  113. package/dist/utils/connectionSummary.js.map +0 -1
  114. package/dist/utils/dbConnection.d.ts +0 -29
  115. package/dist/utils/dbConnection.js +0 -210
  116. package/dist/utils/dbConnection.js.map +0 -1
  117. package/dist/utils/fs.d.ts +0 -1
  118. package/dist/utils/fs.js +0 -12
  119. package/dist/utils/fs.js.map +0 -1
  120. package/dist/utils/normalizePulledSchema.d.ts +0 -12
  121. package/dist/utils/normalizePulledSchema.js +0 -213
  122. package/dist/utils/normalizePulledSchema.js.map +0 -1
  123. package/dist/utils/pgDump.d.ts +0 -11
  124. package/dist/utils/pgDump.js +0 -55
  125. package/dist/utils/pgDump.js.map +0 -1
  126. package/dist/utils/sqlLintHelpers.d.ts +0 -18
  127. package/dist/utils/sqlLintHelpers.js +0 -270
  128. package/dist/utils/sqlLintHelpers.js.map +0 -1
  129. package/dist/utils/typeMapper.d.ts +0 -4
  130. package/dist/utils/typeMapper.js +0 -76
  131. package/dist/utils/typeMapper.js.map +0 -1
  132. package/dist/utils/ztdProjectConfig.d.ts +0 -40
  133. package/dist/utils/ztdProjectConfig.js +0 -167
  134. package/dist/utils/ztdProjectConfig.js.map +0 -1
  135. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.d.ts +0 -38
  136. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js +0 -117
  137. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js.map +0 -1
  138. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.d.ts +0 -4
  139. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js +0 -71
  140. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js.map +0 -1
  141. package/templates/dist/drivers/pg-testkit/src/index.d.ts +0 -5
  142. package/templates/dist/drivers/pg-testkit/src/index.js +0 -11
  143. package/templates/dist/drivers/pg-testkit/src/index.js.map +0 -1
  144. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.d.ts +0 -3
  145. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js +0 -79
  146. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js.map +0 -1
  147. package/templates/dist/drivers/pg-testkit/src/types.d.ts +0 -69
  148. package/templates/dist/drivers/pg-testkit/src/types.js +0 -3
  149. package/templates/dist/drivers/pg-testkit/src/types.js.map +0 -1
  150. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.d.ts +0 -15
  151. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js +0 -34
  152. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js.map +0 -1
  153. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.d.ts +0 -12
  154. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js +0 -53
  155. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js.map +0 -1
  156. package/templates/dist/mapper-core/src/index.d.ts +0 -160
  157. package/templates/dist/mapper-core/src/index.js +0 -637
  158. package/templates/dist/mapper-core/src/index.js.map +0 -1
  159. package/templates/dist/testkit-core/src/errors/index.d.ts +0 -49
  160. package/templates/dist/testkit-core/src/errors/index.js +0 -111
  161. package/templates/dist/testkit-core/src/errors/index.js.map +0 -1
  162. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.d.ts +0 -5
  163. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js +0 -29
  164. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js.map +0 -1
  165. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.d.ts +0 -37
  166. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js +0 -182
  167. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js.map +0 -1
  168. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.d.ts +0 -20
  169. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js +0 -121
  170. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js.map +0 -1
  171. package/templates/dist/testkit-core/src/fixtures/FixtureStore.d.ts +0 -51
  172. package/templates/dist/testkit-core/src/fixtures/FixtureStore.js +0 -199
  173. package/templates/dist/testkit-core/src/fixtures/FixtureStore.js.map +0 -1
  174. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.d.ts +0 -10
  175. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js +0 -28
  176. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js.map +0 -1
  177. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.d.ts +0 -18
  178. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js +0 -80
  179. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js.map +0 -1
  180. package/templates/dist/testkit-core/src/fixtures/ddlLint.d.ts +0 -59
  181. package/templates/dist/testkit-core/src/fixtures/ddlLint.js +0 -489
  182. package/templates/dist/testkit-core/src/fixtures/ddlLint.js.map +0 -1
  183. package/templates/dist/testkit-core/src/fixtures/naming.d.ts +0 -1
  184. package/templates/dist/testkit-core/src/fixtures/naming.js +0 -6
  185. package/templates/dist/testkit-core/src/fixtures/naming.js.map +0 -1
  186. package/templates/dist/testkit-core/src/index.d.ts +0 -17
  187. package/templates/dist/testkit-core/src/index.js +0 -47
  188. package/templates/dist/testkit-core/src/index.js.map +0 -1
  189. package/templates/dist/testkit-core/src/logger/NoopLogger.d.ts +0 -8
  190. package/templates/dist/testkit-core/src/logger/NoopLogger.js +0 -16
  191. package/templates/dist/testkit-core/src/logger/NoopLogger.js.map +0 -1
  192. package/templates/dist/testkit-core/src/provider/TestkitProvider.d.ts +0 -57
  193. package/templates/dist/testkit-core/src/provider/TestkitProvider.js +0 -149
  194. package/templates/dist/testkit-core/src/provider/TestkitProvider.js.map +0 -1
  195. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.d.ts +0 -43
  196. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js +0 -473
  197. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js.map +0 -1
  198. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.d.ts +0 -9
  199. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js +0 -38
  200. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js.map +0 -1
  201. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.d.ts +0 -42
  202. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js +0 -298
  203. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js.map +0 -1
  204. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.d.ts +0 -12
  205. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js +0 -63
  206. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js.map +0 -1
  207. package/templates/dist/testkit-core/src/types/index.d.ts +0 -69
  208. package/templates/dist/testkit-core/src/types/index.js +0 -3
  209. package/templates/dist/testkit-core/src/types/index.js.map +0 -1
  210. package/templates/dist/testkit-core/src/utils/queryHelpers.d.ts +0 -28
  211. package/templates/dist/testkit-core/src/utils/queryHelpers.js +0 -81
  212. package/templates/dist/testkit-core/src/utils/queryHelpers.js.map +0 -1
  213. package/templates/dist/writer-core/src/index.d.ts +0 -34
  214. package/templates/dist/writer-core/src/index.js +0 -115
  215. package/templates/dist/writer-core/src/index.js.map +0 -1
  216. package/templates/dist/ztd-cli/templates/src/db/sql-client.d.ts +0 -20
  217. package/templates/dist/ztd-cli/templates/src/db/sql-client.js +0 -3
  218. package/templates/dist/ztd-cli/templates/src/db/sql-client.js.map +0 -1
  219. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.d.ts +0 -36
  220. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js +0 -85
  221. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js.map +0 -1
  222. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.d.ts +0 -20
  223. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js +0 -33
  224. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js.map +0 -1
  225. package/templates/dist/ztd-cli/templates/tests/support/global-setup.d.ts +0 -10
  226. package/templates/dist/ztd-cli/templates/tests/support/global-setup.js +0 -29
  227. package/templates/dist/ztd-cli/templates/tests/support/global-setup.js.map +0 -1
  228. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.d.ts +0 -66
  229. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js +0 -552
  230. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js.map +0 -1
  231. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.d.ts +0 -1
  232. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js +0 -82
  233. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js.map +0 -1
  234. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.d.ts +0 -1
  235. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js +0 -29
  236. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js.map +0 -1
  237. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.d.ts +0 -7
  238. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js +0 -10
  239. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js.map +0 -1
  240. package/templates/src/repositories/user-accounts.ts +0 -179
  241. package/templates/tests/user-profiles.test.ts +0 -161
  242. package/templates/tests/writer-constraints.test.ts +0 -32
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- import { Command } from 'commander';
2
- import { Client } from 'pg';
3
- import { type DdlLintMode } from '@rawsql-ts/testkit-core';
4
- /** Categorizes the type of failure encountered when validating SQL statements. */
5
- export type LintFailureKind = 'parser' | 'transform' | 'db';
6
- /** Captures diagnostic details contributed by PostgreSQL or the SQL rewriter. */
7
- export interface LintFailureDetails {
8
- code?: string;
9
- position?: number;
10
- detail?: string;
11
- hint?: string;
12
- }
13
- /** Describes a single linting failure observed while processing a SQL file. */
14
- export interface LintFailure {
15
- kind: LintFailureKind;
16
- filePath: string;
17
- statement?: string;
18
- message: string;
19
- location: {
20
- line: number;
21
- column: number;
22
- } | null;
23
- rewritten?: string | null;
24
- details?: LintFailureDetails;
25
- }
26
- /** Configuration for a lint run, including file discovery and schema fixtures. */
27
- export interface RunSqlLintOptions {
28
- sqlFiles: string[];
29
- ddlDirectories: string[];
30
- defaultSchema: string;
31
- searchPath: string[];
32
- ddlLint: DdlLintMode;
33
- client: Client;
34
- }
35
- /** Outcome summary for a lint run. */
36
- export interface RunSqlLintResult {
37
- failures: LintFailure[];
38
- filesChecked: number;
39
- }
40
- /**
41
- * Validate every SQL file against the configured DDL fixtures by replaying each
42
- * statement through `@rawsql-ts/adapter-node-pg`'s `PgTestkitClient`.
43
- * @param options Configuration values that describe which files and schemas to lint.
44
- * @returns A summary of the failures observed and how many files were processed.
45
- */
46
- export declare function runSqlLint(options: RunSqlLintOptions): Promise<RunSqlLintResult>;
47
- /**
48
- * Register the `ztd lint` CLI command that validates raw SQL with a temporary Postgres instance.
49
- * @param program CLI root command that receives the lint subcommand.
50
- */
51
- export declare function registerLintCommand(program: Command): void;
52
- /**
53
- * Build a parser failure record that surfaces rawsql-ts errors from runSqlLint.
54
- * @param filePath The SQL file that triggered the parser issue.
55
- * @param contents Statement contents to display alongside the error.
56
- * @param error The parser error produced by rawsql-ts.
57
- * @returns A failure record that keeps the command output consistent.
58
- */
59
- export declare function buildParserFailure(filePath: string, contents: string, error: unknown): LintFailure;
@@ -1,338 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runSqlLint = runSqlLint;
7
- exports.registerLintCommand = registerLintCommand;
8
- exports.buildParserFailure = buildParserFailure;
9
- const node_fs_1 = require("node:fs");
10
- const node_path_1 = __importDefault(require("node:path"));
11
- const pg_1 = require("pg");
12
- const rawsql_ts_1 = require("rawsql-ts");
13
- const testkit_core_1 = require("@rawsql-ts/testkit-core");
14
- const adapter_node_pg_1 = require("@rawsql-ts/adapter-node-pg");
15
- const postgresql_1 = require("@testcontainers/postgresql");
16
- const ztdProjectConfig_1 = require("../utils/ztdProjectConfig");
17
- const sqlLintHelpers_1 = require("../utils/sqlLintHelpers");
18
- /**
19
- * Validate every SQL file against the configured DDL fixtures by replaying each
20
- * statement through `@rawsql-ts/adapter-node-pg`'s `PgTestkitClient`.
21
- * @param options Configuration values that describe which files and schemas to lint.
22
- * @returns A summary of the failures observed and how many files were processed.
23
- */
24
- async function runSqlLint(options) {
25
- const { sqlFiles, ddlDirectories, defaultSchema, searchPath, ddlLint, client } = options;
26
- let tableDefinitions;
27
- try {
28
- const resolver = new testkit_core_1.TableNameResolver({ defaultSchema, searchPath });
29
- const loader = new testkit_core_1.DdlFixtureLoader({
30
- directories: ddlDirectories,
31
- tableNameResolver: resolver,
32
- ddlLint
33
- });
34
- const fixtures = loader.getFixtures();
35
- tableDefinitions = fixtures.map((fixture) => fixture.tableDefinition);
36
- }
37
- catch (error) {
38
- return {
39
- failures: [buildTransformFailureFromLoaderError(error, ddlDirectories)],
40
- filesChecked: sqlFiles.length
41
- };
42
- }
43
- const enumLabels = (0, sqlLintHelpers_1.extractEnumLabels)(ddlDirectories);
44
- const tableRows = tableDefinitions.map((definition) => ({
45
- tableName: definition.name,
46
- rows: [(0, sqlLintHelpers_1.buildLintFixtureRow)(definition, enumLabels)]
47
- }));
48
- // Build fixture data so that required columns pass the Postgres checks.
49
- let rewrittenStatement = null;
50
- const testkit = (0, adapter_node_pg_1.createPgTestkitClient)({
51
- connectionFactory: async () => client,
52
- tableDefinitions,
53
- tableRows,
54
- defaultSchema,
55
- searchPath,
56
- // Track the rewritten SQL so we can show it when a validation failure occurs.
57
- onExecute: (sql) => {
58
- rewrittenStatement = sql;
59
- }
60
- });
61
- const failures = [];
62
- try {
63
- for (const filePath of sqlFiles) {
64
- const contents = readFileSafe(filePath);
65
- await lintFile(filePath, contents, testkit, failures, () => {
66
- rewrittenStatement = null;
67
- }, () => rewrittenStatement);
68
- }
69
- }
70
- finally {
71
- await testkit.close();
72
- }
73
- return {
74
- failures,
75
- filesChecked: sqlFiles.length
76
- };
77
- }
78
- /**
79
- * Register the `ztd lint` CLI command that validates raw SQL with a temporary Postgres instance.
80
- * @param program CLI root command that receives the lint subcommand.
81
- */
82
- function registerLintCommand(program) {
83
- program
84
- .command('lint <path>')
85
- .description('Lint SQL files for syntax and analysis correctness via ZTD')
86
- .action(async (pattern) => {
87
- await runLintCommand(pattern);
88
- });
89
- }
90
- async function runLintCommand(pattern) {
91
- var _a;
92
- const config = (0, ztdProjectConfig_1.loadZtdProjectConfig)();
93
- const projectRoot = process.cwd();
94
- const ddlRoot = node_path_1.default.resolve(projectRoot, config.ddlDir);
95
- const sqlFiles = (0, sqlLintHelpers_1.resolveSqlFiles)(pattern);
96
- const containerImage = (_a = process.env.ZTD_LINT_DB_IMAGE) !== null && _a !== void 0 ? _a : 'postgres:16-alpine';
97
- const container = await new postgresql_1.PostgreSqlContainer(containerImage)
98
- .withDatabase('ztdlint')
99
- .withUsername('ztd')
100
- .withPassword('ztd')
101
- .start();
102
- const client = new pg_1.Client({ connectionString: container.getConnectionUri() });
103
- await client.connect();
104
- try {
105
- const result = await runSqlLint({
106
- sqlFiles,
107
- ddlDirectories: [ddlRoot],
108
- defaultSchema: config.ddl.defaultSchema,
109
- searchPath: config.ddl.searchPath,
110
- ddlLint: config.ddlLint,
111
- client
112
- });
113
- if (result.failures.length > 0) {
114
- reportFailures(result.failures);
115
- process.exitCode = 1;
116
- throw new Error('ztd lint failed');
117
- }
118
- // Success is implied by the absence of failures, so the command stays silent.
119
- }
120
- finally {
121
- await client.end().catch(() => undefined);
122
- await container.stop();
123
- }
124
- }
125
- function readFileSafe(filePath) {
126
- return (0, node_fs_1.readFileSync)(filePath, 'utf8');
127
- }
128
- async function lintFile(filePath, contents, testkit, failures, resetRewritten, getRewritten) {
129
- let split;
130
- try {
131
- split = rawsql_ts_1.MultiQuerySplitter.split(contents);
132
- }
133
- catch (error) {
134
- failures.push(buildParserFailure(filePath, contents, error));
135
- return;
136
- }
137
- // Validate every statement that survives the splitter to catch syntax and semantic issues.
138
- for (const chunk of split.queries) {
139
- if (chunk.isEmpty) {
140
- continue;
141
- }
142
- const statement = chunk.sql.trim();
143
- if (!statement) {
144
- continue;
145
- }
146
- try {
147
- rawsql_ts_1.SqlParser.parse(statement);
148
- }
149
- catch (parseError) {
150
- failures.push(buildParserFailure(filePath, statement, parseError));
151
- continue;
152
- }
153
- try {
154
- resetRewritten();
155
- await executeValidationStatement(testkit, statement);
156
- }
157
- catch (error) {
158
- failures.push(buildStatementFailure(filePath, statement, contents, error, getRewritten()));
159
- }
160
- }
161
- }
162
- async function executeValidationStatement(testkit, statement) {
163
- // Execute the rewritten statement so fixtures are applied before Postgres validation.
164
- await testkit.query(statement);
165
- }
166
- /**
167
- * Build a parser failure record that surfaces rawsql-ts errors from runSqlLint.
168
- * @param filePath The SQL file that triggered the parser issue.
169
- * @param contents Statement contents to display alongside the error.
170
- * @param error The parser error produced by rawsql-ts.
171
- * @returns A failure record that keeps the command output consistent.
172
- */
173
- function buildParserFailure(filePath, contents, error) {
174
- const message = `RawSQL parser: ${error instanceof Error ? error.message : 'Unknown parser error'}`;
175
- return buildLintFailure({
176
- kind: 'parser',
177
- filePath,
178
- statement: contents,
179
- message,
180
- location: null
181
- });
182
- }
183
- function buildStatementFailure(filePath, statement, contents, error, rewritten) {
184
- if (isTransformError(error)) {
185
- return buildTransformFailureFromStatement(filePath, statement, error, rewritten);
186
- }
187
- return buildDbFailure(filePath, statement, contents, error, rewritten);
188
- }
189
- function buildDbFailure(filePath, statement, contents, error, rewritten) {
190
- var _a;
191
- const pgError = error;
192
- const position = typeof pgError.position === 'string'
193
- ? Number(pgError.position) - 1
194
- : typeof pgError.position === 'number'
195
- ? pgError.position
196
- : undefined;
197
- const location = position !== undefined ? findLineColumn(contents, position) : null;
198
- const details = {};
199
- if (typeof pgError.code === 'string') {
200
- details.code = pgError.code;
201
- }
202
- if (typeof pgError.position === 'string' && !Number.isNaN(Number(pgError.position))) {
203
- details.position = Number(pgError.position);
204
- }
205
- else if (typeof pgError.position === 'number') {
206
- details.position = pgError.position;
207
- }
208
- if (typeof pgError.detail === 'string') {
209
- details.detail = pgError.detail;
210
- }
211
- if (typeof pgError.hint === 'string') {
212
- details.hint = pgError.hint;
213
- }
214
- return buildLintFailure({
215
- kind: 'db',
216
- filePath,
217
- statement,
218
- message: (_a = pgError.message) !== null && _a !== void 0 ? _a : 'Unknown error',
219
- location,
220
- rewritten,
221
- details: Object.keys(details).length > 0 ? details : undefined
222
- });
223
- }
224
- function buildTransformFailureFromStatement(filePath, statement, error, rewritten) {
225
- const message = `ZTD transform: ${error.message}`;
226
- const details = getTransformDetails(error);
227
- return buildLintFailure({
228
- kind: 'transform',
229
- filePath,
230
- statement,
231
- message,
232
- location: null,
233
- rewritten,
234
- details
235
- });
236
- }
237
- function buildTransformFailureFromLoaderError(error, ddlDirectories) {
238
- if (error instanceof testkit_core_1.DdlLintError && error.diagnostics.length > 0) {
239
- const diag = error.diagnostics[0];
240
- const filePath = resolveDdlFailurePath(diag.source, ddlDirectories);
241
- return buildLintFailure({
242
- kind: 'transform',
243
- filePath,
244
- message: `ZTD transform: ${diag.message}`,
245
- location: null,
246
- details: { code: diag.code }
247
- });
248
- }
249
- const filePath = resolveDdlFailurePath(undefined, ddlDirectories);
250
- return buildLintFailure({
251
- kind: 'transform',
252
- filePath,
253
- message: `ZTD transform: ${error instanceof Error ? error.message : 'Unknown transform error'}`,
254
- location: null
255
- });
256
- }
257
- function resolveDdlFailurePath(source, directories) {
258
- if (source) {
259
- return node_path_1.default.resolve(process.cwd(), source);
260
- }
261
- if (directories.length) {
262
- return node_path_1.default.resolve(directories[0]);
263
- }
264
- return process.cwd();
265
- }
266
- function getTransformDetails(error) {
267
- if (error instanceof testkit_core_1.MissingFixtureError) {
268
- return { code: 'missing-fixture' };
269
- }
270
- if (error instanceof testkit_core_1.SchemaValidationError) {
271
- return { code: 'schema-validation' };
272
- }
273
- if (error instanceof testkit_core_1.QueryRewriteError) {
274
- return { code: 'query-rewrite' };
275
- }
276
- return undefined;
277
- }
278
- function isTransformError(error) {
279
- return (error instanceof testkit_core_1.MissingFixtureError ||
280
- error instanceof testkit_core_1.SchemaValidationError ||
281
- error instanceof testkit_core_1.QueryRewriteError);
282
- }
283
- function buildLintFailure(params) {
284
- var _a, _b;
285
- return {
286
- kind: params.kind,
287
- filePath: params.filePath,
288
- statement: params.statement,
289
- message: params.message,
290
- location: (_a = params.location) !== null && _a !== void 0 ? _a : null,
291
- rewritten: (_b = params.rewritten) !== null && _b !== void 0 ? _b : null,
292
- details: params.details
293
- };
294
- }
295
- function findLineColumn(contents, position) {
296
- const lines = contents.split(/\r?\n/);
297
- let offset = 0;
298
- for (let i = 0; i < lines.length; i += 1) {
299
- const lineLength = lines[i].length + 1;
300
- if (position < offset + lineLength) {
301
- return {
302
- line: i + 1,
303
- column: position - offset + 1
304
- };
305
- }
306
- offset += lineLength;
307
- }
308
- return {
309
- line: lines.length,
310
- column: lines[lines.length - 1].length + 1
311
- };
312
- }
313
- function reportFailures(failures) {
314
- var _a, _b, _c, _d;
315
- for (const failure of failures) {
316
- console.error(`\n[${failure.filePath}] (${failure.kind}) ${failure.message}`);
317
- if (failure.location) {
318
- console.error(`at line ${failure.location.line} column ${failure.location.column}`);
319
- }
320
- if (((_a = failure.details) === null || _a === void 0 ? void 0 : _a.position) !== undefined) {
321
- console.error(`position: ${failure.details.position}`);
322
- }
323
- if ((_b = failure.details) === null || _b === void 0 ? void 0 : _b.code) {
324
- console.error(`code: ${failure.details.code}`);
325
- }
326
- if ((_c = failure.details) === null || _c === void 0 ? void 0 : _c.detail) {
327
- console.error(`detail: ${failure.details.detail}`);
328
- }
329
- if ((_d = failure.details) === null || _d === void 0 ? void 0 : _d.hint) {
330
- console.error(`hint: ${failure.details.hint}`);
331
- }
332
- if (failure.rewritten) {
333
- console.error('rewritten SQL:');
334
- console.error(failure.rewritten);
335
- }
336
- }
337
- }
338
- //# sourceMappingURL=lint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export declare const DEFAULT_EXTENSIONS: string[];
2
- export declare const DEFAULT_DDL_DIRECTORY = "ztd/ddl";
3
- export declare const DEFAULT_TESTS_DIRECTORY = "tests";
4
- export declare function collectDirectories(value: string, previous: string[]): string[];
5
- export declare function collectValues(value: string, previous: string[]): string[];
6
- export declare function normalizeDirectoryList(userDirectories: string[] | undefined, fallback: string): string[];
7
- export declare function parseExtensions(value: string | string[]): string[];
8
- export declare function resolveExtensions(input: string[] | undefined, fallback: string[]): string[];
9
- export declare function parseCsvList(value: string): string[];
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_TESTS_DIRECTORY = exports.DEFAULT_DDL_DIRECTORY = exports.DEFAULT_EXTENSIONS = void 0;
4
- exports.collectDirectories = collectDirectories;
5
- exports.collectValues = collectValues;
6
- exports.normalizeDirectoryList = normalizeDirectoryList;
7
- exports.parseExtensions = parseExtensions;
8
- exports.resolveExtensions = resolveExtensions;
9
- exports.parseCsvList = parseCsvList;
10
- exports.DEFAULT_EXTENSIONS = ['.sql'];
11
- exports.DEFAULT_DDL_DIRECTORY = 'ztd/ddl';
12
- exports.DEFAULT_TESTS_DIRECTORY = 'tests';
13
- const EXTENSION_TOKEN_PATTERN = /^[A-Za-z0-9_]+$/;
14
- function collectDirectories(value, previous) {
15
- return [...previous, value];
16
- }
17
- function collectValues(value, previous) {
18
- return [...previous, value];
19
- }
20
- function normalizeDirectoryList(userDirectories, fallback) {
21
- const candidates = (userDirectories !== null && userDirectories !== void 0 ? userDirectories : []).map((entry) => entry.trim()).filter(Boolean);
22
- // Fall back to the configured default directory when no explicit paths are provided.
23
- const directories = candidates.length ? candidates : [fallback];
24
- return Array.from(new Set(directories));
25
- }
26
- function parseExtensions(value) {
27
- const rawEntries = Array.isArray(value) ? value : value.split(',');
28
- // Clean and normalize each candidate before deduplicating to ensure stable output.
29
- const cleanedTokens = rawEntries
30
- .map((entry) => entry.trim())
31
- .filter((entry) => entry.length > 0 && entry !== '.')
32
- .map((entry) => (entry.startsWith('.') ? entry.slice(1) : entry))
33
- .filter((token) => token.length > 0 && EXTENSION_TOKEN_PATTERN.test(token))
34
- .map((token) => `.${token.toLowerCase()}`);
35
- return Array.from(new Set(cleanedTokens)).sort();
36
- }
37
- function resolveExtensions(input, fallback) {
38
- // Use user-specified extensions when present; otherwise rely on the default list.
39
- const normalized = (input === null || input === void 0 ? void 0 : input.length) ? input : fallback;
40
- return Array.from(new Set(normalized));
41
- }
42
- function parseCsvList(value) {
43
- return value
44
- .split(',')
45
- .map((entry) => entry.trim())
46
- .filter((entry) => entry.length > 0);
47
- }
48
- //# sourceMappingURL=options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/commands/options.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { DbConnectionContext } from '../utils/dbConnection';
2
- export interface PullSchemaOptions {
3
- url: string;
4
- out: string;
5
- pgDumpPath?: string;
6
- schemas?: string[];
7
- tables?: string[];
8
- connectionContext?: DbConnectionContext;
9
- }
10
- export declare function runPullSchema(options: PullSchemaOptions): void;