klasik 2.6.1 → 2.6.3

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.
Binary file
@@ -10,6 +10,7 @@
10
10
  * - Handles nested refs (ref within ref)
11
11
  * - Deep clones to avoid mutations
12
12
  * - Recursively traverses spec object
13
+ * - Promotes external schema refs to components/schemas
13
14
  */
14
15
  export interface RefInlinerOptions {
15
16
  /** Base URL of the main spec (for error messages) */
@@ -28,6 +29,7 @@ export declare class RefInliner {
28
29
  private resolvedRefs;
29
30
  private refResolver;
30
31
  private baseUrl?;
32
+ private promotedSchemas;
31
33
  constructor();
32
34
  /**
33
35
  * Inline all external $ref in a spec
@@ -55,6 +57,13 @@ export declare class RefInliner {
55
57
  * @returns Inlined content
56
58
  */
57
59
  private resolveAndInline;
60
+ /**
61
+ * Extract a schema name from a $ref fragment
62
+ * Matches patterns like /components/schemas/Name or /definitions/Name
63
+ * @param fragment The fragment part of the ref (after #)
64
+ * @returns Schema name or null if not a schema ref
65
+ */
66
+ private extractSchemaName;
58
67
  /**
59
68
  * Check if a ref is external (doesn't start with #)
60
69
  * @param ref The $ref string
@@ -1 +1 @@
1
- {"version":3,"file":"ref-inliner.d.ts","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,GAAG,EAAE,MAAM;aACX,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAC,CAAS;;IAOzB;;;;;;OAMG;IACH,MAAM,CACJ,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,OAAO,GAAE,iBAAsB,GAC9B,GAAG;IAWN;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAqClB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAiDxB;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;CAG7C"}
1
+ {"version":3,"file":"ref-inliner.d.ts","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,GAAG,EAAE,MAAM;aACX,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,eAAe,CAAmB;;IAQ1C;;;;;;OAMG;IACH,MAAM,CACJ,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,OAAO,GAAE,iBAAsB,GAC9B,GAAG;IA2BN;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAqClB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAgExB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;CAG7C"}
@@ -11,6 +11,7 @@
11
11
  * - Handles nested refs (ref within ref)
12
12
  * - Deep clones to avoid mutations
13
13
  * - Recursively traverses spec object
14
+ * - Promotes external schema refs to components/schemas
14
15
  */
15
16
  Object.defineProperty(exports, "__esModule", { value: true });
16
17
  exports.RefInliner = exports.RefInlinerError = void 0;
@@ -32,6 +33,7 @@ class RefInliner {
32
33
  constructor() {
33
34
  this.resolvedRefs = new Map();
34
35
  this.refResolver = new ref_resolver_1.RefResolver();
36
+ this.promotedSchemas = new Map();
35
37
  }
36
38
  /**
37
39
  * Inline all external $ref in a spec
@@ -43,10 +45,24 @@ class RefInliner {
43
45
  inline(spec, resolvedRefs, options = {}) {
44
46
  this.resolvedRefs = resolvedRefs;
45
47
  this.baseUrl = options.baseUrl;
48
+ this.promotedSchemas = new Map();
46
49
  // Deep clone to avoid mutating original spec
47
50
  const cloned = this.deepClone(spec);
48
51
  // Recursively inline refs
49
- return this.inlineRefs(cloned);
52
+ const result = this.inlineRefs(cloned);
53
+ // Merge promoted schemas into components/schemas
54
+ if (this.promotedSchemas.size > 0) {
55
+ if (!result.components) {
56
+ result.components = {};
57
+ }
58
+ if (!result.components.schemas) {
59
+ result.components.schemas = {};
60
+ }
61
+ for (const [name, schema] of this.promotedSchemas) {
62
+ result.components.schemas[name] = schema;
63
+ }
64
+ }
65
+ return result;
50
66
  }
51
67
  /**
52
68
  * Deep clone an object using JSON serialization
@@ -98,6 +114,8 @@ class RefInliner {
98
114
  resolveAndInline(ref) {
99
115
  // Split ref into file part and fragment part
100
116
  const [filePart, fragment] = ref.split('#');
117
+ // Check if this ref points to a named schema that should be promoted
118
+ const schemaName = this.extractSchemaName(fragment);
101
119
  // Try to get resolved content
102
120
  // RefResolver stores content with the original ref as key
103
121
  let content = this.resolvedRefs.get(ref);
@@ -129,7 +147,31 @@ class RefInliner {
129
147
  // Clone content to avoid mutations
130
148
  content = this.deepClone(content);
131
149
  // Recursively inline any refs within this content
132
- return this.inlineRefs(content);
150
+ content = this.inlineRefs(content);
151
+ // If this ref points to a named schema, promote it to components/schemas
152
+ // and return an internal $ref instead of inline content
153
+ if (schemaName && !this.promotedSchemas.has(schemaName)) {
154
+ this.promotedSchemas.set(schemaName, content);
155
+ return { $ref: `#/components/schemas/${schemaName}` };
156
+ }
157
+ else if (schemaName && this.promotedSchemas.has(schemaName)) {
158
+ // Already promoted — just return the internal ref
159
+ return { $ref: `#/components/schemas/${schemaName}` };
160
+ }
161
+ return content;
162
+ }
163
+ /**
164
+ * Extract a schema name from a $ref fragment
165
+ * Matches patterns like /components/schemas/Name or /definitions/Name
166
+ * @param fragment The fragment part of the ref (after #)
167
+ * @returns Schema name or null if not a schema ref
168
+ */
169
+ extractSchemaName(fragment) {
170
+ if (!fragment) {
171
+ return null;
172
+ }
173
+ const match = fragment.match(/\/(?:components\/schemas|definitions)\/([^/]+)$/);
174
+ return match ? match[1] : null;
133
175
  }
134
176
  /**
135
177
  * Check if a ref is external (doesn't start with #)
@@ -1 +1 @@
1
- {"version":3,"file":"ref-inliner.js","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref-inliner.js","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare class RefResolver {
28
28
  private specLoader;
29
29
  private resolvedRefs;
30
30
  private visitedUrls;
31
+ private resolvedUrlToContent;
31
32
  constructor();
32
33
  /**
33
34
  * Resolve all external $ref in a spec
@@ -1 +1 @@
1
- {"version":3,"file":"ref-resolver.d.ts","sourceRoot":"","sources":["../../src/loaders/ref-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAc,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,GAAG,EAAE,MAAM;aACX,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAc;;IAQjC;;;;;OAKG;IACG,mBAAmB,CACvB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAkB5B;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE;IAgCpC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAiBtE;;;;;;;OAOG;YACW,UAAU;IA+DxB;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAI5C;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAiChD;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"ref-resolver.d.ts","sourceRoot":"","sources":["../../src/loaders/ref-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAc,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,GAAG,EAAE,MAAM;aACX,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,oBAAoB,CAAmB;;IAS/C;;;;;OAKG;IACG,mBAAmB,CACvB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAmB5B;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE;IAgCpC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAiBtE;;;;;;;OAOG;YACW,UAAU;IAoExB;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAI5C;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAiChD;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -62,6 +62,7 @@ class RefResolver {
62
62
  this.specLoader = new spec_loader_1.SpecLoader();
63
63
  this.resolvedRefs = new Map();
64
64
  this.visitedUrls = new Set();
65
+ this.resolvedUrlToContent = new Map();
65
66
  }
66
67
  /**
67
68
  * Resolve all external $ref in a spec
@@ -74,6 +75,7 @@ class RefResolver {
74
75
  // Reset state
75
76
  this.resolvedRefs = new Map();
76
77
  this.visitedUrls = new Set();
78
+ this.resolvedUrlToContent = new Map();
77
79
  // Find all external refs
78
80
  const externalRefs = this.findExternalRefs(spec);
79
81
  // Resolve each ref
@@ -164,8 +166,12 @@ class RefResolver {
164
166
  const isRemote = baseUrl.startsWith('http://') || baseUrl.startsWith('https://');
165
167
  // Resolve to absolute URL
166
168
  const resolvedUrl = this.resolveRefUrl(ref, baseUrl, isRemote);
167
- // Skip if already visited
169
+ // Skip if already visited — but still store under this ref key
168
170
  if (this.visitedUrls.has(resolvedUrl)) {
171
+ const existingContent = this.resolvedUrlToContent.get(resolvedUrl);
172
+ if (existingContent && !this.resolvedRefs.has(ref)) {
173
+ this.resolvedRefs.set(ref, existingContent);
174
+ }
169
175
  return;
170
176
  }
171
177
  this.visitedUrls.add(resolvedUrl);
@@ -175,8 +181,9 @@ class RefResolver {
175
181
  url: resolvedUrl,
176
182
  ...options.loaderOptions,
177
183
  });
178
- // Store resolved content
184
+ // Store resolved content (by original ref and by resolved URL)
179
185
  this.resolvedRefs.set(ref, content);
186
+ this.resolvedUrlToContent.set(resolvedUrl, content);
180
187
  // Find nested external refs in this file
181
188
  const nestedRefs = this.findExternalRefs(content);
182
189
  // Recursively resolve nested refs
@@ -231,6 +238,7 @@ class RefResolver {
231
238
  clear() {
232
239
  this.resolvedRefs.clear();
233
240
  this.visitedUrls.clear();
241
+ this.resolvedUrlToContent.clear();
234
242
  }
235
243
  }
236
244
  exports.RefResolver = RefResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"ref-resolver.js","sourceRoot":"","sources":["../../src/loaders/ref-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref-resolver.js","sourceRoot":"","sources":["../../src/loaders/ref-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "klasik",
3
- "version": "2.6.1",
3
+ "version": "2.6.3",
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",