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 +49 -0
- package/dist/bin/go-schema-gen +0 -0
- package/dist/cli/commands/generate-crd.d.ts +1 -0
- package/dist/cli/commands/generate-crd.d.ts.map +1 -1
- package/dist/cli/commands/generate-crd.js +17 -1
- package/dist/cli/commands/generate-crd.js.map +1 -1
- package/dist/cli/utils/options.d.ts +8 -0
- package/dist/cli/utils/options.d.ts.map +1 -1
- package/dist/cli/utils/options.js +20 -0
- package/dist/cli/utils/options.js.map +1 -1
- package/dist/ir/ir-filter.d.ts +52 -0
- package/dist/ir/ir-filter.d.ts.map +1 -0
- package/dist/ir/ir-filter.js +129 -0
- package/dist/ir/ir-filter.js.map +1 -0
- package/dist/plugins/class-validator-plugin.d.ts.map +1 -1
- package/dist/plugins/class-validator-plugin.js +23 -7
- package/dist/plugins/class-validator-plugin.js.map +1 -1
- package/package.json +1 -1
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:
|
package/dist/bin/go-schema-gen
CHANGED
|
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;
|
|
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
|
-
|
|
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":";AAAA;;;;GAIG;;;;;;
|
|
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;
|
|
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":";AAAA;;;;GAIG;;;AA6JH,4BAGC;AAtID;;GAEG;AACH,MAAa,QAAQ;IACnB;;OAEG;IACH,MAAM,CAAC,EAAY,EAAE,OAAsB;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE5B,0CAA0C;QAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,mDAAmD;QACnD,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,uCAAuC;QACvC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAE9D,uFAAuF;QACvF,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAE1E,OAAO;YACL,EAAE,EAAE,UAAU;YACd,eAAe;YACf,cAAc;YACd,KAAK,EAAE;gBACL,aAAa,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI;gBAC9B,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI;gBACtC,iBAAiB,EAAE,OAAO,CAAC,IAAI,GAAG,iBAAiB;aACpD;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,EAAY,EAAE,UAAkB,EAAE,OAAoB;QAChF,+CAA+C;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,2CAA2C;QAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,EAAY,EAAE,IAAmB,EAAE,OAAoB;QACnF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC5D,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACxC,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,YAAY;gBACf,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC9B,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,EAAY,EAAE,eAA4B;QACjE,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA3HD,4BA2HC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,EAAY,EAAE,OAAiB;IACtD,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -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;
|
|
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
|
-
//
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
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":";AAAA;;;;;GAKG;;;AAYH,MAAa,oBAAoB;IAAjC;QACE,SAAI,GAAG,iBAAiB,CAAC;QACzB,aAAQ,GAAG,EAAE,CAAC,CAAC,+CAA+C;
|
|
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