chkit 0.1.0-beta.5
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 +43 -0
- package/dist/bin/chkit.d.ts +3 -0
- package/dist/bin/chkit.d.ts.map +1 -0
- package/dist/bin/chkit.js +337 -0
- package/dist/bin/chkit.js.map +1 -0
- package/dist/bin/commands/check.d.ts +2 -0
- package/dist/bin/commands/check.d.ts.map +1 -0
- package/dist/bin/commands/check.js +123 -0
- package/dist/bin/commands/check.js.map +1 -0
- package/dist/bin/commands/codegen.d.ts +2 -0
- package/dist/bin/commands/codegen.d.ts.map +1 -0
- package/dist/bin/commands/codegen.js +25 -0
- package/dist/bin/commands/codegen.js.map +1 -0
- package/dist/bin/commands/drift.d.ts +22 -0
- package/dist/bin/commands/drift.d.ts.map +1 -0
- package/dist/bin/commands/drift.js +170 -0
- package/dist/bin/commands/drift.js.map +1 -0
- package/dist/bin/commands/generate/output.d.ts +8 -0
- package/dist/bin/commands/generate/output.d.ts.map +1 -0
- package/dist/bin/commands/generate/output.js +58 -0
- package/dist/bin/commands/generate/output.js.map +1 -0
- package/dist/bin/commands/generate/plan-pipeline.d.ts +7 -0
- package/dist/bin/commands/generate/plan-pipeline.d.ts.map +1 -0
- package/dist/bin/commands/generate/plan-pipeline.js +139 -0
- package/dist/bin/commands/generate/plan-pipeline.js.map +1 -0
- package/dist/bin/commands/generate/rename-mappings.d.ts +29 -0
- package/dist/bin/commands/generate/rename-mappings.d.ts.map +1 -0
- package/dist/bin/commands/generate/rename-mappings.js +207 -0
- package/dist/bin/commands/generate/rename-mappings.js.map +1 -0
- package/dist/bin/commands/generate.d.ts +2 -0
- package/dist/bin/commands/generate.d.ts.map +1 -0
- package/dist/bin/commands/generate.js +137 -0
- package/dist/bin/commands/generate.js.map +1 -0
- package/dist/bin/commands/init.d.ts +2 -0
- package/dist/bin/commands/init.d.ts.map +1 -0
- package/dist/bin/commands/init.js +12 -0
- package/dist/bin/commands/init.js.map +1 -0
- package/dist/bin/commands/migrate.d.ts +2 -0
- package/dist/bin/commands/migrate.d.ts.map +1 -0
- package/dist/bin/commands/migrate.js +262 -0
- package/dist/bin/commands/migrate.js.map +1 -0
- package/dist/bin/commands/plugin-like.d.ts +38 -0
- package/dist/bin/commands/plugin-like.d.ts.map +1 -0
- package/dist/bin/commands/plugin-like.js +101 -0
- package/dist/bin/commands/plugin-like.js.map +1 -0
- package/dist/bin/commands/plugin.d.ts +2 -0
- package/dist/bin/commands/plugin.d.ts.map +1 -0
- package/dist/bin/commands/plugin.js +92 -0
- package/dist/bin/commands/plugin.js.map +1 -0
- package/dist/bin/commands/pull.d.ts +2 -0
- package/dist/bin/commands/pull.d.ts.map +1 -0
- package/dist/bin/commands/pull.js +25 -0
- package/dist/bin/commands/pull.js.map +1 -0
- package/dist/bin/commands/status.d.ts +2 -0
- package/dist/bin/commands/status.d.ts.map +1 -0
- package/dist/bin/commands/status.js +42 -0
- package/dist/bin/commands/status.js.map +1 -0
- package/dist/bin/commands/typegen.d.ts +2 -0
- package/dist/bin/commands/typegen.d.ts.map +1 -0
- package/dist/bin/commands/typegen.js +25 -0
- package/dist/bin/commands/typegen.js.map +1 -0
- package/dist/bin/config.d.ts +26 -0
- package/dist/bin/config.d.ts.map +1 -0
- package/dist/bin/config.js +59 -0
- package/dist/bin/config.js.map +1 -0
- package/dist/bin/json-output.d.ts +8 -0
- package/dist/bin/json-output.d.ts.map +1 -0
- package/dist/bin/json-output.js +21 -0
- package/dist/bin/json-output.js.map +1 -0
- package/dist/bin/lib.d.ts +7 -0
- package/dist/bin/lib.d.ts.map +1 -0
- package/dist/bin/lib.js +7 -0
- package/dist/bin/lib.js.map +1 -0
- package/dist/bin/migration-store.d.ts +24 -0
- package/dist/bin/migration-store.d.ts.map +1 -0
- package/dist/bin/migration-store.js +96 -0
- package/dist/bin/migration-store.js.map +1 -0
- package/dist/bin/plugin-runtime.d.ts +37 -0
- package/dist/bin/plugin-runtime.d.ts.map +1 -0
- package/dist/bin/plugin-runtime.js +264 -0
- package/dist/bin/plugin-runtime.js.map +1 -0
- package/dist/bin/safety-markers.d.ts +24 -0
- package/dist/bin/safety-markers.d.ts.map +1 -0
- package/dist/bin/safety-markers.js +94 -0
- package/dist/bin/safety-markers.js.map +1 -0
- package/dist/bin/schema-loader.d.ts +3 -0
- package/dist/bin/schema-loader.d.ts.map +1 -0
- package/dist/bin/schema-loader.js +6 -0
- package/dist/bin/schema-loader.js.map +1 -0
- package/dist/bin/table-scope.d.ts +39 -0
- package/dist/bin/table-scope.d.ts.map +1 -0
- package/dist/bin/table-scope.js +167 -0
- package/dist/bin/table-scope.js.map +1 -0
- package/dist/bin/version.d.ts +2 -0
- package/dist/bin/version.d.ts.map +1 -0
- package/dist/bin/version.js +2 -0
- package/dist/bin/version.js.map +1 -0
- package/dist/drift-diff.d.ts +8 -0
- package/dist/drift-diff.d.ts.map +1 -0
- package/dist/drift-diff.js +46 -0
- package/dist/drift-diff.js.map +1 -0
- package/dist/drift.d.ts +65 -0
- package/dist/drift.d.ts.map +1 -0
- package/dist/drift.js +209 -0
- package/dist/drift.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins.d.ts +103 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +10 -0
- package/dist/plugins.js.map +1 -0
- package/package.json +28 -0
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# chkit
|
|
2
|
+
|
|
3
|
+
ClickHouse schema and migration CLI for TypeScript projects.
|
|
4
|
+
|
|
5
|
+
Part of the [chkit](https://github.com/obsessiondb/chkit) monorepo.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
bun add -d chkit @chkit/core
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Scaffold a new project
|
|
17
|
+
bunx chkit init
|
|
18
|
+
|
|
19
|
+
# Generate a migration from schema changes
|
|
20
|
+
bunx chkit generate --name add-users-table
|
|
21
|
+
|
|
22
|
+
# Preview and apply pending migrations
|
|
23
|
+
bunx chkit migrate --apply
|
|
24
|
+
|
|
25
|
+
# Check migration status
|
|
26
|
+
bunx chkit status
|
|
27
|
+
|
|
28
|
+
# Detect schema drift
|
|
29
|
+
bunx chkit drift
|
|
30
|
+
|
|
31
|
+
# CI gate (fails on pending migrations or drift)
|
|
32
|
+
bunx chkit check
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
All commands support `--json` for machine-readable output and `--config <path>` to specify a custom config file.
|
|
36
|
+
|
|
37
|
+
## Documentation
|
|
38
|
+
|
|
39
|
+
See the [chkit documentation](https://chkit.obsessiondb.com).
|
|
40
|
+
|
|
41
|
+
## License
|
|
42
|
+
|
|
43
|
+
[MIT](../../LICENSE)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chkit.d.ts","sourceRoot":"","sources":["../../src/bin/chkit.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import process from 'node:process';
|
|
3
|
+
import { buildApplication, buildCommand, buildRouteMap, run } from '@stricli/core';
|
|
4
|
+
import { CLI_VERSION } from './lib.js';
|
|
5
|
+
import { cmdCheck } from './commands/check.js';
|
|
6
|
+
import { cmdDrift } from './commands/drift.js';
|
|
7
|
+
import { cmdGenerate } from './commands/generate.js';
|
|
8
|
+
import { cmdInit } from './commands/init.js';
|
|
9
|
+
import { cmdMigrate } from './commands/migrate.js';
|
|
10
|
+
import { cmdPlugin } from './commands/plugin.js';
|
|
11
|
+
import { cmdPull } from './commands/pull.js';
|
|
12
|
+
import { cmdStatus } from './commands/status.js';
|
|
13
|
+
import { cmdCodegen } from './commands/codegen.js';
|
|
14
|
+
function printHelp() {
|
|
15
|
+
console.log(`chkit - ClickHouse toolkit\n
|
|
16
|
+
Usage:
|
|
17
|
+
chkit init
|
|
18
|
+
chkit generate [--name <migration-name>] [--migration-id <id>] [--rename-table <old_db.old_table=new_db.new_table>] [--rename-column <db.table.old_column=new_column>] [--table <selector>] [--config <path>] [--dryrun] [--json]
|
|
19
|
+
chkit pull [--out-file <path>] [--database <db>] [--dryrun] [--force] [--config <path>] [--json]
|
|
20
|
+
chkit codegen [--check] [--out-file <path>] [--emit-zod] [--no-emit-zod] [--emit-ingest] [--no-emit-ingest] [--ingest-out-file <path>] [--bigint-mode <string|bigint>] [--include-views] [--config <path>] [--json]
|
|
21
|
+
chkit migrate [--config <path>] [--apply|--execute] [--allow-destructive] [--table <selector>] [--json]
|
|
22
|
+
chkit status [--config <path>] [--json]
|
|
23
|
+
chkit drift [--config <path>] [--table <selector>] [--json]
|
|
24
|
+
chkit check [--config <path>] [--strict] [--json]
|
|
25
|
+
chkit plugin [<plugin-name> [<command> ...]] [--config <path>] [--json]
|
|
26
|
+
|
|
27
|
+
Options:
|
|
28
|
+
--config <path> Path to config file (default: clickhouse.config.ts)
|
|
29
|
+
--name <name> Migration name for generate
|
|
30
|
+
--migration-id <id>
|
|
31
|
+
Deterministic migration file prefix override (e.g. 20260101010101)
|
|
32
|
+
--rename-table <old_db.old_table=new_db.new_table>
|
|
33
|
+
Explicit table rename mapping (comma-separated values supported)
|
|
34
|
+
--rename-column <db.table.old_column=new_column>
|
|
35
|
+
Explicit column rename mapping (comma-separated values supported)
|
|
36
|
+
--table <selector>
|
|
37
|
+
Limit command scope to tables by exact name or trailing wildcard prefix
|
|
38
|
+
--apply Apply pending migrations on ClickHouse (no prompt)
|
|
39
|
+
--execute Alias for --apply
|
|
40
|
+
--allow-destructive
|
|
41
|
+
Required in non-interactive mode when pending migrations contain destructive operations
|
|
42
|
+
--dryrun Print operation plan without writing artifacts
|
|
43
|
+
--check Validate generated type artifacts are up-to-date
|
|
44
|
+
--out-file <path>
|
|
45
|
+
Override output file path for pull/codegen one run
|
|
46
|
+
--database <db> Limit pull to one or more databases (repeat or comma-separate)
|
|
47
|
+
--force Allow pull schema to overwrite existing output file
|
|
48
|
+
--emit-zod Enable Zod validator generation in codegen
|
|
49
|
+
--no-emit-zod Disable Zod validator generation in codegen
|
|
50
|
+
--emit-ingest Enable ingestion function generation in codegen
|
|
51
|
+
--no-emit-ingest Disable ingestion function generation in codegen
|
|
52
|
+
--ingest-out-file <path>
|
|
53
|
+
Override ingestion output file path for codegen
|
|
54
|
+
--bigint-mode <mode>
|
|
55
|
+
Set large integer mapping mode for codegen (string|bigint)
|
|
56
|
+
--include-views Include views in codegen output
|
|
57
|
+
--strict Force all check policies on for this invocation
|
|
58
|
+
--json Emit machine-readable JSON output
|
|
59
|
+
-h, --help Show help
|
|
60
|
+
-v, --version Show version
|
|
61
|
+
`);
|
|
62
|
+
}
|
|
63
|
+
function addStringFlag(args, flag, value) {
|
|
64
|
+
if (value === undefined || value.length === 0)
|
|
65
|
+
return;
|
|
66
|
+
args.push(flag, value);
|
|
67
|
+
}
|
|
68
|
+
function addBooleanFlag(args, flag, enabled) {
|
|
69
|
+
if (enabled)
|
|
70
|
+
args.push(flag);
|
|
71
|
+
}
|
|
72
|
+
function exitIfNeeded() {
|
|
73
|
+
const code = typeof process.exitCode === 'number'
|
|
74
|
+
? process.exitCode
|
|
75
|
+
: process.exitCode
|
|
76
|
+
? Number(process.exitCode)
|
|
77
|
+
: 0;
|
|
78
|
+
if (Number.isFinite(code) && code > 0) {
|
|
79
|
+
process.exit(code);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const optionalStringFlag = (brief, placeholder = 'value') => ({
|
|
83
|
+
kind: 'parsed',
|
|
84
|
+
brief,
|
|
85
|
+
parse: (input) => input,
|
|
86
|
+
optional: true,
|
|
87
|
+
placeholder,
|
|
88
|
+
});
|
|
89
|
+
const optionalBooleanFlag = (brief) => ({
|
|
90
|
+
kind: 'boolean',
|
|
91
|
+
brief,
|
|
92
|
+
optional: true,
|
|
93
|
+
});
|
|
94
|
+
const app = buildApplication(buildRouteMap({
|
|
95
|
+
docs: {
|
|
96
|
+
brief: 'ClickHouse schema and migration toolkit',
|
|
97
|
+
},
|
|
98
|
+
routes: {
|
|
99
|
+
init: buildCommand({
|
|
100
|
+
parameters: {},
|
|
101
|
+
docs: {
|
|
102
|
+
brief: 'Initialize config and schema starter files',
|
|
103
|
+
},
|
|
104
|
+
async func() {
|
|
105
|
+
await cmdInit();
|
|
106
|
+
},
|
|
107
|
+
}),
|
|
108
|
+
generate: buildCommand({
|
|
109
|
+
parameters: {
|
|
110
|
+
flags: {
|
|
111
|
+
config: optionalStringFlag('Path to config file', 'path'),
|
|
112
|
+
name: optionalStringFlag('Migration name', 'name'),
|
|
113
|
+
migrationId: optionalStringFlag('Deterministic migration file prefix', 'id'),
|
|
114
|
+
renameTable: optionalStringFlag('Explicit table rename mapping old_db.old_table=new_db.new_table'),
|
|
115
|
+
renameColumn: optionalStringFlag('Explicit column rename mapping db.table.old_column=new_column'),
|
|
116
|
+
table: optionalStringFlag('Table selector (exact or trailing wildcard prefix)'),
|
|
117
|
+
dryrun: optionalBooleanFlag('Print operation plan without writing artifacts'),
|
|
118
|
+
json: optionalBooleanFlag('Emit machine-readable JSON output'),
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
docs: {
|
|
122
|
+
brief: 'Generate migration artifacts from schema definitions',
|
|
123
|
+
},
|
|
124
|
+
async func(flags) {
|
|
125
|
+
const args = [];
|
|
126
|
+
addStringFlag(args, '--config', flags.config);
|
|
127
|
+
addStringFlag(args, '--name', flags.name);
|
|
128
|
+
addStringFlag(args, '--migration-id', flags.migrationId);
|
|
129
|
+
addStringFlag(args, '--rename-table', flags.renameTable);
|
|
130
|
+
addStringFlag(args, '--rename-column', flags.renameColumn);
|
|
131
|
+
addStringFlag(args, '--table', flags.table);
|
|
132
|
+
addBooleanFlag(args, '--dryrun', flags.dryrun);
|
|
133
|
+
addBooleanFlag(args, '--json', flags.json);
|
|
134
|
+
await cmdGenerate(args);
|
|
135
|
+
exitIfNeeded();
|
|
136
|
+
},
|
|
137
|
+
}),
|
|
138
|
+
codegen: buildCommand({
|
|
139
|
+
parameters: {
|
|
140
|
+
flags: {
|
|
141
|
+
config: optionalStringFlag('Path to config file', 'path'),
|
|
142
|
+
check: optionalBooleanFlag('Check for stale generated artifacts without writing'),
|
|
143
|
+
outFile: optionalStringFlag('Output file path override', 'path'),
|
|
144
|
+
emitZod: optionalBooleanFlag('Emit Zod validators'),
|
|
145
|
+
noEmitZod: optionalBooleanFlag('Disable Zod validator emission'),
|
|
146
|
+
emitIngest: optionalBooleanFlag('Emit ingestion functions'),
|
|
147
|
+
noEmitIngest: optionalBooleanFlag('Disable ingestion function emission'),
|
|
148
|
+
ingestOutFile: optionalStringFlag('Ingestion output file path override', 'path'),
|
|
149
|
+
bigintMode: optionalStringFlag('Bigint type mode: string or bigint', 'mode'),
|
|
150
|
+
includeViews: optionalBooleanFlag('Include views in generated types'),
|
|
151
|
+
json: optionalBooleanFlag('Emit machine-readable JSON output'),
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
docs: {
|
|
155
|
+
brief: 'Run code generation plugin workflow',
|
|
156
|
+
},
|
|
157
|
+
async func(flags) {
|
|
158
|
+
const args = [];
|
|
159
|
+
addStringFlag(args, '--config', flags.config);
|
|
160
|
+
addBooleanFlag(args, '--check', flags.check);
|
|
161
|
+
addStringFlag(args, '--out-file', flags.outFile);
|
|
162
|
+
addBooleanFlag(args, '--emit-zod', flags.emitZod);
|
|
163
|
+
addBooleanFlag(args, '--no-emit-zod', flags.noEmitZod);
|
|
164
|
+
addBooleanFlag(args, '--emit-ingest', flags.emitIngest);
|
|
165
|
+
addBooleanFlag(args, '--no-emit-ingest', flags.noEmitIngest);
|
|
166
|
+
addStringFlag(args, '--ingest-out-file', flags.ingestOutFile);
|
|
167
|
+
addStringFlag(args, '--bigint-mode', flags.bigintMode);
|
|
168
|
+
addBooleanFlag(args, '--include-views', flags.includeViews);
|
|
169
|
+
addBooleanFlag(args, '--json', flags.json);
|
|
170
|
+
await cmdCodegen(args);
|
|
171
|
+
exitIfNeeded();
|
|
172
|
+
},
|
|
173
|
+
}),
|
|
174
|
+
migrate: buildCommand({
|
|
175
|
+
parameters: {
|
|
176
|
+
flags: {
|
|
177
|
+
config: optionalStringFlag('Path to config file', 'path'),
|
|
178
|
+
apply: optionalBooleanFlag('Apply pending migrations on ClickHouse'),
|
|
179
|
+
execute: optionalBooleanFlag('Execute pending migrations on ClickHouse'),
|
|
180
|
+
allowDestructive: optionalBooleanFlag('Allow destructive migrations tagged with risk=danger'),
|
|
181
|
+
table: optionalStringFlag('Table selector (exact or trailing wildcard prefix)'),
|
|
182
|
+
json: optionalBooleanFlag('Emit machine-readable JSON output'),
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
docs: {
|
|
186
|
+
brief: 'Review or execute pending migrations',
|
|
187
|
+
},
|
|
188
|
+
async func(flags) {
|
|
189
|
+
const args = [];
|
|
190
|
+
addStringFlag(args, '--config', flags.config);
|
|
191
|
+
addBooleanFlag(args, '--apply', flags.apply);
|
|
192
|
+
addBooleanFlag(args, '--execute', flags.execute);
|
|
193
|
+
addBooleanFlag(args, '--allow-destructive', flags.allowDestructive);
|
|
194
|
+
addStringFlag(args, '--table', flags.table);
|
|
195
|
+
addBooleanFlag(args, '--json', flags.json);
|
|
196
|
+
await cmdMigrate(args);
|
|
197
|
+
exitIfNeeded();
|
|
198
|
+
},
|
|
199
|
+
}),
|
|
200
|
+
status: buildCommand({
|
|
201
|
+
parameters: {
|
|
202
|
+
flags: {
|
|
203
|
+
config: optionalStringFlag('Path to config file', 'path'),
|
|
204
|
+
json: optionalBooleanFlag('Emit machine-readable JSON output'),
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
docs: {
|
|
208
|
+
brief: 'Show migration status and checksum mismatch information',
|
|
209
|
+
},
|
|
210
|
+
async func(flags) {
|
|
211
|
+
const args = [];
|
|
212
|
+
addStringFlag(args, '--config', flags.config);
|
|
213
|
+
addBooleanFlag(args, '--json', flags.json);
|
|
214
|
+
await cmdStatus(args);
|
|
215
|
+
exitIfNeeded();
|
|
216
|
+
},
|
|
217
|
+
}),
|
|
218
|
+
drift: buildCommand({
|
|
219
|
+
parameters: {
|
|
220
|
+
flags: {
|
|
221
|
+
config: optionalStringFlag('Path to config file', 'path'),
|
|
222
|
+
table: optionalStringFlag('Table selector (exact or trailing wildcard prefix)'),
|
|
223
|
+
json: optionalBooleanFlag('Emit machine-readable JSON output'),
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
docs: {
|
|
227
|
+
brief: 'Compare snapshot state with current ClickHouse objects',
|
|
228
|
+
},
|
|
229
|
+
async func(flags) {
|
|
230
|
+
const args = [];
|
|
231
|
+
addStringFlag(args, '--config', flags.config);
|
|
232
|
+
addStringFlag(args, '--table', flags.table);
|
|
233
|
+
addBooleanFlag(args, '--json', flags.json);
|
|
234
|
+
await cmdDrift(args);
|
|
235
|
+
exitIfNeeded();
|
|
236
|
+
},
|
|
237
|
+
}),
|
|
238
|
+
check: buildCommand({
|
|
239
|
+
parameters: {
|
|
240
|
+
flags: {
|
|
241
|
+
config: optionalStringFlag('Path to config file', 'path'),
|
|
242
|
+
strict: optionalBooleanFlag('Enable all policy checks'),
|
|
243
|
+
json: optionalBooleanFlag('Emit machine-readable JSON output'),
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
docs: {
|
|
247
|
+
brief: 'Run policy checks for CI and release gates',
|
|
248
|
+
},
|
|
249
|
+
async func(flags) {
|
|
250
|
+
const args = [];
|
|
251
|
+
addStringFlag(args, '--config', flags.config);
|
|
252
|
+
addBooleanFlag(args, '--strict', flags.strict);
|
|
253
|
+
addBooleanFlag(args, '--json', flags.json);
|
|
254
|
+
await cmdCheck(args);
|
|
255
|
+
exitIfNeeded();
|
|
256
|
+
},
|
|
257
|
+
}),
|
|
258
|
+
plugin: buildCommand({
|
|
259
|
+
parameters: {
|
|
260
|
+
flags: {
|
|
261
|
+
config: optionalStringFlag('Path to config file', 'path'),
|
|
262
|
+
json: optionalBooleanFlag('Emit machine-readable JSON output'),
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
docs: {
|
|
266
|
+
brief: 'List plugins and run plugin namespace commands',
|
|
267
|
+
},
|
|
268
|
+
async func(flags) {
|
|
269
|
+
const args = [];
|
|
270
|
+
addStringFlag(args, '--config', flags.config);
|
|
271
|
+
addBooleanFlag(args, '--json', flags.json);
|
|
272
|
+
await cmdPlugin(args);
|
|
273
|
+
exitIfNeeded();
|
|
274
|
+
},
|
|
275
|
+
}),
|
|
276
|
+
help: buildCommand({
|
|
277
|
+
parameters: {},
|
|
278
|
+
docs: {
|
|
279
|
+
brief: 'Print help information',
|
|
280
|
+
},
|
|
281
|
+
func() {
|
|
282
|
+
printHelp();
|
|
283
|
+
},
|
|
284
|
+
}),
|
|
285
|
+
version: buildCommand({
|
|
286
|
+
parameters: {},
|
|
287
|
+
docs: {
|
|
288
|
+
brief: 'Print version information',
|
|
289
|
+
},
|
|
290
|
+
func() {
|
|
291
|
+
console.log(CLI_VERSION);
|
|
292
|
+
},
|
|
293
|
+
}),
|
|
294
|
+
},
|
|
295
|
+
}), {
|
|
296
|
+
name: 'chkit',
|
|
297
|
+
versionInfo: { currentVersion: CLI_VERSION },
|
|
298
|
+
scanner: { caseStyle: 'allow-kebab-for-camel' },
|
|
299
|
+
});
|
|
300
|
+
const argv = process.argv.slice(2);
|
|
301
|
+
if (argv[0] === 'plugin') {
|
|
302
|
+
cmdPlugin(argv.slice(1))
|
|
303
|
+
.then(() => {
|
|
304
|
+
exitIfNeeded();
|
|
305
|
+
})
|
|
306
|
+
.catch((error) => {
|
|
307
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
308
|
+
process.exit(1);
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
else if (argv[0] === 'codegen') {
|
|
312
|
+
cmdCodegen(argv.slice(1))
|
|
313
|
+
.then(() => {
|
|
314
|
+
exitIfNeeded();
|
|
315
|
+
})
|
|
316
|
+
.catch((error) => {
|
|
317
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
318
|
+
process.exit(1);
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
else if (argv[0] === 'pull') {
|
|
322
|
+
cmdPull(argv.slice(1))
|
|
323
|
+
.then(() => {
|
|
324
|
+
exitIfNeeded();
|
|
325
|
+
})
|
|
326
|
+
.catch((error) => {
|
|
327
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
328
|
+
process.exit(1);
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
run(app, argv, { process }).catch((error) => {
|
|
333
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
334
|
+
process.exit(1);
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=chkit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chkit.js","sourceRoot":"","sources":["../../src/bin/chkit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/check.ts"],"names":[],"mappings":"AAUA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2H5D"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { mkdir } from 'node:fs/promises';
|
|
2
|
+
import { summarizeDriftReasons } from '../../drift.js';
|
|
3
|
+
import { CLI_VERSION } from '../version.js';
|
|
4
|
+
import { getCommandContext, hasFlag } from '../config.js';
|
|
5
|
+
import { emitJson } from '../json-output.js';
|
|
6
|
+
import { findChecksumMismatches, listMigrations, readJournal, readSnapshot } from '../migration-store.js';
|
|
7
|
+
import { loadPluginRuntime } from '../plugin-runtime.js';
|
|
8
|
+
import { buildDriftPayload } from './drift.js';
|
|
9
|
+
export async function cmdCheck(args) {
|
|
10
|
+
const strict = hasFlag('--strict', args);
|
|
11
|
+
const { config, configPath, dirs, jsonMode } = await getCommandContext(args);
|
|
12
|
+
const { migrationsDir, metaDir } = dirs;
|
|
13
|
+
await mkdir(migrationsDir, { recursive: true });
|
|
14
|
+
const files = await listMigrations(migrationsDir);
|
|
15
|
+
const journal = await readJournal(metaDir);
|
|
16
|
+
const appliedNames = new Set(journal.applied.map((entry) => entry.name));
|
|
17
|
+
const pending = files.filter((f) => !appliedNames.has(f));
|
|
18
|
+
const checksumMismatches = await findChecksumMismatches(migrationsDir, journal);
|
|
19
|
+
const snapshot = await readSnapshot(metaDir);
|
|
20
|
+
const drift = snapshot && config.clickhouse ? await buildDriftPayload(config, metaDir, snapshot) : null;
|
|
21
|
+
const policy = {
|
|
22
|
+
failOnPending: strict ? true : config.check?.failOnPending ?? true,
|
|
23
|
+
failOnChecksumMismatch: strict ? true : config.check?.failOnChecksumMismatch ?? true,
|
|
24
|
+
failOnDrift: strict ? true : config.check?.failOnDrift ?? true,
|
|
25
|
+
};
|
|
26
|
+
const runtime = await loadPluginRuntime({
|
|
27
|
+
config,
|
|
28
|
+
configPath,
|
|
29
|
+
cliVersion: CLI_VERSION,
|
|
30
|
+
});
|
|
31
|
+
await runtime.runOnConfigLoaded({
|
|
32
|
+
command: 'check',
|
|
33
|
+
config,
|
|
34
|
+
configPath,
|
|
35
|
+
});
|
|
36
|
+
const pluginResults = await runtime.runOnCheck({
|
|
37
|
+
command: 'check',
|
|
38
|
+
config,
|
|
39
|
+
configPath,
|
|
40
|
+
jsonMode,
|
|
41
|
+
});
|
|
42
|
+
const failedChecks = [];
|
|
43
|
+
if (policy.failOnPending && pending.length > 0)
|
|
44
|
+
failedChecks.push('pending_migrations');
|
|
45
|
+
if (policy.failOnChecksumMismatch && checksumMismatches.length > 0)
|
|
46
|
+
failedChecks.push('checksum_mismatch');
|
|
47
|
+
if (policy.failOnDrift && drift?.drifted)
|
|
48
|
+
failedChecks.push('schema_drift');
|
|
49
|
+
for (const result of pluginResults) {
|
|
50
|
+
const hasErrorFinding = result.findings.some((finding) => finding.severity === 'error');
|
|
51
|
+
if (result.evaluated && !result.ok && hasErrorFinding) {
|
|
52
|
+
failedChecks.push(`plugin:${result.plugin}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const ok = failedChecks.length === 0;
|
|
56
|
+
const driftReasonSummary = drift
|
|
57
|
+
? summarizeDriftReasons({
|
|
58
|
+
objectDrift: drift.objectDrift,
|
|
59
|
+
tableDrift: drift.tableDrift,
|
|
60
|
+
})
|
|
61
|
+
: { counts: {}, total: 0, object: 0, table: 0 };
|
|
62
|
+
const payload = {
|
|
63
|
+
strict,
|
|
64
|
+
policy,
|
|
65
|
+
ok,
|
|
66
|
+
failedChecks,
|
|
67
|
+
pendingCount: pending.length,
|
|
68
|
+
checksumMismatchCount: checksumMismatches.length,
|
|
69
|
+
drifted: drift?.drifted ?? false,
|
|
70
|
+
driftEvaluated: drift !== null,
|
|
71
|
+
driftReasonCounts: driftReasonSummary.counts,
|
|
72
|
+
driftReasonTotals: {
|
|
73
|
+
total: driftReasonSummary.total,
|
|
74
|
+
object: driftReasonSummary.object,
|
|
75
|
+
table: driftReasonSummary.table,
|
|
76
|
+
},
|
|
77
|
+
plugins: Object.fromEntries(pluginResults.map((result) => [
|
|
78
|
+
result.plugin,
|
|
79
|
+
{
|
|
80
|
+
evaluated: result.evaluated,
|
|
81
|
+
ok: result.ok,
|
|
82
|
+
findingCodes: result.findings.map((finding) => finding.code),
|
|
83
|
+
...(result.metadata ?? {}),
|
|
84
|
+
},
|
|
85
|
+
])),
|
|
86
|
+
};
|
|
87
|
+
if (jsonMode) {
|
|
88
|
+
emitJson('check', payload);
|
|
89
|
+
if (!ok)
|
|
90
|
+
process.exitCode = 1;
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
console.log(`Check status: ${ok ? 'ok' : 'failed'}`);
|
|
94
|
+
console.log(`Policy: pending=${policy.failOnPending ? 'on' : 'off'}, checksum=${policy.failOnChecksumMismatch ? 'on' : 'off'}, drift=${policy.failOnDrift ? 'on' : 'off'}`);
|
|
95
|
+
console.log(`Pending migrations: ${pending.length}`);
|
|
96
|
+
console.log(`Checksum mismatches: ${checksumMismatches.length}`);
|
|
97
|
+
if (drift === null) {
|
|
98
|
+
console.log('Schema drift: not evaluated (missing snapshot or clickhouse config)');
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.log(`Schema drift: ${drift.drifted ? 'yes' : 'no'}`);
|
|
102
|
+
const summary = summarizeDriftReasons({
|
|
103
|
+
objectDrift: drift.objectDrift,
|
|
104
|
+
tableDrift: drift.tableDrift,
|
|
105
|
+
});
|
|
106
|
+
console.log(`Drift reasons: total=${summary.total}, object=${summary.object}, table=${summary.table}`);
|
|
107
|
+
}
|
|
108
|
+
if (pluginResults.length > 0) {
|
|
109
|
+
console.log('Plugin checks:');
|
|
110
|
+
for (const result of pluginResults) {
|
|
111
|
+
const findingCodes = result.findings.map((finding) => finding.code);
|
|
112
|
+
console.log(`- ${result.plugin}: ${result.ok ? 'ok' : 'failed'}${findingCodes.length > 0 ? ` (${findingCodes.join(', ')})` : ''}`);
|
|
113
|
+
}
|
|
114
|
+
await runtime.runOnCheckReport(pluginResults, (line) => {
|
|
115
|
+
console.log(line);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
if (!ok) {
|
|
119
|
+
console.log(`Failed checks: ${failedChecks.join(', ')}`);
|
|
120
|
+
process.exitCode = 1;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/bin/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/codegen.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { buildPluginLikeContext, runPluginLikeCommand } from './plugin-like.js';
|
|
2
|
+
export async function cmdCodegen(args) {
|
|
3
|
+
const context = await buildPluginLikeContext({
|
|
4
|
+
args,
|
|
5
|
+
command: 'codegen',
|
|
6
|
+
handleInvalidPluginOptions: true,
|
|
7
|
+
});
|
|
8
|
+
if (!context)
|
|
9
|
+
return;
|
|
10
|
+
const pluginName = 'codegen';
|
|
11
|
+
const commandName = 'codegen';
|
|
12
|
+
await runPluginLikeCommand({
|
|
13
|
+
context,
|
|
14
|
+
pluginName,
|
|
15
|
+
commandName,
|
|
16
|
+
commandArgs: context.commandArgs,
|
|
17
|
+
missingPluginMessage() {
|
|
18
|
+
return 'Codegen plugin is not configured. Add a plugin with manifest.name "codegen" to config.plugins.';
|
|
19
|
+
},
|
|
20
|
+
missingCommandMessage({ availableCommands }) {
|
|
21
|
+
return `Codegen plugin is configured but does not expose command "${commandName}". Available: ${availableCommands.length > 0 ? availableCommands.join(', ') : '(none)'}.`;
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/bin/commands/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE/E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;QAC3C,IAAI;QACJ,OAAO,EAAE,SAAS;QAClB,0BAA0B,EAAE,IAAI;KACjC,CAAC,CAAA;IACF,IAAI,CAAC,OAAO;QAAE,OAAM;IAEpB,MAAM,UAAU,GAAG,SAAS,CAAA;IAC5B,MAAM,WAAW,GAAG,SAAS,CAAA;IAC7B,MAAM,oBAAoB,CAAC;QACzB,OAAO;QACP,UAAU;QACV,WAAW;QACX,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,oBAAoB;YAClB,OAAO,gGAAgG,CAAA;QACzG,CAAC;QACD,qBAAqB,CAAC,EAAE,iBAAiB,EAAE;YACzC,OAAO,6DAA6D,WAAW,iBAAiB,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAA;QAC3K,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ChxConfig, Snapshot } from '@chkit/core';
|
|
2
|
+
import { type ObjectDriftDetail, type TableDriftDetail } from '../../drift.js';
|
|
3
|
+
import { type TableScope } from '../table-scope.js';
|
|
4
|
+
export interface DriftPayload {
|
|
5
|
+
scope?: TableScope;
|
|
6
|
+
snapshotFile: string;
|
|
7
|
+
expectedCount: number;
|
|
8
|
+
actualCount: number;
|
|
9
|
+
drifted: boolean;
|
|
10
|
+
missing: string[];
|
|
11
|
+
extra: string[];
|
|
12
|
+
kindMismatches: Array<{
|
|
13
|
+
expected: string;
|
|
14
|
+
actual: string;
|
|
15
|
+
object: string;
|
|
16
|
+
}>;
|
|
17
|
+
objectDrift: ObjectDriftDetail[];
|
|
18
|
+
tableDrift: TableDriftDetail[];
|
|
19
|
+
}
|
|
20
|
+
export declare function buildDriftPayload(config: ChxConfig, metaDir: string, snapshot: Snapshot, scope?: TableScope): Promise<DriftPayload>;
|
|
21
|
+
export declare function cmdDrift(args: string[]): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=drift.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/drift.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAA;AAEvE,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAA;AAIvB,OAAO,EAA+C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEhG,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAA;IAChC,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6F5D"}
|