@rawsql-ts/ztd-cli 0.17.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 -366
  2. package/package.json +26 -15
  3. package/templates/.editorconfig +16 -16
  4. package/templates/.prettierignore +2 -2
  5. package/templates/.prettierrc +24 -24
  6. package/templates/AGENTS.md +30 -52
  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 -14
  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 -26
  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 -37
  19. package/templates/src/catalog/runtime/AGENTS.md +28 -75
  20. package/templates/src/catalog/runtime/_coercions.local-source.ts +30 -0
  21. package/templates/src/catalog/runtime/_coercions.ts +30 -1
  22. package/templates/src/catalog/runtime/_smoke.runtime.ts +21 -21
  23. package/templates/src/catalog/specs/AGENTS.md +41 -48
  24. package/templates/src/catalog/specs/_smoke.spec.arktype.ts +21 -21
  25. package/templates/src/catalog/specs/_smoke.spec.zod.ts +20 -20
  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/{dist/ztd-cli/templates/src → src/infrastructure}/db/sql-client.ts +3 -3
  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 -26
  47. package/templates/src/jobs/README.md +2 -2
  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 -118
  53. package/templates/src/repositories/tables/AGENTS.md +29 -94
  54. package/templates/src/repositories/tables/README.md +5 -3
  55. package/templates/src/repositories/views/AGENTS.md +25 -25
  56. package/templates/src/repositories/views/README.md +5 -3
  57. package/templates/src/sql/AGENTS.md +30 -77
  58. package/templates/src/sql/README.md +5 -5
  59. package/templates/tests/AGENTS.md +29 -62
  60. package/templates/tests/generated/AGENTS.md +23 -16
  61. package/templates/tests/smoke.test.ts +25 -5
  62. package/templates/tests/smoke.validation.test.ts +34 -34
  63. package/templates/tests/support/AGENTS.md +24 -26
  64. package/templates/tests/support/global-setup.ts +15 -15
  65. package/templates/tests/support/testkit-client.ts +14 -14
  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 -15
  69. package/templates/vitest.config.ts +13 -13
  70. package/templates/ztd/AGENTS.md +23 -18
  71. package/templates/ztd/README.md +5 -5
  72. package/templates/ztd/ddl/AGENTS.md +26 -34
  73. package/templates/ztd/ddl/demo.sql +74 -74
  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 -79
  85. package/dist/commands/init.js +0 -1083
  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 -358
  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 -216
  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/optionalDependencies.d.ts +0 -35
  124. package/dist/utils/optionalDependencies.js +0 -96
  125. package/dist/utils/optionalDependencies.js.map +0 -1
  126. package/dist/utils/pgDump.d.ts +0 -11
  127. package/dist/utils/pgDump.js +0 -55
  128. package/dist/utils/pgDump.js.map +0 -1
  129. package/dist/utils/sqlLintHelpers.d.ts +0 -18
  130. package/dist/utils/sqlLintHelpers.js +0 -270
  131. package/dist/utils/sqlLintHelpers.js.map +0 -1
  132. package/dist/utils/typeMapper.d.ts +0 -4
  133. package/dist/utils/typeMapper.js +0 -76
  134. package/dist/utils/typeMapper.js.map +0 -1
  135. package/dist/utils/ztdProjectConfig.d.ts +0 -40
  136. package/dist/utils/ztdProjectConfig.js +0 -167
  137. package/dist/utils/ztdProjectConfig.js.map +0 -1
  138. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.d.ts +0 -38
  139. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js +0 -117
  140. package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js.map +0 -1
  141. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.d.ts +0 -4
  142. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js +0 -71
  143. package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js.map +0 -1
  144. package/templates/dist/drivers/pg-testkit/src/index.d.ts +0 -5
  145. package/templates/dist/drivers/pg-testkit/src/index.js +0 -11
  146. package/templates/dist/drivers/pg-testkit/src/index.js.map +0 -1
  147. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.d.ts +0 -3
  148. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js +0 -79
  149. package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js.map +0 -1
  150. package/templates/dist/drivers/pg-testkit/src/types.d.ts +0 -69
  151. package/templates/dist/drivers/pg-testkit/src/types.js +0 -3
  152. package/templates/dist/drivers/pg-testkit/src/types.js.map +0 -1
  153. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.d.ts +0 -15
  154. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js +0 -34
  155. package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js.map +0 -1
  156. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.d.ts +0 -12
  157. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js +0 -53
  158. package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js.map +0 -1
  159. package/templates/dist/mapper-core/src/index.d.ts +0 -160
  160. package/templates/dist/mapper-core/src/index.js +0 -637
  161. package/templates/dist/mapper-core/src/index.js.map +0 -1
  162. package/templates/dist/testkit-core/src/errors/index.d.ts +0 -49
  163. package/templates/dist/testkit-core/src/errors/index.js +0 -111
  164. package/templates/dist/testkit-core/src/errors/index.js.map +0 -1
  165. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.d.ts +0 -5
  166. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js +0 -29
  167. package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js.map +0 -1
  168. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.d.ts +0 -37
  169. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js +0 -182
  170. package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js.map +0 -1
  171. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.d.ts +0 -20
  172. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js +0 -121
  173. package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js.map +0 -1
  174. package/templates/dist/testkit-core/src/fixtures/FixtureStore.d.ts +0 -51
  175. package/templates/dist/testkit-core/src/fixtures/FixtureStore.js +0 -199
  176. package/templates/dist/testkit-core/src/fixtures/FixtureStore.js.map +0 -1
  177. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.d.ts +0 -10
  178. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js +0 -28
  179. package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js.map +0 -1
  180. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.d.ts +0 -18
  181. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js +0 -80
  182. package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js.map +0 -1
  183. package/templates/dist/testkit-core/src/fixtures/ddlLint.d.ts +0 -59
  184. package/templates/dist/testkit-core/src/fixtures/ddlLint.js +0 -489
  185. package/templates/dist/testkit-core/src/fixtures/ddlLint.js.map +0 -1
  186. package/templates/dist/testkit-core/src/fixtures/naming.d.ts +0 -1
  187. package/templates/dist/testkit-core/src/fixtures/naming.js +0 -6
  188. package/templates/dist/testkit-core/src/fixtures/naming.js.map +0 -1
  189. package/templates/dist/testkit-core/src/index.d.ts +0 -17
  190. package/templates/dist/testkit-core/src/index.js +0 -47
  191. package/templates/dist/testkit-core/src/index.js.map +0 -1
  192. package/templates/dist/testkit-core/src/logger/NoopLogger.d.ts +0 -8
  193. package/templates/dist/testkit-core/src/logger/NoopLogger.js +0 -16
  194. package/templates/dist/testkit-core/src/logger/NoopLogger.js.map +0 -1
  195. package/templates/dist/testkit-core/src/provider/TestkitProvider.d.ts +0 -57
  196. package/templates/dist/testkit-core/src/provider/TestkitProvider.js +0 -149
  197. package/templates/dist/testkit-core/src/provider/TestkitProvider.js.map +0 -1
  198. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.d.ts +0 -43
  199. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js +0 -473
  200. package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js.map +0 -1
  201. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.d.ts +0 -9
  202. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js +0 -38
  203. package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js.map +0 -1
  204. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.d.ts +0 -42
  205. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js +0 -298
  206. package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js.map +0 -1
  207. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.d.ts +0 -12
  208. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js +0 -63
  209. package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js.map +0 -1
  210. package/templates/dist/testkit-core/src/types/index.d.ts +0 -69
  211. package/templates/dist/testkit-core/src/types/index.js +0 -3
  212. package/templates/dist/testkit-core/src/types/index.js.map +0 -1
  213. package/templates/dist/testkit-core/src/utils/queryHelpers.d.ts +0 -28
  214. package/templates/dist/testkit-core/src/utils/queryHelpers.js +0 -81
  215. package/templates/dist/testkit-core/src/utils/queryHelpers.js.map +0 -1
  216. package/templates/dist/writer-core/src/index.d.ts +0 -34
  217. package/templates/dist/writer-core/src/index.js +0 -115
  218. package/templates/dist/writer-core/src/index.js.map +0 -1
  219. package/templates/dist/ztd-cli/templates/src/db/sql-client.d.ts +0 -20
  220. package/templates/dist/ztd-cli/templates/src/db/sql-client.js +0 -3
  221. package/templates/dist/ztd-cli/templates/src/db/sql-client.js.map +0 -1
  222. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.d.ts +0 -36
  223. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js +0 -85
  224. package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js.map +0 -1
  225. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.d.ts +0 -20
  226. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js +0 -33
  227. package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js.map +0 -1
  228. package/templates/dist/ztd-cli/templates/tests/support/global-setup.d.ts +0 -10
  229. package/templates/dist/ztd-cli/templates/tests/support/global-setup.js +0 -29
  230. package/templates/dist/ztd-cli/templates/tests/support/global-setup.js.map +0 -1
  231. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.d.ts +0 -66
  232. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js +0 -552
  233. package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js.map +0 -1
  234. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.d.ts +0 -1
  235. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js +0 -82
  236. package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js.map +0 -1
  237. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.d.ts +0 -1
  238. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js +0 -29
  239. package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js.map +0 -1
  240. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.d.ts +0 -7
  241. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js +0 -10
  242. package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js.map +0 -1
