@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.
- package/README.md +532 -366
- package/package.json +26 -15
- package/templates/.editorconfig +16 -16
- package/templates/.prettierignore +2 -2
- package/templates/.prettierrc +24 -24
- package/templates/AGENTS.md +30 -52
- package/templates/CONTEXT.md +11 -0
- package/templates/CONTEXT.webapi.md +11 -0
- package/templates/DESIGN.md +17 -0
- package/templates/DEV_NOTES.md +14 -0
- package/templates/PROMPT_DOGFOOD.webapi.md +49 -0
- package/templates/README.md +46 -14
- package/templates/README.webapi.md +38 -0
- package/templates/scripts/local-source-guard.mjs +189 -0
- package/templates/src/AGENTS.md +26 -26
- package/templates/src/application/AGENTS.md +15 -0
- package/templates/src/application/README.md +6 -0
- package/templates/src/catalog/AGENTS.md +28 -37
- package/templates/src/catalog/runtime/AGENTS.md +28 -75
- package/templates/src/catalog/runtime/_coercions.local-source.ts +30 -0
- package/templates/src/catalog/runtime/_coercions.ts +30 -1
- package/templates/src/catalog/runtime/_smoke.runtime.ts +21 -21
- package/templates/src/catalog/specs/AGENTS.md +41 -48
- package/templates/src/catalog/specs/_smoke.spec.arktype.ts +21 -21
- package/templates/src/catalog/specs/_smoke.spec.zod.ts +20 -20
- package/templates/src/db/sql-client-adapters.ts +32 -0
- package/templates/src/db/sql-client.ts +24 -24
- package/templates/src/domain/AGENTS.md +15 -0
- package/templates/src/domain/README.md +6 -0
- package/templates/src/infrastructure/AGENTS.md +14 -0
- package/templates/src/infrastructure/README.md +6 -0
- package/templates/src/infrastructure/db/AGENTS.md +14 -0
- package/templates/src/infrastructure/db/sql-client-adapters.ts +34 -0
- package/templates/{dist/ztd-cli/templates/src → src/infrastructure}/db/sql-client.ts +3 -3
- package/templates/src/infrastructure/persistence/AGENTS.md +18 -0
- package/templates/src/infrastructure/persistence/README.md +8 -0
- package/templates/src/infrastructure/persistence/repositories/AGENTS.md +17 -0
- package/templates/src/infrastructure/persistence/repositories/tables/AGENTS.md +20 -0
- package/templates/src/infrastructure/persistence/repositories/tables/README.md +5 -0
- package/templates/src/infrastructure/persistence/repositories/views/AGENTS.md +16 -0
- package/templates/src/infrastructure/persistence/repositories/views/README.md +5 -0
- package/templates/src/infrastructure/telemetry/AGENTS.md +14 -0
- package/templates/src/infrastructure/telemetry/consoleRepositoryTelemetry.ts +66 -0
- package/templates/src/infrastructure/telemetry/repositoryTelemetry.ts +26 -0
- package/templates/src/infrastructure/telemetry/types.ts +48 -0
- package/templates/src/jobs/AGENTS.md +25 -26
- package/templates/src/jobs/README.md +2 -2
- package/templates/src/local/sql-contract.ts +1 -0
- package/templates/src/presentation/AGENTS.md +15 -0
- package/templates/src/presentation/http/AGENTS.md +15 -0
- package/templates/src/presentation/http/README.md +6 -0
- package/templates/src/repositories/AGENTS.md +30 -118
- package/templates/src/repositories/tables/AGENTS.md +29 -94
- package/templates/src/repositories/tables/README.md +5 -3
- package/templates/src/repositories/views/AGENTS.md +25 -25
- package/templates/src/repositories/views/README.md +5 -3
- package/templates/src/sql/AGENTS.md +30 -77
- package/templates/src/sql/README.md +5 -5
- package/templates/tests/AGENTS.md +29 -62
- package/templates/tests/generated/AGENTS.md +23 -16
- package/templates/tests/smoke.test.ts +25 -5
- package/templates/tests/smoke.validation.test.ts +34 -34
- package/templates/tests/support/AGENTS.md +24 -26
- package/templates/tests/support/global-setup.ts +15 -15
- package/templates/tests/support/testkit-client.ts +14 -14
- package/templates/tests/support/testkit-client.webapi.ts +14 -0
- package/templates/tests/ztd-layout.generated.ts +6 -6
- package/templates/tsconfig.json +15 -15
- package/templates/vitest.config.ts +13 -13
- package/templates/ztd/AGENTS.md +23 -18
- package/templates/ztd/README.md +5 -5
- package/templates/ztd/ddl/AGENTS.md +26 -34
- package/templates/ztd/ddl/demo.sql +74 -74
- package/LICENSE +0 -21
- package/dist/commands/ddl.d.ts +0 -7
- package/dist/commands/ddl.js +0 -118
- package/dist/commands/ddl.js.map +0 -1
- package/dist/commands/diff.d.ts +0 -10
- package/dist/commands/diff.js +0 -38
- package/dist/commands/diff.js.map +0 -1
- package/dist/commands/genEntities.d.ts +0 -6
- package/dist/commands/genEntities.js +0 -50
- package/dist/commands/genEntities.js.map +0 -1
- package/dist/commands/init.d.ts +0 -79
- package/dist/commands/init.js +0 -1083
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/lint.d.ts +0 -59
- package/dist/commands/lint.js +0 -358
- package/dist/commands/lint.js.map +0 -1
- package/dist/commands/options.d.ts +0 -9
- package/dist/commands/options.js +0 -48
- package/dist/commands/options.js.map +0 -1
- package/dist/commands/pull.d.ts +0 -10
- package/dist/commands/pull.js +0 -105
- package/dist/commands/pull.js.map +0 -1
- package/dist/commands/ztdConfig.d.ts +0 -23
- package/dist/commands/ztdConfig.js +0 -216
- package/dist/commands/ztdConfig.js.map +0 -1
- package/dist/commands/ztdConfigCommand.d.ts +0 -5
- package/dist/commands/ztdConfigCommand.js +0 -157
- package/dist/commands/ztdConfigCommand.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -22
- package/dist/index.js.map +0 -1
- package/dist/utils/agents.d.ts +0 -1
- package/dist/utils/agents.js +0 -48
- package/dist/utils/agents.js.map +0 -1
- package/dist/utils/collectSqlFiles.d.ts +0 -9
- package/dist/utils/collectSqlFiles.js +0 -58
- package/dist/utils/collectSqlFiles.js.map +0 -1
- package/dist/utils/connectionSummary.d.ts +0 -3
- package/dist/utils/connectionSummary.js +0 -29
- package/dist/utils/connectionSummary.js.map +0 -1
- package/dist/utils/dbConnection.d.ts +0 -29
- package/dist/utils/dbConnection.js +0 -210
- package/dist/utils/dbConnection.js.map +0 -1
- package/dist/utils/fs.d.ts +0 -1
- package/dist/utils/fs.js +0 -12
- package/dist/utils/fs.js.map +0 -1
- package/dist/utils/normalizePulledSchema.d.ts +0 -12
- package/dist/utils/normalizePulledSchema.js +0 -213
- package/dist/utils/normalizePulledSchema.js.map +0 -1
- package/dist/utils/optionalDependencies.d.ts +0 -35
- package/dist/utils/optionalDependencies.js +0 -96
- package/dist/utils/optionalDependencies.js.map +0 -1
- package/dist/utils/pgDump.d.ts +0 -11
- package/dist/utils/pgDump.js +0 -55
- package/dist/utils/pgDump.js.map +0 -1
- package/dist/utils/sqlLintHelpers.d.ts +0 -18
- package/dist/utils/sqlLintHelpers.js +0 -270
- package/dist/utils/sqlLintHelpers.js.map +0 -1
- package/dist/utils/typeMapper.d.ts +0 -4
- package/dist/utils/typeMapper.js +0 -76
- package/dist/utils/typeMapper.js.map +0 -1
- package/dist/utils/ztdProjectConfig.d.ts +0 -40
- package/dist/utils/ztdProjectConfig.js +0 -167
- package/dist/utils/ztdProjectConfig.js.map +0 -1
- package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.d.ts +0 -38
- package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js +0 -117
- package/templates/dist/drivers/pg-testkit/src/driver/PgTestkitClient.js.map +0 -1
- package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.d.ts +0 -4
- package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js +0 -71
- package/templates/dist/drivers/pg-testkit/src/driver/createPgTestkitPool.js.map +0 -1
- package/templates/dist/drivers/pg-testkit/src/index.d.ts +0 -5
- package/templates/dist/drivers/pg-testkit/src/index.js +0 -11
- package/templates/dist/drivers/pg-testkit/src/index.js.map +0 -1
- package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.d.ts +0 -3
- package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js +0 -79
- package/templates/dist/drivers/pg-testkit/src/proxy/wrapPgClient.js.map +0 -1
- package/templates/dist/drivers/pg-testkit/src/types.d.ts +0 -69
- package/templates/dist/drivers/pg-testkit/src/types.js +0 -3
- package/templates/dist/drivers/pg-testkit/src/types.js.map +0 -1
- package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.d.ts +0 -15
- package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js +0 -34
- package/templates/dist/drivers/pg-testkit/src/utils/fixtureState.js.map +0 -1
- package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.d.ts +0 -12
- package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js +0 -53
- package/templates/dist/drivers/pg-testkit/src/utils/fixtureValidation.js.map +0 -1
- package/templates/dist/mapper-core/src/index.d.ts +0 -160
- package/templates/dist/mapper-core/src/index.js +0 -637
- package/templates/dist/mapper-core/src/index.js.map +0 -1
- package/templates/dist/testkit-core/src/errors/index.d.ts +0 -49
- package/templates/dist/testkit-core/src/errors/index.js +0 -111
- package/templates/dist/testkit-core/src/errors/index.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.d.ts +0 -5
- package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js +0 -29
- package/templates/dist/testkit-core/src/fixtures/ColumnAffinity.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.d.ts +0 -37
- package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js +0 -182
- package/templates/dist/testkit-core/src/fixtures/DdlFixtureLoader.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/FixtureProvider.d.ts +0 -20
- package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js +0 -121
- package/templates/dist/testkit-core/src/fixtures/FixtureProvider.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/FixtureStore.d.ts +0 -51
- package/templates/dist/testkit-core/src/fixtures/FixtureStore.js +0 -199
- package/templates/dist/testkit-core/src/fixtures/FixtureStore.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.d.ts +0 -10
- package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js +0 -28
- package/templates/dist/testkit-core/src/fixtures/TableDefinitionSchemaRegistry.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/TableNameResolver.d.ts +0 -18
- package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js +0 -80
- package/templates/dist/testkit-core/src/fixtures/TableNameResolver.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/ddlLint.d.ts +0 -59
- package/templates/dist/testkit-core/src/fixtures/ddlLint.js +0 -489
- package/templates/dist/testkit-core/src/fixtures/ddlLint.js.map +0 -1
- package/templates/dist/testkit-core/src/fixtures/naming.d.ts +0 -1
- package/templates/dist/testkit-core/src/fixtures/naming.js +0 -6
- package/templates/dist/testkit-core/src/fixtures/naming.js.map +0 -1
- package/templates/dist/testkit-core/src/index.d.ts +0 -17
- package/templates/dist/testkit-core/src/index.js +0 -47
- package/templates/dist/testkit-core/src/index.js.map +0 -1
- package/templates/dist/testkit-core/src/logger/NoopLogger.d.ts +0 -8
- package/templates/dist/testkit-core/src/logger/NoopLogger.js +0 -16
- package/templates/dist/testkit-core/src/logger/NoopLogger.js.map +0 -1
- package/templates/dist/testkit-core/src/provider/TestkitProvider.d.ts +0 -57
- package/templates/dist/testkit-core/src/provider/TestkitProvider.js +0 -149
- package/templates/dist/testkit-core/src/provider/TestkitProvider.js.map +0 -1
- package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.d.ts +0 -43
- package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js +0 -473
- package/templates/dist/testkit-core/src/rewriter/ResultSelectRewriter.js.map +0 -1
- package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.d.ts +0 -9
- package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js +0 -38
- package/templates/dist/testkit-core/src/rewriter/SelectAnalyzer.js.map +0 -1
- package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.d.ts +0 -42
- package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js +0 -298
- package/templates/dist/testkit-core/src/rewriter/SelectFixtureRewriter.js.map +0 -1
- package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.d.ts +0 -12
- package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js +0 -63
- package/templates/dist/testkit-core/src/sql/SqliteValuesBuilder.js.map +0 -1
- package/templates/dist/testkit-core/src/types/index.d.ts +0 -69
- package/templates/dist/testkit-core/src/types/index.js +0 -3
- package/templates/dist/testkit-core/src/types/index.js.map +0 -1
- package/templates/dist/testkit-core/src/utils/queryHelpers.d.ts +0 -28
- package/templates/dist/testkit-core/src/utils/queryHelpers.js +0 -81
- package/templates/dist/testkit-core/src/utils/queryHelpers.js.map +0 -1
- package/templates/dist/writer-core/src/index.d.ts +0 -34
- package/templates/dist/writer-core/src/index.js +0 -115
- package/templates/dist/writer-core/src/index.js.map +0 -1
- package/templates/dist/ztd-cli/templates/src/db/sql-client.d.ts +0 -20
- package/templates/dist/ztd-cli/templates/src/db/sql-client.js +0 -3
- package/templates/dist/ztd-cli/templates/src/db/sql-client.js.map +0 -1
- package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.d.ts +0 -36
- package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js +0 -85
- package/templates/dist/ztd-cli/templates/src/repositories/user-accounts.js.map +0 -1
- package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.d.ts +0 -20
- package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js +0 -33
- package/templates/dist/ztd-cli/templates/tests/generated/ztd-row-map.generated.js.map +0 -1
- package/templates/dist/ztd-cli/templates/tests/support/global-setup.d.ts +0 -10
- package/templates/dist/ztd-cli/templates/tests/support/global-setup.js +0 -29
- package/templates/dist/ztd-cli/templates/tests/support/global-setup.js.map +0 -1
- package/templates/dist/ztd-cli/templates/tests/support/testkit-client.d.ts +0 -66
- package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js +0 -552
- package/templates/dist/ztd-cli/templates/tests/support/testkit-client.js.map +0 -1
- package/templates/dist/ztd-cli/templates/tests/user-profiles.test.d.ts +0 -1
- package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js +0 -82
- package/templates/dist/ztd-cli/templates/tests/user-profiles.test.js.map +0 -1
- package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.d.ts +0 -1
- package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js +0 -29
- package/templates/dist/ztd-cli/templates/tests/writer-constraints.test.js.map +0 -1
- package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.d.ts +0 -7
- package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js +0 -10
- package/templates/dist/ztd-cli/templates/tests/ztd-layout.generated.js.map +0 -1
|
@@ -1,58 +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.collectSqlFiles = collectSqlFiles;
|
|
7
|
-
const node_fs_1 = require("node:fs");
|
|
8
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
-
/**
|
|
10
|
-
* Scans the supplied directories (recursively) for SQL files matching the configured extensions and aggregates their contents.
|
|
11
|
-
* @returns Sorted list of `SqlSource` records containing workspace-relative paths and SQL text for each discovered file.
|
|
12
|
-
*/
|
|
13
|
-
function collectSqlFiles(directories, extensions) {
|
|
14
|
-
// Guard against caller forgetting to supply directories; defaults should be applied upstream.
|
|
15
|
-
if (directories.length === 0) {
|
|
16
|
-
throw new Error('DDL directories list is empty; caller must provide default paths.');
|
|
17
|
-
}
|
|
18
|
-
// parseExtensions already normalizes casing, but defensively re-normalize to avoid relying solely on the caller.
|
|
19
|
-
const normalized = extensions.map((extension) => extension.toLowerCase());
|
|
20
|
-
const extensionSet = new Set(normalized);
|
|
21
|
-
const sources = [];
|
|
22
|
-
for (const directory of directories) {
|
|
23
|
-
// Resolve each configured path so the file order is deterministic.
|
|
24
|
-
const resolvedDirectory = node_path_1.default.resolve(directory);
|
|
25
|
-
if (!(0, node_fs_1.existsSync)(resolvedDirectory)) {
|
|
26
|
-
throw new Error(`DDL directory not found: ${resolvedDirectory}`);
|
|
27
|
-
}
|
|
28
|
-
scanDirectory(resolvedDirectory, extensionSet, sources);
|
|
29
|
-
}
|
|
30
|
-
return sources.sort((a, b) => a.path.localeCompare(b.path));
|
|
31
|
-
}
|
|
32
|
-
function scanDirectory(directory, extensions, accumulator) {
|
|
33
|
-
const entries = (0, node_fs_1.readdirSync)(directory, { withFileTypes: true });
|
|
34
|
-
for (const entry of entries) {
|
|
35
|
-
const resolved = node_path_1.default.join(directory, entry.name);
|
|
36
|
-
if (entry.isDirectory()) {
|
|
37
|
-
// Recursively descend into subdirectories before collecting files.
|
|
38
|
-
scanDirectory(resolved, extensions, accumulator);
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
if (!entry.isFile()) {
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
const extension = node_path_1.default.extname(entry.name).toLowerCase();
|
|
45
|
-
if (!extensions.has(extension)) {
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
const sql = (0, node_fs_1.readFileSync)(resolved, 'utf8');
|
|
49
|
-
// Empty SQL files are intentionally skipped; comment-only fixtures need a different handling path.
|
|
50
|
-
if (!sql.trim()) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
// Store a workspace-relative path so outputs do not leak machine-specific absolute paths.
|
|
54
|
-
const relativePath = node_path_1.default.relative(process.cwd(), resolved).replace(/\\/g, '/');
|
|
55
|
-
accumulator.push({ path: relativePath, sql });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=collectSqlFiles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collectSqlFiles.js","sourceRoot":"","sources":["../../src/utils/collectSqlFiles.ts"],"names":[],"mappings":";;;;;AAYA,0CAsBC;AAlCD,qCAAgE;AAChE,0DAA6B;AAO7B;;;GAGG;AACH,SAAgB,eAAe,CAAC,WAAqB,EAAE,UAAoB;IACzE,8FAA8F;IAC9F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,iHAAiH;IACjH,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,mEAAmE;QACnE,MAAM,iBAAiB,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAA,oBAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,iBAAiB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,aAAa,CAAC,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,UAAuB,EAAE,WAAwB;IACzF,MAAM,OAAO,GAAG,IAAA,qBAAW,EAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,mEAAmE;YACnE,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,mGAAmG;QACnG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,0FAA0F;QAC1F,MAAM,YAAY,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEhF,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatConnectionTarget = formatConnectionTarget;
|
|
4
|
-
exports.describeConnectionContext = describeConnectionContext;
|
|
5
|
-
function formatConnectionTarget(context) {
|
|
6
|
-
if (!context) {
|
|
7
|
-
return '';
|
|
8
|
-
}
|
|
9
|
-
// Collect metadata that identifies the destination without exposing secrets.
|
|
10
|
-
const parts = [`source=${context.source}`];
|
|
11
|
-
if (context.host) {
|
|
12
|
-
parts.push(`host=${context.host}`);
|
|
13
|
-
}
|
|
14
|
-
if (context.port) {
|
|
15
|
-
parts.push(`port=${context.port}`);
|
|
16
|
-
}
|
|
17
|
-
if (context.database) {
|
|
18
|
-
parts.push(`db=${context.database}`);
|
|
19
|
-
}
|
|
20
|
-
if (context.user) {
|
|
21
|
-
parts.push(`user=${context.user}`);
|
|
22
|
-
}
|
|
23
|
-
return `target: ${parts.join(', ')}`;
|
|
24
|
-
}
|
|
25
|
-
function describeConnectionContext(context) {
|
|
26
|
-
const formatted = formatConnectionTarget(context);
|
|
27
|
-
return formatted ? ` (${formatted})` : '';
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=connectionSummary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connectionSummary.js","sourceRoot":"","sources":["../../src/utils/connectionSummary.ts"],"names":[],"mappings":";;AAEA,wDAqBC;AAED,8DAGC;AA1BD,SAAgB,sBAAsB,CAAC,OAA6B;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,6EAA6E;IAC7E,MAAM,KAAK,GAAG,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAA6B;IACrE,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ZtdProjectConfig } from './ztdProjectConfig';
|
|
2
|
-
export interface DbConnectionFlags {
|
|
3
|
-
host?: string;
|
|
4
|
-
port?: string;
|
|
5
|
-
user?: string;
|
|
6
|
-
password?: string;
|
|
7
|
-
database?: string;
|
|
8
|
-
url?: string;
|
|
9
|
-
}
|
|
10
|
-
export type DbConnectionSource = 'flags' | 'environment' | 'config';
|
|
11
|
-
export interface DbConnectionContext {
|
|
12
|
-
source: DbConnectionSource;
|
|
13
|
-
host?: string;
|
|
14
|
-
port?: number;
|
|
15
|
-
user?: string;
|
|
16
|
-
database?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface ResolvedDatabaseConnection {
|
|
19
|
-
url: string;
|
|
20
|
-
context: DbConnectionContext;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Resolves the database connection URL/context by checking environment variables, CLI flags, and project config.
|
|
24
|
-
* @param flags - CLI overrides supplied by the user.
|
|
25
|
-
* @param config - Project-level defaults defined in ztd.config.json.
|
|
26
|
-
* @param explicitUrl - Optional explicit URL argument supplied to the CLI command.
|
|
27
|
-
* @returns The resolved URL plus contextual metadata.
|
|
28
|
-
*/
|
|
29
|
-
export declare function resolveDatabaseConnection(flags: DbConnectionFlags, config: ZtdProjectConfig, explicitUrl?: string): ResolvedDatabaseConnection;
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveDatabaseConnection = resolveDatabaseConnection;
|
|
4
|
-
const DEFAULT_PORT = 5432;
|
|
5
|
-
/**
|
|
6
|
-
* Resolves the database connection URL/context by checking environment variables, CLI flags, and project config.
|
|
7
|
-
* @param flags - CLI overrides supplied by the user.
|
|
8
|
-
* @param config - Project-level defaults defined in ztd.config.json.
|
|
9
|
-
* @param explicitUrl - Optional explicit URL argument supplied to the CLI command.
|
|
10
|
-
* @returns The resolved URL plus contextual metadata.
|
|
11
|
-
*/
|
|
12
|
-
function resolveDatabaseConnection(flags, config, explicitUrl) {
|
|
13
|
-
var _a;
|
|
14
|
-
// Prefer DATABASE_URL when provided so the consumer can rely on a single override.
|
|
15
|
-
const envUrl = ((_a = process.env.DATABASE_URL) !== null && _a !== void 0 ? _a : '').trim();
|
|
16
|
-
if (envUrl) {
|
|
17
|
-
return {
|
|
18
|
-
url: envUrl,
|
|
19
|
-
context: {
|
|
20
|
-
source: 'environment',
|
|
21
|
-
...parseUrlContext(envUrl)
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
const trimmedExplicitUrl = explicitUrl === null || explicitUrl === void 0 ? void 0 : explicitUrl.trim();
|
|
26
|
-
if (trimmedExplicitUrl) {
|
|
27
|
-
// Use the caller-provided connection string directly when no environment override exists.
|
|
28
|
-
return {
|
|
29
|
-
url: trimmedExplicitUrl,
|
|
30
|
-
context: {
|
|
31
|
-
source: 'flags',
|
|
32
|
-
...parseUrlContext(trimmedExplicitUrl)
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
// Explicit CLI flags are the next fallback if no URL context is available.
|
|
37
|
-
if (hasExplicitFlags(flags)) {
|
|
38
|
-
return resolveFromFlags(flags);
|
|
39
|
-
}
|
|
40
|
-
const connectionConfig = config.connection;
|
|
41
|
-
if (connectionConfig) {
|
|
42
|
-
// Fall back to the config block only when neither env nor CLI overrides exist.
|
|
43
|
-
if (connectionConfig.url) {
|
|
44
|
-
const trimmedConfigUrl = connectionConfig.url.trim();
|
|
45
|
-
return {
|
|
46
|
-
url: trimmedConfigUrl,
|
|
47
|
-
context: {
|
|
48
|
-
source: 'config',
|
|
49
|
-
...parseUrlContext(trimmedConfigUrl),
|
|
50
|
-
...(connectionConfig.host ? { host: connectionConfig.host } : {}),
|
|
51
|
-
...(connectionConfig.user ? { user: connectionConfig.user } : {}),
|
|
52
|
-
...(connectionConfig.database ? { database: connectionConfig.database } : {}),
|
|
53
|
-
...(connectionConfig.port ? { port: connectionConfig.port } : {})
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return resolveFromConfig(connectionConfig);
|
|
58
|
-
}
|
|
59
|
-
throw new Error('No database connection information supplied. Set the DATABASE_URL environment variable, pass --db-host/--db-user/--db-name flags, or add a connection block to ztd.config.json.');
|
|
60
|
-
}
|
|
61
|
-
/** Determines whether the CLI provided explicit connection flags. */
|
|
62
|
-
function hasExplicitFlags(flags) {
|
|
63
|
-
return Boolean(flags.host ||
|
|
64
|
-
flags.port ||
|
|
65
|
-
flags.user ||
|
|
66
|
-
flags.password ||
|
|
67
|
-
flags.database);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Builds a complete connection when explicit CLI flags are present.
|
|
71
|
-
* @param flags - The parsed CLI flags containing host/user details.
|
|
72
|
-
* @returns The resolved connection that includes a canonical URL and context metadata.
|
|
73
|
-
*/
|
|
74
|
-
function resolveFromFlags(flags) {
|
|
75
|
-
// Validate that all required pieces are present when the user asked for flag-based overrides.
|
|
76
|
-
const missing = [];
|
|
77
|
-
if (!flags.host) {
|
|
78
|
-
missing.push('--db-host');
|
|
79
|
-
}
|
|
80
|
-
if (!flags.user) {
|
|
81
|
-
missing.push('--db-user');
|
|
82
|
-
}
|
|
83
|
-
if (!flags.database) {
|
|
84
|
-
missing.push('--db-name');
|
|
85
|
-
}
|
|
86
|
-
if (missing.length) {
|
|
87
|
-
throw new Error(`Explicit DB flags were provided but ${missing.join(', ')} ${missing.length === 1 ? 'is' : 'are'} missing. Provide them to override DATABASE_URL.`);
|
|
88
|
-
}
|
|
89
|
-
const port = normalizePort(flags.port);
|
|
90
|
-
const numericPort = port !== null && port !== void 0 ? port : DEFAULT_PORT;
|
|
91
|
-
// Default to 5432 when the caller did not override the TCP port.
|
|
92
|
-
const url = buildConnectionUrl({
|
|
93
|
-
host: flags.host,
|
|
94
|
-
port: numericPort,
|
|
95
|
-
user: flags.user,
|
|
96
|
-
password: flags.password,
|
|
97
|
-
database: flags.database
|
|
98
|
-
});
|
|
99
|
-
return {
|
|
100
|
-
url,
|
|
101
|
-
context: {
|
|
102
|
-
source: 'flags',
|
|
103
|
-
host: flags.host,
|
|
104
|
-
port: numericPort,
|
|
105
|
-
user: flags.user,
|
|
106
|
-
database: flags.database
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Converts a legacy connection block from ztd.config.json into a resolved connection context.
|
|
112
|
-
* @param connection - Configuration-provided connection metadata.
|
|
113
|
-
* @returns The resolved connection derived from the config block.
|
|
114
|
-
*/
|
|
115
|
-
function resolveFromConfig(connection) {
|
|
116
|
-
// Treat the config connection as the last resort and ensure it contains the minimum information.
|
|
117
|
-
const missing = [];
|
|
118
|
-
if (!(connection === null || connection === void 0 ? void 0 : connection.host)) {
|
|
119
|
-
missing.push('connection.host');
|
|
120
|
-
}
|
|
121
|
-
if (!(connection === null || connection === void 0 ? void 0 : connection.user)) {
|
|
122
|
-
missing.push('connection.user');
|
|
123
|
-
}
|
|
124
|
-
if (!(connection === null || connection === void 0 ? void 0 : connection.database)) {
|
|
125
|
-
missing.push('connection.database');
|
|
126
|
-
}
|
|
127
|
-
if (missing.length) {
|
|
128
|
-
throw new Error(`Connection block in ztd.config.json is missing the following values: ${missing.join(', ')}. Provide them to form a fallback connection.`);
|
|
129
|
-
}
|
|
130
|
-
const port = normalizePort(connection === null || connection === void 0 ? void 0 : connection.port);
|
|
131
|
-
const numericPort = port !== null && port !== void 0 ? port : DEFAULT_PORT;
|
|
132
|
-
// Default to the Postgres standard port when none is configured.
|
|
133
|
-
const url = buildConnectionUrl({
|
|
134
|
-
host: connection.host,
|
|
135
|
-
port: numericPort,
|
|
136
|
-
user: connection.user,
|
|
137
|
-
password: connection.password,
|
|
138
|
-
database: connection.database
|
|
139
|
-
});
|
|
140
|
-
return {
|
|
141
|
-
url,
|
|
142
|
-
context: {
|
|
143
|
-
source: 'config',
|
|
144
|
-
host: connection.host,
|
|
145
|
-
port: numericPort,
|
|
146
|
-
user: connection.user,
|
|
147
|
-
database: connection.database
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Normalizes a port string/number into a valid TCP port or undefined when absent.
|
|
153
|
-
* @param port - User-supplied port string or number.
|
|
154
|
-
* @returns The validated numeric port or undefined when the input is missing.
|
|
155
|
-
*/
|
|
156
|
-
function normalizePort(port) {
|
|
157
|
-
// Skip validation when the caller did not provide a port string/value.
|
|
158
|
-
if (port === undefined) {
|
|
159
|
-
return undefined;
|
|
160
|
-
}
|
|
161
|
-
const parsed = typeof port === 'number' ? port : Number(port);
|
|
162
|
-
// Ensure the numeric value falls within the allowable TCP port range.
|
|
163
|
-
if (!Number.isFinite(parsed) || !Number.isInteger(parsed) || parsed <= 0 || parsed > 65535) {
|
|
164
|
-
throw new Error('The port must be a positive integer between 1 and 65535.');
|
|
165
|
-
}
|
|
166
|
-
return parsed;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Builds a canonical PostgreSQL connection URL from parsed segments.
|
|
170
|
-
* @param host - The database host address.
|
|
171
|
-
* @param port - The numeric TCP port to target.
|
|
172
|
-
* @param user - Username to embed in the URL.
|
|
173
|
-
* @param password - Optional password component.
|
|
174
|
-
* @param database - Database name applied to the pathname.
|
|
175
|
-
* @returns Fully-qualified PostgreSQL URL.
|
|
176
|
-
*/
|
|
177
|
-
function buildConnectionUrl({ host, port, user, password, database }) {
|
|
178
|
-
// Construct a canonical PostgreSQL connection URL from the provided pieces.
|
|
179
|
-
const url = new URL('postgresql://');
|
|
180
|
-
url.hostname = host;
|
|
181
|
-
url.port = port.toString();
|
|
182
|
-
url.username = user;
|
|
183
|
-
if (password) {
|
|
184
|
-
url.password = password;
|
|
185
|
-
}
|
|
186
|
-
url.pathname = `/${database}`;
|
|
187
|
-
return url.toString();
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Extracts host/user/database metadata from a PostgreSQL-style URL.
|
|
191
|
-
* @param urlValue - Connection string provided by the user or environment.
|
|
192
|
-
* @returns Partial context describing host, port, user, and database.
|
|
193
|
-
*/
|
|
194
|
-
function parseUrlContext(urlValue) {
|
|
195
|
-
// Extract context metadata from the URL when it is well-formed.
|
|
196
|
-
try {
|
|
197
|
-
const parsed = new URL(urlValue);
|
|
198
|
-
const database = parsed.pathname ? parsed.pathname.replace(/^\//, '') : undefined;
|
|
199
|
-
return {
|
|
200
|
-
host: parsed.hostname || undefined,
|
|
201
|
-
port: parsed.port ? Number(parsed.port) : undefined,
|
|
202
|
-
user: parsed.username || undefined,
|
|
203
|
-
database: database && database.length ? database : undefined
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
catch {
|
|
207
|
-
return {};
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
//# sourceMappingURL=dbConnection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dbConnection.js","sourceRoot":"","sources":["../../src/utils/dbConnection.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/fs.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function ensureDirectory(directory: string): void;
|
package/dist/utils/fs.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ensureDirectory = ensureDirectory;
|
|
4
|
-
const node_fs_1 = require("node:fs");
|
|
5
|
-
function ensureDirectory(directory) {
|
|
6
|
-
if (!directory || (0, node_fs_1.existsSync)(directory)) {
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
// Create the destination hierarchy so calling code can emit files safely.
|
|
10
|
-
(0, node_fs_1.mkdirSync)(directory, { recursive: true });
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=fs.js.map
|
package/dist/utils/fs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":";;AAEA,0CAOC;AATD,qCAAgD;AAEhD,SAAgB,eAAe,CAAC,SAAiB;IAC/C,IAAI,CAAC,SAAS,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,0EAA0E;IAC1E,IAAA,mBAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type StatementGroup = 'createSchema' | 'createTable' | 'view' | 'alterTable' | 'sequence' | 'index';
|
|
2
|
-
export interface NormalizedStatement {
|
|
3
|
-
schema: string;
|
|
4
|
-
objectName: string;
|
|
5
|
-
group: StatementGroup;
|
|
6
|
-
sql: string;
|
|
7
|
-
}
|
|
8
|
-
interface NormalizationOptions {
|
|
9
|
-
allowedSchemas?: Set<string>;
|
|
10
|
-
}
|
|
11
|
-
export declare function normalizePulledSchema(rawSql: string, options?: NormalizationOptions): Map<string, NormalizedStatement[]>;
|
|
12
|
-
export {};
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizePulledSchema = normalizePulledSchema;
|
|
4
|
-
const rawsql_ts_1 = require("rawsql-ts");
|
|
5
|
-
const SqlFormatterOptions = {
|
|
6
|
-
keywordCase: 'lower',
|
|
7
|
-
indentSize: 2,
|
|
8
|
-
indentChar: ' ',
|
|
9
|
-
newline: '\n',
|
|
10
|
-
commaBreak: 'after',
|
|
11
|
-
exportComment: 'none'
|
|
12
|
-
};
|
|
13
|
-
const ddlFormatter = new rawsql_ts_1.SqlFormatter(SqlFormatterOptions);
|
|
14
|
-
const groupOrder = {
|
|
15
|
-
createSchema: 0,
|
|
16
|
-
createTable: 1,
|
|
17
|
-
view: 2,
|
|
18
|
-
alterTable: 3,
|
|
19
|
-
sequence: 4,
|
|
20
|
-
index: 5
|
|
21
|
-
};
|
|
22
|
-
function normalizePulledSchema(rawSql, options = {}) {
|
|
23
|
-
var _a;
|
|
24
|
-
const cleanedSql = stripPgDumpNoise(rawSql);
|
|
25
|
-
const queries = rawsql_ts_1.MultiQuerySplitter.split(cleanedSql).queries;
|
|
26
|
-
const schemaMap = new Map();
|
|
27
|
-
// Iterate over each statement to normalize, bucket by schema, and honor any active filters.
|
|
28
|
-
for (const query of queries) {
|
|
29
|
-
const statementText = query.sql.trim();
|
|
30
|
-
if (!statementText || shouldSkipStatement(statementText)) {
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
const normalized = processStatement(statementText);
|
|
34
|
-
if (!normalized) {
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
|
-
if (options.allowedSchemas && options.allowedSchemas.size > 0 && !options.allowedSchemas.has(normalized.schema)) {
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
const bucket = (_a = schemaMap.get(normalized.schema)) !== null && _a !== void 0 ? _a : [];
|
|
41
|
-
bucket.push(normalized);
|
|
42
|
-
schemaMap.set(normalized.schema, bucket);
|
|
43
|
-
}
|
|
44
|
-
// Ensure every included schema has a CREATE SCHEMA statement even if pg_dump omitted it.
|
|
45
|
-
for (const [schema, statements] of schemaMap) {
|
|
46
|
-
if (statements.some((entry) => entry.group === 'createSchema')) {
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
statements.push({
|
|
50
|
-
schema,
|
|
51
|
-
objectName: schema,
|
|
52
|
-
group: 'createSchema',
|
|
53
|
-
sql: finalizeRawStatement(`create schema ${schema}`)
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
// Ensure the statements for each schema are returned in a deterministic order.
|
|
57
|
-
for (const statements of schemaMap.values()) {
|
|
58
|
-
statements.sort((a, b) => {
|
|
59
|
-
const primary = groupOrder[a.group] - groupOrder[b.group];
|
|
60
|
-
if (primary !== 0) {
|
|
61
|
-
return primary;
|
|
62
|
-
}
|
|
63
|
-
return a.objectName.localeCompare(b.objectName);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
return schemaMap;
|
|
67
|
-
}
|
|
68
|
-
function stripPgDumpNoise(rawSql) {
|
|
69
|
-
// Remove pg_dump meta commands and standalone comments so the parser only sees SQL statements.
|
|
70
|
-
const normalizedNewlines = rawSql.replace(/\r\n/g, '\n');
|
|
71
|
-
return normalizedNewlines
|
|
72
|
-
.split('\n')
|
|
73
|
-
.filter((line) => {
|
|
74
|
-
const trimmed = line.trim();
|
|
75
|
-
if (!trimmed) {
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
if (trimmed.startsWith('\\') || trimmed.startsWith('--')) {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
return true;
|
|
82
|
-
})
|
|
83
|
-
.join('\n');
|
|
84
|
-
}
|
|
85
|
-
function shouldSkipStatement(statement) {
|
|
86
|
-
// Strip handles comments and meta commands earlier, so skip only runtime statements we still want to ignore.
|
|
87
|
-
const lower = statement.toLowerCase();
|
|
88
|
-
if (lower.startsWith('set ') || lower.startsWith('select ')) {
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
if (lower.startsWith('comment ') || lower.startsWith('drop ')) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
if (lower.startsWith('create extension') || lower.startsWith('create type')) {
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
function processStatement(statement) {
|
|
100
|
-
const lower = statement.toLowerCase();
|
|
101
|
-
// Route statements by their leading keywords to dedicated handlers.
|
|
102
|
-
if (lower.startsWith('create schema')) {
|
|
103
|
-
return buildCreateSchemaStatement(statement);
|
|
104
|
-
}
|
|
105
|
-
if (lower.startsWith('create view') || lower.startsWith('create or replace view')) {
|
|
106
|
-
return buildViewStatement(statement);
|
|
107
|
-
}
|
|
108
|
-
if (lower.startsWith('create table') || lower.startsWith('create temporary table')) {
|
|
109
|
-
return buildAstStatement(statement, 'createTable', (ast) => ast.tableName);
|
|
110
|
-
}
|
|
111
|
-
if (lower.startsWith('alter table')) {
|
|
112
|
-
return buildAstStatement(statement, 'alterTable', (ast) => ast.table);
|
|
113
|
-
}
|
|
114
|
-
if (lower.startsWith('create index') || lower.startsWith('create unique index')) {
|
|
115
|
-
return buildAstStatement(statement, 'index', (ast) => ast.tableName);
|
|
116
|
-
}
|
|
117
|
-
if (lower.startsWith('create sequence')) {
|
|
118
|
-
return buildAstStatement(statement, 'sequence', (ast) => ast.sequenceName);
|
|
119
|
-
}
|
|
120
|
-
if (lower.startsWith('alter sequence')) {
|
|
121
|
-
return buildAstStatement(statement, 'sequence', (ast) => ast.sequenceName);
|
|
122
|
-
}
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
function buildCreateSchemaStatement(statement) {
|
|
126
|
-
// SqlParser does not yet support CREATE SCHEMA statements, so fall back to regex parsing.
|
|
127
|
-
const match = statement.match(/create\s+schema\s+(?:if\s+not\s+exists\s+)?(.+?)(?:\s|;|$)/i);
|
|
128
|
-
if (!match) {
|
|
129
|
-
return null;
|
|
130
|
-
}
|
|
131
|
-
const schemaName = normalizeIdentifier(match[1].trim());
|
|
132
|
-
return {
|
|
133
|
-
schema: schemaName,
|
|
134
|
-
objectName: schemaName,
|
|
135
|
-
group: 'createSchema',
|
|
136
|
-
sql: finalizeRawStatement(statement)
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
function buildViewStatement(statement) {
|
|
140
|
-
// SqlParser is not able to parse CREATE VIEW statements yet, so use a regex fallback.
|
|
141
|
-
const match = statement.match(/create\s+(?:or\s+replace\s+)?view\s+(.+?)\s+as\b/i);
|
|
142
|
-
if (!match) {
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
const namePart = match[1].trim().split(/\s*\(/)[0].trim();
|
|
146
|
-
const { schema, object } = splitQualifiedIdentifier(namePart);
|
|
147
|
-
return {
|
|
148
|
-
schema,
|
|
149
|
-
objectName: object,
|
|
150
|
-
group: 'view',
|
|
151
|
-
sql: finalizeRawStatement(statement)
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
function buildAstStatement(statement, group, qualifier) {
|
|
155
|
-
try {
|
|
156
|
-
// Parse the statement with rawsql-ts and convert it back to formatted SQL.
|
|
157
|
-
const ast = rawsql_ts_1.SqlParser.parse(statement);
|
|
158
|
-
const qualifierName = qualifier(ast);
|
|
159
|
-
const { schema, object } = extractQualifiedInfo(qualifierName);
|
|
160
|
-
return {
|
|
161
|
-
group,
|
|
162
|
-
schema,
|
|
163
|
-
objectName: object,
|
|
164
|
-
sql: formatAstStatement(ast)
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
catch {
|
|
168
|
-
return null;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
function formatAstStatement(component) {
|
|
172
|
-
const { formattedSql } = ddlFormatter.format(component);
|
|
173
|
-
const trimmed = formattedSql.trim();
|
|
174
|
-
return trimmed.endsWith(';') ? trimmed : `${trimmed};`;
|
|
175
|
-
}
|
|
176
|
-
function finalizeRawStatement(statement) {
|
|
177
|
-
const trimmed = statement.trim();
|
|
178
|
-
return trimmed.endsWith(';') ? trimmed : `${trimmed};`;
|
|
179
|
-
}
|
|
180
|
-
function extractQualifiedInfo(name) {
|
|
181
|
-
// Convert the qualified components into lowercase, unquoted tokens for deterministic grouping.
|
|
182
|
-
const schemaValue = name.namespaces && name.namespaces.length > 0 ? name.namespaces[name.namespaces.length - 1] : null;
|
|
183
|
-
const schema = schemaValue ? normalizeIdentifier(schemaValue) : 'public';
|
|
184
|
-
const object = normalizeIdentifier(name.name);
|
|
185
|
-
return { schema, object };
|
|
186
|
-
}
|
|
187
|
-
function normalizeIdentifier(value) {
|
|
188
|
-
const raw = typeof value === 'string' ? value : value instanceof rawsql_ts_1.RawString ? value.value : value.name;
|
|
189
|
-
return raw.replace(/^"|"$/g, '').toLowerCase();
|
|
190
|
-
}
|
|
191
|
-
function splitQualifiedIdentifier(input) {
|
|
192
|
-
var _a, _b;
|
|
193
|
-
const pattern = /^\s*(?:"([^"]+)"|([^".\s]+))(?:\.(?:"([^"]+)"|([^".\s]+)))?\s*$/;
|
|
194
|
-
const match = input.match(pattern);
|
|
195
|
-
let schema = 'public';
|
|
196
|
-
let object = input;
|
|
197
|
-
if (match) {
|
|
198
|
-
const firstPart = (_a = match[1]) !== null && _a !== void 0 ? _a : match[2];
|
|
199
|
-
const secondPart = (_b = match[3]) !== null && _b !== void 0 ? _b : match[4];
|
|
200
|
-
if (secondPart) {
|
|
201
|
-
schema = firstPart !== null && firstPart !== void 0 ? firstPart : 'public';
|
|
202
|
-
object = secondPart;
|
|
203
|
-
}
|
|
204
|
-
else if (firstPart) {
|
|
205
|
-
object = firstPart;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
return {
|
|
209
|
-
schema: normalizeIdentifier(schema),
|
|
210
|
-
object: normalizeIdentifier(object)
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=normalizePulledSchema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizePulledSchema.js","sourceRoot":"","sources":["../../src/utils/normalizePulledSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export type TestkitCoreModule = typeof import('@rawsql-ts/testkit-core');
|
|
2
|
-
export interface PgTestkitClientLike {
|
|
3
|
-
query(statement: string): Promise<unknown>;
|
|
4
|
-
close(): Promise<unknown>;
|
|
5
|
-
}
|
|
6
|
-
export interface AdapterNodePgModule {
|
|
7
|
-
createPgTestkitClient(options: Record<string, unknown>): PgTestkitClientLike;
|
|
8
|
-
}
|
|
9
|
-
export interface PgClientLike {
|
|
10
|
-
connect(): Promise<unknown>;
|
|
11
|
-
end(): Promise<unknown>;
|
|
12
|
-
}
|
|
13
|
-
export interface PgModule {
|
|
14
|
-
Client: new (options: {
|
|
15
|
-
connectionString: string;
|
|
16
|
-
}) => PgClientLike;
|
|
17
|
-
}
|
|
18
|
-
export interface PostgresContainerLike {
|
|
19
|
-
getConnectionUri(): string;
|
|
20
|
-
stop(): Promise<unknown>;
|
|
21
|
-
}
|
|
22
|
-
export interface PostgresContainerBuilderLike {
|
|
23
|
-
withDatabase(database: string): PostgresContainerBuilderLike;
|
|
24
|
-
withUsername(username: string): PostgresContainerBuilderLike;
|
|
25
|
-
withPassword(password: string): PostgresContainerBuilderLike;
|
|
26
|
-
start(): Promise<PostgresContainerLike>;
|
|
27
|
-
}
|
|
28
|
-
export interface PostgresContainerModule {
|
|
29
|
-
PostgreSqlContainer: new (image?: string) => PostgresContainerBuilderLike;
|
|
30
|
-
}
|
|
31
|
-
export declare function clearOptionalDependencyCache(): void;
|
|
32
|
-
export declare function ensureTestkitCoreModule(): Promise<TestkitCoreModule>;
|
|
33
|
-
export declare function ensureAdapterNodePgModule(): Promise<AdapterNodePgModule>;
|
|
34
|
-
export declare function ensurePgModule(): Promise<PgModule>;
|
|
35
|
-
export declare function ensurePostgresContainerModule(): Promise<PostgresContainerModule>;
|