@chkit/plugin-codegen 0.1.0-beta.8 → 0.1.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 (38) hide show
  1. package/README.md +7 -1
  2. package/dist/generators/ingest-artifacts.d.ts +3 -0
  3. package/dist/generators/ingest-artifacts.d.ts.map +1 -0
  4. package/dist/generators/ingest-artifacts.js +98 -0
  5. package/dist/generators/ingest-artifacts.js.map +1 -0
  6. package/dist/generators/migration-artifacts.d.ts +3 -0
  7. package/dist/generators/migration-artifacts.d.ts.map +1 -0
  8. package/dist/generators/migration-artifacts.js +102 -0
  9. package/dist/generators/migration-artifacts.js.map +1 -0
  10. package/dist/generators/shared.d.ts +2 -0
  11. package/dist/generators/shared.d.ts.map +1 -0
  12. package/dist/generators/shared.js +8 -0
  13. package/dist/generators/shared.js.map +1 -0
  14. package/dist/generators/type-artifacts.d.ts +8 -0
  15. package/dist/generators/type-artifacts.d.ts.map +1 -0
  16. package/dist/generators/type-artifacts.js +293 -0
  17. package/dist/generators/type-artifacts.js.map +1 -0
  18. package/dist/generators.d.ts.map +1 -1
  19. package/dist/generators.js +5 -3
  20. package/dist/generators.js.map +1 -1
  21. package/dist/index.d.ts +6 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/naming.d.ts +0 -1
  26. package/dist/naming.d.ts.map +1 -1
  27. package/dist/naming.js +1 -1
  28. package/dist/naming.js.map +1 -1
  29. package/dist/options.d.ts +58 -7
  30. package/dist/options.d.ts.map +1 -1
  31. package/dist/options.js +47 -108
  32. package/dist/options.js.map +1 -1
  33. package/dist/plugin.d.ts.map +1 -1
  34. package/dist/plugin.js +87 -31
  35. package/dist/plugin.js.map +1 -1
  36. package/dist/types.d.ts +21 -25
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +18 -2
package/dist/plugin.js CHANGED
@@ -1,9 +1,12 @@
1
1
  import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
2
2
  import { dirname, join, resolve } from 'node:path';
3
- import { loadSchemaDefinitions, wrapPluginRun } from '@chkit/core';
3
+ import { wrapPluginRun } from '@chkit/core';
4
+ import { loadSchemaDefinitions } from '@chkit/core/schema-loader';
4
5
  import { CodegenConfigError } from './errors.js';
5
- import { CODEGEN_FLAGS, flagsToOverrides, mergeOptions, normalizeCodegenOptions, normalizeRuntimeOptions } from './options.js';
6
- import { generateIngestArtifacts, generateTypeArtifacts } from './generators.js';
6
+ import { CODEGEN_FLAGS, CODEGEN_FLAG_MAP, CodegenSchema } from './options.js';
7
+ import { generateTypeArtifacts } from './generators/type-artifacts.js';
8
+ import { generateIngestArtifacts } from './generators/ingest-artifacts.js';
9
+ import { generateMigrationArtifacts } from './generators/migration-artifacts.js';
7
10
  async function writeAtomic(targetPath, content) {
8
11
  await mkdir(dirname(targetPath), { recursive: true });
9
12
  const tempPath = join(dirname(targetPath), `.${Date.now()}-${Math.random().toString(16).slice(2)}.tmp`);
@@ -76,19 +79,33 @@ function mergeCheckResults(results) {
76
79
  metadata: Object.assign({}, ...results.map((r) => r.metadata)),
77
80
  };
78
81
  }