@@ -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 type { DdlLintMode } from '@rawsql-ts/testkit-core';
3
- import { type PgClientLike } from '../utils/optionalDependencies';
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: PgClientLike;
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 the adapter-provided testkit client.
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,358 +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 rawsql_ts_1 = require("rawsql-ts");
12
- const optionalDependencies_1 = require("../utils/optionalDependencies");
13
- const ztdProjectConfig_1 = require("../utils/ztdProjectConfig");
14
- const sqlLintHelpers_1 = require("../utils/sqlLintHelpers");
15
- /**
16
- * Validate every SQL file against the configured DDL fixtures by replaying each
17
- * statement through the adapter-provided testkit client.
18
- * @param options Configuration values that describe which files and schemas to lint.
19
- * @returns A summary of the failures observed and how many files were processed.
20
- */
21
- async function runSqlLint(options) {
22
- const { sqlFiles, ddlDirectories, defaultSchema, searchPath, ddlLint, client } = options;
23
- const testkitCore = await (0, optionalDependencies_1.ensureTestkitCoreModule)();
24
- const adapter = await (0, optionalDependencies_1.ensureAdapterNodePgModule)();
25
- const constructors = {
26
- TableNameResolver: testkitCore.TableNameResolver,
27
- DdlFixtureLoader: testkitCore.DdlFixtureLoader,
28
- DdlLintError: testkitCore.DdlLintError,
29
- MissingFixtureError: testkitCore.MissingFixtureError,
30
- SchemaValidationError: testkitCore.SchemaValidationError,
31
- QueryRewriteError: testkitCore.QueryRewriteError
32
- };
33
- let tableDefinitions;
34
- try {
35
- const resolver = new constructors.TableNameResolver({ defaultSchema, searchPath });
36
- const loader = new constructors.DdlFixtureLoader({
37
- directories: ddlDirectories,
38
- tableNameResolver: resolver,
39
- ddlLint
40
- });
41
- const fixtures = loader.getFixtures();
42
- tableDefinitions = fixtures.map((fixture) => fixture.tableDefinition);
43
- }
44
- catch (error) {
45
- return {
46
- failures: [buildTransformFailureFromLoaderError(error, ddlDirectories, constructors)],
47
- filesChecked: sqlFiles.length
48
- };
49
- }
50
- const enumLabels = (0, sqlLintHelpers_1.extractEnumLabels)(ddlDirectories);
51
- const tableRows = tableDefinitions.map((definition) => ({
52
- tableName: definition.name,
53
- rows: [(0, sqlLintHelpers_1.buildLintFixtureRow)(definition, enumLabels)]
54
- }));
55
- let rewrittenStatement = null;
56
- const testkit = adapter.createPgTestkitClient({
57
- connectionFactory: async () => client,
58
- tableDefinitions,
59
- tableRows,
60
- defaultSchema,
61
- searchPath,
62
- onExecute: (sql) => {
63
- rewrittenStatement = sql;
64
- }
65
- });
66
- const failures = [];
67
- try {
68
- for (const filePath of sqlFiles) {
69
- const contents = readFileSafe(filePath);
70
- await lintFile(filePath, contents, testkit, failures, () => {
71
- rewrittenStatement = null;
72
- }, () => rewrittenStatement, constructors);
73
- }
74
- }
75
- finally {
76
- await testkit.close();
77
- }
78
- return {
79
- failures,
80
- filesChecked: sqlFiles.length
81
- };
82
- }
83
- /**
84
- * Register the `ztd lint` CLI command that validates raw SQL with a temporary Postgres instance.
85
- * @param program CLI root command that receives the lint subcommand.
86
- */
87
- function registerLintCommand(program) {
88
- program
89
- .command('lint <path>')
90
- .description('Lint SQL files for syntax and analysis correctness via ZTD')
91
- .action(async (pattern) => {
92
- await runLintCommand(pattern);
93
- });
94
- }
95
- async function runLintCommand(pattern) {
96
- var _a, _b, _c, _d;
97
- const config = (0, ztdProjectConfig_1.loadZtdProjectConfig)();
98
- const projectRoot = process.cwd();
99
- const ddlRoot = node_path_1.default.resolve(projectRoot, config.ddlDir);
100
- const sqlFiles = (0, sqlLintHelpers_1.resolveSqlFiles)(pattern);
101
- const databaseUrl = (_b = (_a = process.env.ZTD_LINT_DATABASE_URL) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : (_c = process.env.DATABASE_URL) === null || _c === void 0 ? void 0 : _c.trim();
102
- const pgModule = await (0, optionalDependencies_1.ensurePgModule)();
103
- const { Client: PgClient } = pgModule;
104
- let client = null;
105
- let container = null;
106
- let connectionUrl = databaseUrl && databaseUrl.length > 0 ? databaseUrl : null;
107
- try {
108
- if (!connectionUrl) {
109
- const containerModule = await (0, optionalDependencies_1.ensurePostgresContainerModule)().catch((error) => {
110
- const baseMessage = error instanceof Error ? error.message : String(error);
111
- throw new Error(`${baseMessage} Or set ZTD_LINT_DATABASE_URL to reuse an existing Postgres connection.`);
112
- });
113
- const { PostgreSqlContainer } = containerModule;
114
- const started = await new PostgreSqlContainer((_d = process.env.ZTD_LINT_DB_IMAGE) !== null && _d !== void 0 ? _d : 'postgres:16-alpine')
115
- .withDatabase('ztdlint')
116
- .withUsername('ztd')
117
- .withPassword('ztd')
118
- .start();
119
- container = started;
120
- connectionUrl = started.getConnectionUri();
121
- }
122
- client = new PgClient({ connectionString: connectionUrl });
123
- await client.connect();
124
- const result = await runSqlLint({
125
- sqlFiles,
126
- ddlDirectories: [ddlRoot],
127
- defaultSchema: config.ddl.defaultSchema,
128
- searchPath: config.ddl.searchPath,
129
- ddlLint: config.ddlLint,
130
- client
131
- });
132
- if (result.failures.length > 0) {
133
- reportFailures(result.failures);
134
- process.exitCode = 1;
135
- throw new Error('ztd lint failed');
136
- }
137
- // Success is implied by the absence of failures, so the command stays silent.
138
- }
139
- finally {
140
- await (client === null || client === void 0 ? void 0 : client.end().catch(() => undefined));
141
- await (container === null || container === void 0 ? void 0 : container.stop());
142
- }
143
- }
144
- function readFileSafe(filePath) {
145
- return (0, node_fs_1.readFileSync)(filePath, 'utf8');
146
- }
147
- async function lintFile(filePath, contents, testkit, failures, resetRewritten, getRewritten, constructors) {
148
- let split;
149
- try {
150
- split = rawsql_ts_1.MultiQuerySplitter.split(contents);
151
- }
152
- catch (error) {
153
- failures.push(buildParserFailure(filePath, contents, error));
154
- return;
155
- }
156
- // Validate every statement that survives the splitter to catch syntax and semantic issues.
157
- for (const chunk of split.queries) {
158
- if (chunk.isEmpty) {
159
- continue;
160
- }
161
- const statement = chunk.sql.trim();
162
- if (!statement) {
163
- continue;
164
- }
165
- try {
166
- rawsql_ts_1.SqlParser.parse(statement);
167
- }
168
- catch (parseError) {
169
- failures.push(buildParserFailure(filePath, statement, parseError));
170
- continue;
171
- }
172
- try {
173
- resetRewritten();
174
- await executeValidationStatement(testkit, statement);
175
- }
176
- catch (error) {
177
- failures.push(buildStatementFailure(filePath, statement, contents, error, getRewritten(), constructors));
178
- }
179
- }
180
- }
181
- async function executeValidationStatement(testkit, statement) {
182
- // Execute the rewritten statement so fixtures are applied before Postgres validation.
183
- await testkit.query(statement);
184
- }
185
- /**
186
- * Build a parser failure record that surfaces rawsql-ts errors from runSqlLint.
187
- * @param filePath The SQL file that triggered the parser issue.
188
- * @param contents Statement contents to display alongside the error.
189
- * @param error The parser error produced by rawsql-ts.
190
- * @returns A failure record that keeps the command output consistent.
191
- */
192
- function buildParserFailure(filePath, contents, error) {
193
- const message = `RawSQL parser: ${error instanceof Error ? error.message : 'Unknown parser error'}`;
194
- return buildLintFailure({
195
- kind: 'parser',
196
- filePath,
197
- statement: contents,
198
- message,
199
- location: null
200
- });
201
- }
202
- function buildStatementFailure(filePath, statement, contents, error, rewritten, constructors) {
203
- if (isTransformError(error, constructors)) {
204
- return buildTransformFailureFromStatement(filePath, statement, error, rewritten, constructors);
205
- }
206
- return buildDbFailure(filePath, statement, contents, error, rewritten);
207
- }
208
- function buildDbFailure(filePath, statement, contents, error, rewritten) {
209
- var _a;
210
- const pgError = error;
211
- const position = typeof pgError.position === 'string'
212
- ? Number(pgError.position) - 1
213
- : typeof pgError.position === 'number'
214
- ? pgError.position
215
- : undefined;
216
- const location = position !== undefined ? findLineColumn(contents, position) : null;
217
- const details = {};
218
- if (typeof pgError.code === 'string') {
219
- details.code = pgError.code;
220
- }
221
- if (typeof pgError.position === 'string' && !Number.isNaN(Number(pgError.position))) {
222
- details.position = Number(pgError.position);
223
- }
224
- else if (typeof pgError.position === 'number') {
225
- details.position = pgError.position;
226
- }
227
- if (typeof pgError.detail === 'string') {
228
- details.detail = pgError.detail;
229
- }
230
- if (typeof pgError.hint === 'string') {
231
- details.hint = pgError.hint;
232
- }
233
- return buildLintFailure({
234
- kind: 'db',
235
- filePath,
236
- statement,
237
- message: (_a = pgError.message) !== null && _a !== void 0 ? _a : 'Unknown error',
238
- location,
239
- rewritten,
240
- details: Object.keys(details).length > 0 ? details : undefined
241
- });
242
- }
243
- function buildTransformFailureFromStatement(filePath, statement, error, rewritten, constructors) {
244
- const message = `ZTD transform: ${error.message}`;
245
- const details = getTransformDetails(error, constructors);
246
- return buildLintFailure({
247
- kind: 'transform',
248
- filePath,
249
- statement,
250
- message,
251
- location: null,
252
- rewritten,
253
- details
254
- });
255
- }
256
- function buildTransformFailureFromLoaderError(error, ddlDirectories, constructors) {
257
- if (error instanceof constructors.DdlLintError &&
258
- error.diagnostics.length > 0) {
259
- const diag = error.diagnostics[0];
260
- const filePath = resolveDdlFailurePath(diag.source, ddlDirectories);
261
- return buildLintFailure({
262
- kind: 'transform',
263
- filePath,
264
- message: `ZTD transform: ${diag.message}`,
265
- location: null,
266
- details: { code: diag.code }
267
- });
268
- }
269
- const filePath = resolveDdlFailurePath(undefined, ddlDirectories);
270
- return buildLintFailure({
271
- kind: 'transform',
272
- filePath,
273
- message: `ZTD transform: ${error instanceof Error ? error.message : 'Unknown transform error'}`,
274
- location: null
275
- });
276
- }
277
- function resolveDdlFailurePath(source, directories) {
278
- if (source) {
279
- return node_path_1.default.resolve(process.cwd(), source);
280
- }
281
- if (directories.length) {
282
- return node_path_1.default.resolve(directories[0]);
283
- }
284
- return process.cwd();
285
- }
286
- function getTransformDetails(error, constructors) {
287
- if (error instanceof constructors.MissingFixtureError) {
288
- return { code: 'missing-fixture' };
289
- }
290
- if (error instanceof constructors.SchemaValidationError) {
291
- return { code: 'schema-validation' };
292
- }
293
- if (error instanceof constructors.QueryRewriteError) {
294
- return { code: 'query-rewrite' };
295
- }
296
- return undefined;
297
- }
298
- function isTransformError(error, constructors) {
299
- return (error instanceof constructors.MissingFixtureError ||
300
- error instanceof constructors.SchemaValidationError ||
301
- error instanceof constructors.QueryRewriteError);
302
- }
303
- function buildLintFailure(params) {
304
- var _a, _b;
305
- return {
306
- kind: params.kind,
307
- filePath: params.filePath,
308
- statement: params.statement,
309
- message: params.message,
310
- location: (_a = params.location) !== null && _a !== void 0 ? _a : null,
311
- rewritten: (_b = params.rewritten) !== null && _b !== void 0 ? _b : null,
312
- details: params.details
313
- };
314
- }
315
- function findLineColumn(contents, position) {
316
- const lines = contents.split(/\r?\n/);
317
- let offset = 0;
318
- for (let i = 0; i < lines.length; i += 1) {
319
- const lineLength = lines[i].length + 1;
320
- if (position < offset + lineLength) {
321
- return {
322
- line: i + 1,
323
- column: position - offset + 1
324
- };
325
- }
326
- offset += lineLength;
327
- }
328
- return {
329
- line: lines.length,
330
- column: lines[lines.length - 1].length + 1
331
- };
332
- }
333
- function reportFailures(failures) {
334
- var _a, _b, _c, _d;
335
- for (const failure of failures) {
336
- console.error(`\n[${failure.filePath}] (${failure.kind}) ${failure.message}`);
337
- if (failure.location) {
338
- console.error(`at line ${failure.location.line} column ${failure.location.column}`);
339
- }
340
- if (((_a = failure.details) === null || _a === void 0 ? void 0 : _a.position) !== undefined) {
341
- console.error(`position: ${failure.details.position}`);
342
- }
343
- if ((_b = failure.details) === null || _b === void 0 ? void 0 : _b.code) {
344
- console.error(`code: ${failure.details.code}`);
345
- }
346
- if ((_c = failure.details) === null || _c === void 0 ? void 0 : _c.detail) {
347
- console.error(`detail: ${failure.details.detail}`);
348
- }
349
- if ((_d = failure.details) === null || _d === void 0 ? void 0 : _d.hint) {
350
- console.error(`hint: ${failure.details.hint}`);
351
- }
352
- if (failure.rewritten) {
353
- console.error('rewritten SQL:');
354
- console.error(failure.rewritten);
355
- }
356
- }
357
- }
358
- //# 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;