klasik 2.2.0 → 2.3.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 CHANGED
@@ -806,6 +806,7 @@ klasik generate-crd [options]
806
806
  |--------|-------------|---------|
807
807
  | `-u, --url <url>` | CRD URL or file path (repeatable) | - |
808
808
  | `-o, --output <dir>` | Output directory (required) | - |
809
+ | `-i, --include <schemas>` | Include only specified schemas and dependencies | - |
809
810
  | `--include-status` | Generate status schemas | `false` |
810
811
  | `--crd-kind-case <format>` | Folder naming: `pascal`, `snake`, `kebab` | `pascal` |
811
812
  | `--nestjs-swagger` | Add @ApiProperty decorators | `false` |
@@ -846,6 +847,20 @@ klasik generate-crd \
846
847
  --url https://private-repo.com/crd.yaml \
847
848
  --output ./src/types \
848
849
  --header "Authorization: Bearer ${TOKEN}"
850
+
851
+ # Filter to specific schemas (Gateway + dependencies only)
852
+ klasik generate-crd \
853
+ --url https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml \
854
+ --output ./src/types \
855
+ --include Gateway \
856
+ --bare
857
+
858
+ # Filter to multiple schemas
859
+ klasik generate-crd \
860
+ --url https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml \
861
+ --output ./src/types \
862
+ --include Gateway,HTTPRoute \
863
+ --bare
849
864
  ```
850
865
 
851
866
  ### `klasik generate-jsonschema`
@@ -990,6 +1005,40 @@ Klasik can generate TypeScript models directly from Kubernetes CustomResourceDef
990
1005
  - ✅ **Status schemas** - Optional with `--include-status`
991
1006
  - ✅ **Version support** - Handles multiple CRD versions (v1alpha1, v1, etc.)
992
1007
 
1008
+ ### Schema Filtering
1009
+
1010
+ When working with large CRD collections (like Gateway API), you can filter to generate only specific schemas and their dependencies:
1011
+
1012
+ ```bash
1013
+ # Generate only Gateway and its dependencies (15 schemas instead of 99)
1014
+ klasik generate-crd \
1015
+ --url https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml \
1016
+ --output ./src/types \
1017
+ --include Gateway \
1018
+ --bare
1019
+ ```
1020
+
1021
+ **Multiple schemas:**
1022
+
1023
+ ```bash
1024
+ # Comma-separated
1025
+ klasik generate-crd -u crds.yaml -o ./out --include Gateway,HTTPRoute
1026
+
1027
+ # Repeatable flag
1028
+ klasik generate-crd -u crds.yaml -o ./out -i Gateway -i HTTPRoute
1029
+ ```
1030
+
1031
+ **How it works:**
1032
+ 1. Parses all CRDs and builds the full IR (intermediate representation)
1033
+ 2. Finds specified schemas and traverses their dependencies (arrays, unions, dictionaries)
1034
+ 3. Generates only the filtered set of schemas
1035
+ 4. Handles circular references safely
1036
+
1037
+ **Benefits:**
1038
+ - Smaller output (only what you need)
1039
+ - Faster compilation
1040
+ - Cleaner imports
1041
+
993
1042
  ### Automatic Deduplication
994
1043
 
995
1044
  When generating from multiple CRDs, Klasik automatically deduplicates shared types by name:
Binary file
@@ -20,6 +20,7 @@ export interface GenerateCrdOptions {
20
20
  exportStyle?: 'namespace' | 'direct' | 'both' | 'none';
21
21
  bare?: boolean;
22
22
  timeout?: number;
23
+ include?: string[];
23
24
  }
24
25
  export declare function generateCrdAction(options: GenerateCrdOptions): Promise<void>;
25
26
  export declare const generateCrdCommand: Command;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-crd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate-crd.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgCD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GlF;AAED,eAAO,MAAM,kBAAkB,SAiBH,CAAC"}
1
+ {"version":3,"file":"generate-crd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate-crd.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAgCD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8HlF;AAED,eAAO,MAAM,kBAAkB,SAkBH,CAAC"}
@@ -17,6 +17,7 @@ const crd_to_ir_1 = require("../../parsers/crd-to-ir");
17
17
  const spec_loader_1 = require("../../loaders/spec-loader");
18
18
  const logger_1 = require("../utils/logger");
19
19
  const types_1 = require("../../ir/types");
20
+ const ir_filter_1 = require("../../ir/ir-filter");
20
21
  const ora_1 = __importDefault(require("ora"));
21
22
  const options_1 = require("../utils/options");
22
23
  /**
@@ -108,8 +109,22 @@ async function generateCrdAction(options) {
108
109
  }
109
110
  // Merge all IRs
110
111
  spinner.text = 'Merging schemas...';
111
- const mergedIR = mergeIRs(irs);
112
+ let mergedIR = mergeIRs(irs);
112
113
  logger_1.Logger.debug(`Merged IR: ${mergedIR.schemas.size} schema(s)`);
114
+ // Apply filtering if --include is specified
115
+ if (options.include && options.include.length > 0) {
116
+ spinner.text = 'Filtering schemas...';
117
+ const includeSchemas = (0, options_1.parseIncludeValues)(options.include);
118
+ const filter = new ir_filter_1.IRFilter();
119
+ const filterResult = filter.filter(mergedIR, { include: includeSchemas });
120
+ // Warn about missing schemas
121
+ if (filterResult.missingSchemas.length > 0) {
122
+ logger_1.Logger.warn(`Schemas not found: ${filterResult.missingSchemas.join(', ')}`);
123
+ }
124
+ logger_1.Logger.debug(`Filtered IR: ${filterResult.stats.filteredCount} schema(s) ` +
125
+ `(${filterResult.stats.dependenciesAdded} dependencies added)`);
126
+ mergedIR = filterResult.ir;
127
+ }
113
128
  // Generate code
114
129
  spinner.text = 'Generating TypeScript code...';
115
130
  const generator = new generator_1.Generator({
@@ -142,6 +157,7 @@ exports.generateCrdCommand = new commander_1.Command('generate-crd')
142
157
  .description('Generate TypeScript models from Kubernetes CRDs')
143
158
  .requiredOption('-u, --url <url>', 'CRD URL or file path (repeatable)', options_1.collectValues, [])
144
159
  .addOption((0, options_1.outputOption)('Output directory'))
160
+ .addOption((0, options_1.includeOption)())
145
161
  .addOption((0, options_1.includeStatusOption)())
146
162
  .addOption((0, options_1.nestjsSwaggerOption)())
147
163
  .addOption((0, options_1.classValidatorOption)())
@@ -1 +1 @@
1
- {"version":3,"file":"generate-crd.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-crd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-crd.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-crd.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,10 @@ export declare function crdKindCaseOption(): Option;
66
66
  * Include status option builder (for CRDs)
67
67
  */
68
68
  export declare function includeStatusOption(): Option;
69
+ /**
70
+ * Include schemas option builder (for filtering)
71
+ */
72
+ export declare function includeOption(): Option;
69
73
  /**
70
74
  * Parse headers from string array
71
75
  * Format: "Key: Value"
@@ -75,6 +79,10 @@ export declare function parseHeaders(headers: string[]): Record<string, string>;
75
79
  * Collect values for repeatable options
76
80
  */
77
81
  export declare function collectValues(value: string, previous: string[]): string[];
82
+ /**
83
+ * Parse include option values (handles both comma-separated and repeatable)
84
+ */
85
+ export declare function parseIncludeValues(values: string[]): string[];
78
86
  /**
79
87
  * Validate timeout value
80
88
  */
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAUtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBrD"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAUtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAKtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBrD"}
@@ -16,8 +16,10 @@ exports.skipJsExtensionsOption = skipJsExtensionsOption;
16
16
  exports.bareOption = bareOption;
17
17
  exports.crdKindCaseOption = crdKindCaseOption;
18
18
  exports.includeStatusOption = includeStatusOption;
19
+ exports.includeOption = includeOption;
19
20
  exports.parseHeaders = parseHeaders;
20
21
  exports.collectValues = collectValues;
22
+ exports.parseIncludeValues = parseIncludeValues;
21
23
  exports.validateTimeout = validateTimeout;
22
24
  const commander_1 = require("commander");
23
25
  /**
@@ -139,6 +141,12 @@ function crdKindCaseOption() {
139
141
  function includeStatusOption() {
140
142
  return new commander_1.Option('--include-status', 'Generate status schemas for CRDs').default(false);
141
143
  }
144
+ /**
145
+ * Include schemas option builder (for filtering)
146
+ */
147
+ function includeOption() {
148
+ return new commander_1.Option('-i, --include <schemas...>', 'Include only specified schemas and their dependencies (comma-separated or repeatable)');
149
+ }
142
150
  /**
143
151
  * Parse headers from string array
144
152
  * Format: "Key: Value"
@@ -165,6 +173,18 @@ function parseHeaders(headers) {
165
173
  function collectValues(value, previous) {
166
174
  return previous.concat([value]);
167
175
  }
176
+ /**
177
+ * Parse include option values (handles both comma-separated and repeatable)
178
+ */
179
+ function parseIncludeValues(values) {
180
+ const result = [];
181
+ for (const value of values) {
182
+ // Handle comma-separated values
183
+ const parts = value.split(',').map((s) => s.trim()).filter((s) => s.length > 0);
184
+ result.push(...parts);
185
+ }
186
+ return result;
187
+ }
168
188
  /**
169
189
  * Validate timeout value
170
190
  */
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":";;AASA,8BAMC;AAKD,oCAMC;AAKD,oCAEC;AAKD,sCAUC;AAKD,8BAEC;AAKD,kDAEC;AAKD,oDAEC;AAKD,oCAEC;AAKD,wCAEC;AAKD,wCAEC;AAKD,8CAEC;AAKD,8CAIC;AAKD,wDAEC;AAKD,gCAEC;AAKD,8CAIC;AAKD,kDAEC;AAMD,oCAqBC;AAKD,sCAEC;AAKD,0CAgBC;AA/LD,yCAAmC;AAEnC;;GAEG;AAEH;;GAEG;AACH,SAAgB,SAAS,CAAC,WAAmB,EAAE,QAAQ,GAAG,IAAI;IAC5D,MAAM,MAAM,GAAG,IAAI,kBAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,WAAmB,EAAE,QAAQ,GAAG,IAAI;IAC/D,MAAM,MAAM,GAAG,IAAI,kBAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,IAAI,kBAAM,CAAC,mBAAmB,EAAE,mDAAmD,CAAC,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAI,kBAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SACnE,OAAO,CAAC,KAAK,CAAC;SACd,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,IAAI,kBAAM,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxF,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAI,kBAAM,CAAC,kBAAkB,EAAE,wCAAwC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,IAAI,kBAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,IAAI,kBAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,IAAI,kBAAM,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,IAAI,kBAAM,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,kBAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,kBAAM,CAAC,wBAAwB,EAAE,6CAA6C,CAAC;SACvF,OAAO,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SAChD,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,OAAO,IAAI,kBAAM,CAAC,sBAAsB,EAAE,2CAA2C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxG,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO,IAAI,kBAAM,CAAC,QAAQ,EAAE,iEAAiE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChH,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,kBAAM,CAAC,0BAA0B,EAAE,oCAAoC,CAAC;SAChF,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACrC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAI,kBAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,OAAiB;IAC5C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,kCAAkC,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,+BAA+B,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAa,EAAE,QAAkB;IAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,qBAAqB,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,0BAA0B,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,4CAA4C,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * IR Filter
3
+ *
4
+ * Filters SchemaIR to include only specified schemas and their transitive dependencies.
5
+ */
6
+ import { SchemaIR } from './types';
7
+ export interface FilterOptions {
8
+ /** Schema names to include (will also include all their dependencies) */
9
+ include: string[];
10
+ /** Whether to warn about missing schemas (default: true) */
11
+ warnOnMissing?: boolean;
12
+ }
13
+ export interface FilterResult {
14
+ /** Filtered IR */
15
+ ir: SchemaIR;
16
+ /** Schemas that were included */
17
+ includedSchemas: Set<string>;
18
+ /** Schemas that were specified but not found */
19
+ missingSchemas: string[];
20
+ /** Statistics */
21
+ stats: {
22
+ originalCount: number;
23
+ filteredCount: number;
24
+ dependenciesAdded: number;
25
+ };
26
+ }
27
+ /**
28
+ * Filter a SchemaIR to include only specified schemas and their dependencies
29
+ */
30
+ export declare class IRFilter {
31
+ /**
32
+ * Filter IR to include only specified schemas and their transitive dependencies
33
+ */
34
+ filter(ir: SchemaIR, options: FilterOptions): FilterResult;
35
+ /**
36
+ * Recursively collect all dependencies of a schema
37
+ */
38
+ private collectDependencies;
39
+ /**
40
+ * Recursively collect schema references from a TypeReference
41
+ */
42
+ private collectTypeReferences;
43
+ /**
44
+ * Create a new IR containing only the specified schemas
45
+ */
46
+ private createFilteredIR;
47
+ }
48
+ /**
49
+ * Convenience function to filter an IR
50
+ */
51
+ export declare function filterIR(ir: SchemaIR, include: string[]): FilterResult;
52
+ //# sourceMappingURL=ir-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir-filter.d.ts","sourceRoot":"","sources":["../../src/ir/ir-filter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAA8C,MAAM,SAAS,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB;IAClB,EAAE,EAAE,QAAQ,CAAC;IACb,iCAAiC;IACjC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,gDAAgD;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB;IACjB,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY;IA6C1D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAgBzB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,CAGtE"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * IR Filter
4
+ *
5
+ * Filters SchemaIR to include only specified schemas and their transitive dependencies.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.IRFilter = void 0;
9
+ exports.filterIR = filterIR;
10
+ /**
11
+ * Filter a SchemaIR to include only specified schemas and their dependencies
12
+ */
13
+ class IRFilter {
14
+ /**
15
+ * Filter IR to include only specified schemas and their transitive dependencies
16
+ */
17
+ filter(ir, options) {
18
+ const { include } = options;
19
+ // Track included schemas and missing ones
20
+ const includedSchemas = new Set();
21
+ const missingSchemas = [];
22
+ // First, validate that all specified schemas exist
23
+ for (const schemaName of include) {
24
+ if (ir.schemas.has(schemaName)) {
25
+ includedSchemas.add(schemaName);
26
+ }
27
+ else {
28
+ missingSchemas.push(schemaName);
29
+ }
30
+ }
31
+ // Collect all transitive dependencies
32
+ const visited = new Set();
33
+ for (const schemaName of includedSchemas) {
34
+ this.collectDependencies(ir, schemaName, visited);
35
+ }
36
+ // Add all dependencies to included set
37
+ for (const dep of visited) {
38
+ includedSchemas.add(dep);
39
+ }
40
+ // Create filtered IR
41
+ const filteredIR = this.createFilteredIR(ir, includedSchemas);
42
+ // Calculate how many dependencies were added (total - originally specified that exist)
43
+ const specifiedAndFound = include.filter((s) => ir.schemas.has(s)).length;
44
+ return {
45
+ ir: filteredIR,
46
+ includedSchemas,
47
+ missingSchemas,
48
+ stats: {
49
+ originalCount: ir.schemas.size,
50
+ filteredCount: filteredIR.schemas.size,
51
+ dependenciesAdded: visited.size - specifiedAndFound,
52
+ },
53
+ };
54
+ }
55
+ /**
56
+ * Recursively collect all dependencies of a schema
57
+ */
58
+ collectDependencies(ir, schemaName, visited) {
59
+ // Prevent infinite loops (circular references)
60
+ if (visited.has(schemaName)) {
61
+ return;
62
+ }
63
+ visited.add(schemaName);
64
+ const schema = ir.schemas.get(schemaName);
65
+ if (!schema) {
66
+ return;
67
+ }
68
+ // Collect dependencies from all properties
69
+ for (const [_, property] of schema.properties) {
70
+ this.collectTypeReferences(ir, property.type, visited);
71
+ }
72
+ }
73
+ /**
74
+ * Recursively collect schema references from a TypeReference
75
+ */
76
+ collectTypeReferences(ir, type, visited) {
77
+ switch (type.kind) {
78
+ case 'reference':
79
+ case 'object':
80
+ if (type.name && ir.schemas.has(type.name)) {
81
+ this.collectDependencies(ir, type.name, visited);
82
+ }
83
+ break;
84
+ case 'array':
85
+ if (type.elementType) {
86
+ this.collectTypeReferences(ir, type.elementType, visited);
87
+ }
88
+ break;
89
+ case 'union':
90
+ if (type.unionTypes) {
91
+ for (const unionType of type.unionTypes) {
92
+ this.collectTypeReferences(ir, unionType, visited);
93
+ }
94
+ }
95
+ break;
96
+ case 'dictionary':
97
+ if (type.additionalProperties) {
98
+ this.collectTypeReferences(ir, type.additionalProperties, visited);
99
+ }
100
+ break;
101
+ }
102
+ }
103
+ /**
104
+ * Create a new IR containing only the specified schemas
105
+ */
106
+ createFilteredIR(ir, includedSchemas) {
107
+ const filtered = {
108
+ schemas: new Map(),
109
+ operations: new Map(),
110
+ metadata: { ...ir.metadata },
111
+ };
112
+ for (const schemaName of includedSchemas) {
113
+ const schema = ir.schemas.get(schemaName);
114
+ if (schema) {
115
+ filtered.schemas.set(schemaName, schema);
116
+ }
117
+ }
118
+ return filtered;
119
+ }
120
+ }
121
+ exports.IRFilter = IRFilter;
122
+ /**
123
+ * Convenience function to filter an IR
124
+ */
125
+ function filterIR(ir, include) {
126
+ const filter = new IRFilter();
127
+ return filter.filter(ir, { include });
128
+ }
129
+ //# sourceMappingURL=ir-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir-filter.js","sourceRoot":"","sources":["../../src/ir/ir-filter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,IAAI,SAAqB;IACzB,QAAQ,SAAM;IAEd;;;OAGG;IAEH;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAkFhC"}
1
+ {"version":3,"file":"class-validator-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,IAAI,SAAqB;IACzB,QAAQ,SAAM;IAEd;;;OAGG;IAEH;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAiGhC"}
@@ -178,13 +178,29 @@ class ClassValidatorPlugin {
178
178
  // Pattern (regex) constraint
179
179
  if (constraints.pattern) {
180
180
  context.importManager.addImport('class-validator', 'Matches');
181
- // Use the pattern as-is - ts-morph handles proper escaping
182
- // Only escape single quotes if they appear in the pattern
183
- const pattern = constraints.pattern.replace(/'/g, "\\'");
184
- property.addDecorator({
185
- name: 'Matches',
186
- arguments: [`/${pattern}/`],
187
- });
181
+ // Check if pattern contains '/' which would need escaping in regex literal
182
+ // Using new RegExp() is safer as it avoids:
183
+ // 1. '/' being interpreted as regex delimiter
184
+ // 2. '//' being interpreted as a comment
185
+ if (constraints.pattern.includes('/')) {
186
+ // Use new RegExp() constructor to avoid delimiter issues
187
+ // Escape backslashes for string literal and escape single quotes
188
+ const escapedPattern = constraints.pattern
189
+ .replace(/\\/g, '\\\\')
190
+ .replace(/'/g, "\\'");
191
+ property.addDecorator({
192
+ name: 'Matches',
193
+ arguments: [`new RegExp('${escapedPattern}')`],
194
+ });
195
+ }
196
+ else {
197
+ // Use regex literal for simple patterns without '/'
198
+ const pattern = constraints.pattern.replace(/'/g, "\\'");
199
+ property.addDecorator({
200
+ name: 'Matches',
201
+ arguments: [`/${pattern}/`],
202
+ });
203
+ }
188
204
  }
189
205
  // Array constraints
190
206
  if (constraints.minItems !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-validator-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "klasik",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "TypeScript code generator from OpenAPI/CRD/JSON Schema/Go structs - rebuilt from ground up with AST-based generation",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",