82
+ function isRecord(value) {
83
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
84
+ }
85
+ function withFactoryDefaults(schema, defaults) {
86
+ return {
87
+ safeParse(data) {
88
+ return schema.safeParse({ ...defaults, ...(isRecord(data) ? data : {}) });
89
+ },
90
+ };
91
+ }
79
92
  export function createCodegenPlugin(options = {}) {
80
- const base = normalizeCodegenOptions(options);
93
+ const factoryOptions = options;
94
+ const optionsSchema = withFactoryDefaults(CodegenSchema, factoryOptions);
81
95
  return {
82
96
  manifest: {
83
97
  name: 'codegen',
84
98
  apiVersion: 1,
85
99
  },
100
+ optionsSchema,
86
101
  commands: [
87
102
  {
88
103
  name: 'codegen',
89
104
  description: 'Generate TypeScript artifacts from chkit schema definitions',
90
105
  flags: CODEGEN_FLAGS,
91
- async run({ flags, jsonMode, print, options: runtimeOptions, config, configPath, }) {
106
+ optionsSchema,
107
+ flagMapping: CODEGEN_FLAG_MAP,
108
+ async run({ flags, jsonMode, print, options: effectiveOptions, config, configPath }) {
92
109
  return wrapPluginRun({
93
110
  command: 'codegen',
94
111
  label: 'Codegen',
@@ -96,8 +113,7 @@ export function createCodegenPlugin(options = {}) {
96
113
  print,
97
114
  configErrorClass: CodegenConfigError,
98
115
  fn: async () => {
99
- const overrides = flagsToOverrides(flags);
100
- const effectiveOptions = mergeOptions(base, runtimeOptions, overrides);
116
+ const checkMode = flags['--check'] === true;
101
117
  const configDir = resolve(configPath, '..');
102
118
  const outFile = resolve(configDir, effectiveOptions.outFile);
103
119
  const definitions = await loadSchemaDefinitions(config.schema, { cwd: configDir });
@@ -114,7 +130,16 @@ export function createCodegenPlugin(options = {}) {
114
130
  });
115
131
  ingestOutFile = resolve(configDir, effectiveOptions.ingestOutFile);
116
132
  }
117
- if (overrides.check) {
133
+ let migrationsGenerated = null;
134
+ let migrationsOutFile = null;
135
+ if (effectiveOptions.emitMigrations) {
136
+ migrationsGenerated = await generateMigrationArtifacts({
137
+ migrationsDir: resolve(configDir, config.migrationsDir),
138
+ options: effectiveOptions,
139
+ });
140
+ migrationsOutFile = resolve(configDir, effectiveOptions.migrationsOutFile);
141
+ }
142
+ if (checkMode) {
118
143
  const current = await readMaybe(outFile);
119
144
  const typeCheckResult = checkGeneratedOutput({
120
145
  label: 'Codegen',
@@ -136,6 +161,17 @@ export function createCodegenPlugin(options = {}) {
136
161
  staleCode: 'codegen_stale_ingest_output',
137
162
  }));
138
163
  }
164
+ if (migrationsGenerated && migrationsOutFile) {
165
+ const migrationsCurrent = await readMaybe(migrationsOutFile);
166
+ results.push(checkGeneratedOutput({
167
+ label: 'Codegen migrations',
168
+ outFile: migrationsOutFile,
169
+ expected: migrationsGenerated.content,
170
+ current: migrationsCurrent,
171
+ missingCode: 'codegen_missing_migrations_output',
172
+ staleCode: 'codegen_stale_migrations_output',
173
+ }));
174
+ }
139
175
  const checkResult = mergeCheckResults(results);
140
176
  const payload = {
141
177
  ok: checkResult.ok,
@@ -161,6 +197,9 @@ export function createCodegenPlugin(options = {}) {
161
197
  if (ingestGenerated && ingestOutFile) {
162
198
  await writeAtomic(ingestOutFile, ingestGenerated.content);
163
199
  }
200
+ if (migrationsGenerated && migrationsOutFile) {
201
+ await writeAtomic(migrationsOutFile, migrationsGenerated.content);
202
+ }
164
203
  const payload = {
165
204
  ok: true,
166
205
  outFile,
@@ -181,14 +220,13 @@ export function createCodegenPlugin(options = {}) {
181
220
  },
182
221
  ],
183
222
  hooks: {
184
- onConfigLoaded({ options: runtimeOptions }) {
185
- normalizeRuntimeOptions(runtimeOptions);
223
+ onConfigLoaded() {
224
+ // Validation happens at command dispatch via command.optionsSchema.
186
225
  },
187
- async onCheck({ config, configPath, options: runtimeOptions }) {
188
- const effectiveOptions = mergeOptions(base, runtimeOptions, { check: false });
226
+ async onCheck({ config: appConfig, configPath, options: effectiveOptions }) {
189
227
  const configDir = resolve(configPath, '..');
190
228
  const outFile = resolve(configDir, effectiveOptions.outFile);
191
- const definitions = await loadSchemaDefinitions(config.schema, { cwd: configDir });
229
+ const definitions = await loadSchemaDefinitions(appConfig.schema, { cwd: configDir });
192
230
  const generated = generateTypeArtifacts({
193
231
  definitions,
194
232
  options: effectiveOptions,
@@ -202,24 +240,42 @@ export function createCodegenPlugin(options = {}) {
202
240
  missingCode: 'codegen_missing_output',
203
241
  staleCode: 'codegen_stale_output',
204
242
  });
205
- if (!effectiveOptions.emitIngest) {
206
- return typeResult;
243
+ const results = [typeResult];
244
+ if (effectiveOptions.emitIngest) {
245
+ const ingestOutFile = resolve(configDir, effectiveOptions.ingestOutFile);
246
+ const ingestGenerated = generateIngestArtifacts({
247
+ definitions,
248
+ options: effectiveOptions,
249
+ });
250
+ const ingestCurrent = await readMaybe(ingestOutFile);
251
+ results.push(checkGeneratedOutput({
252
+ label: 'Codegen ingest',
253
+ outFile: ingestOutFile,
254
+ expected: ingestGenerated.content,
255
+ current: ingestCurrent,
256
+ missingCode: 'codegen_missing_ingest_output',
257
+ staleCode: 'codegen_stale_ingest_output',
258
+ }));
207
259
  }
208
- const ingestOutFile = resolve(configDir, effectiveOptions.ingestOutFile);
209
- const ingestGenerated = generateIngestArtifacts({
210
- definitions,
211
- options: effectiveOptions,
212
- });
213
- const ingestCurrent = await readMaybe(ingestOutFile);
214
- const ingestResult = checkGeneratedOutput({
215
- label: 'Codegen ingest',
216
- outFile: ingestOutFile,
217
- expected: ingestGenerated.content,
218
- current: ingestCurrent,
219
- missingCode: 'codegen_missing_ingest_output',
220
- staleCode: 'codegen_stale_ingest_output',
221
- });
222
- return mergeCheckResults([typeResult, ingestResult]);
260
+ if (effectiveOptions.emitMigrations) {
261
+ const migrationsOutFile = resolve(configDir, effectiveOptions.migrationsOutFile);
262
+ const migrationsGenerated = await generateMigrationArtifacts({
263
+ migrationsDir: resolve(configDir, appConfig.migrationsDir),
264
+ options: effectiveOptions,
265
+ });
266
+ const migrationsCurrent = await readMaybe(migrationsOutFile);
267
+ results.push(checkGeneratedOutput({
268
+ label: 'Codegen migrations',
269
+ outFile: migrationsOutFile,
270
+ expected: migrationsGenerated.content,
271
+ current: migrationsCurrent,
272
+ missingCode: 'codegen_missing_migrations_output',
273
+ staleCode: 'codegen_stale_migrations_output',
274
+ }));
275
+ }
276
+ if (results.length === 1)
277
+ return typeResult;
278
+ return mergeCheckResults(results);
223
279
  },
224
280
  onCheckReport({ result, print }) {
225
281
  const findingCodes = result.findings.map((finding) => finding.code);
@@ -234,7 +290,7 @@ export function createCodegenPlugin(options = {}) {
234
290
  }
235
291
  export function codegen(options = {}) {
236
292
  return {
237
- plugin: createCodegenPlugin(),
293
+ plugin: createCodegenPlugin(options),
238
294
  name: 'codegen',
239
295
  enabled: true,
240
296
  options,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,20 +1,12 @@
1
- import type { ChxInlinePluginRegistration, FlagDef, MaterializedViewDefinition, ParsedFlags, ResolvedChxConfig, TableDefinition, ViewDefinition } from '@chkit/core';
2
- export interface CodegenPluginOptions {
3
- outFile?: string;
4
- emitZod?: boolean;
5
- tableNameStyle?: 'pascal' | 'camel' | 'raw';
6
- bigintMode?: 'string' | 'bigint';
7
- includeViews?: boolean;
8
- runOnGenerate?: boolean;
9
- failOnUnsupportedType?: boolean;
10
- emitIngest?: boolean;
11
- ingestOutFile?: string;
12
- }
1
+ import type { ChxInlinePluginRegistration, FlagDef, FlagMapping, MaterializedViewDefinition, ParsedFlags, ResolvedChxConfig, SafeParseable, TableDefinition, ViewDefinition } from '@chkit/core';
2
+ import type { CodegenOptions, PluginConfig } from './options.js';
3
+ export type CodegenPluginOptions = PluginConfig;
13
4
  export interface CodegenPluginCommandContext {
14
5
  args: string[];
15
6
  flags: ParsedFlags;
16
7
  jsonMode: boolean;
17
- options: Record<string, unknown>;
8
+ options: CodegenOptions;
9
+ rawOptions: Record<string, unknown>;
18
10
  config: ResolvedChxConfig;
19
11
  configPath: string;
20
12
  print: (value: unknown) => void;
@@ -25,17 +17,20 @@ export interface CodegenPlugin {
25
17
  apiVersion: 1;
26
18
  version?: string;
27
19
  };
20
+ optionsSchema?: SafeParseable<CodegenOptions>;
28
21
  commands: Array<{
29
22
  name: 'codegen';
30
23
  description: string;
31
24
  flags?: readonly FlagDef[];
25
+ optionsSchema?: SafeParseable<CodegenOptions>;
26
+ flagMapping?: FlagMapping;
32
27
  run: (context: CodegenPluginCommandContext) => undefined | number | Promise<undefined | number>;
33
28
  }>;
34
29
  hooks?: {
35
30
  onConfigLoaded?: (context: {
36
31
  command: string;
37
32
  configPath: string;
38
- options: Record<string, unknown>;
33
+ options: CodegenOptions;
39
34
  }) => void;
40
35
  onCheck?: (context: CodegenPluginCheckContext) => CodegenPluginCheckResult | undefined | Promise<CodegenPluginCheckResult | undefined>;
41
36
  onCheckReport?: (context: {
@@ -45,7 +40,7 @@ export interface CodegenPlugin {
45
40
  };
46
41
  }
47
42
  export interface CodegenFinding {
48
- code: 'codegen_unsupported_type' | 'codegen_stale_output' | 'codegen_missing_output' | 'codegen_stale_ingest_output' | 'codegen_missing_ingest_output';
43
+ code: 'codegen_unsupported_type' | 'codegen_stale_output' | 'codegen_missing_output' | 'codegen_stale_ingest_output' | 'codegen_missing_ingest_output' | 'codegen_stale_migrations_output' | 'codegen_missing_migrations_output';
49
44
  message: string;
50
45
  severity: 'warn' | 'error';
51
46
  path?: string;
@@ -78,12 +73,22 @@ export interface GenerateIngestArtifactsOutput {
78
73
  outFile: string;
79
74
  functionCount: number;
80
75
  }
76
+ export interface GenerateMigrationArtifactsInput {
77
+ migrationsDir: string;
78
+ options?: CodegenPluginOptions;
79
+ toolVersion?: string;
80
+ }
81
+ export interface GenerateMigrationArtifactsOutput {
82
+ content: string;
83
+ outFile: string;
84
+ migrationCount: number;
85
+ }
81
86
  export interface CodegenPluginCheckContext {
82
87
  command: 'check';
83
88
  config: ResolvedChxConfig;
84
89
  configPath: string;
85
90
  jsonMode: boolean;
86
- options: Record<string, unknown>;
91
+ options: CodegenOptions;
87
92
  }
88
93
  export type CodegenPluginRegistration = ChxInlinePluginRegistration<CodegenPlugin, CodegenPluginOptions>;
89
94
  export interface CodegenPluginCheckResult {
@@ -102,13 +107,4 @@ export interface ResolvedTableName {
102
107
  definition: TableDefinition | ViewDefinition | MaterializedViewDefinition;
103
108
  interfaceName: string;
104
109
  }
105
- export interface FlagOverrides {
106
- check: boolean;
107
- outFile?: string;
108
- emitZod?: boolean;
109
- bigintMode?: 'string' | 'bigint';
110
- includeViews?: boolean;
111
- emitIngest?: boolean;
112
- ingestOutFile?: string;
113
- }
114
110
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,20 @@
1
1
  {
2
2
  "name": "@chkit/plugin-codegen",
3
- "version": "0.1.0-beta.8",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript type and Zod schema generation plugin for chkit",
5
+ "license": "MIT",
6
+ "author": "ObsessionDB",
7
+ "keywords": [
8
+ "clickhouse",
9
+ "typescript",
10
+ "codegen",
11
+ "zod",
12
+ "chkit-plugin"
13
+ ],
4
14
  "homepage": "https://chkit.obsessiondb.com",
15
+ "bugs": {
16
+ "url": "https://github.com/obsessiondb/chkit/issues"
17
+ },
5
18
  "repository": {
6
19
  "type": "git",
7
20
  "url": "https://github.com/obsessiondb/chkit.git",
@@ -29,7 +42,10 @@
29
42
  "clean": "rm -rf dist"
30
43
  },
31
44
  "dependencies": {
32
- "@chkit/core": "0.1.0-beta.8"
45
+ "@chkit/core": "0.1.0"
46
+ },
47
+ "peerDependencies": {
48
+ "zod": "^4.0.0"
33
49
  },
34
50
  "devDependencies": {
35
51
  "zod": "^4.3.6"