@amartus/oas-utils 0.3.1 → 0.3.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.
- package/README.md +14 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/lib/cliActions.d.ts +1 -0
- package/dist/lib/cliActions.d.ts.map +1 -1
- package/dist/lib/cliActions.js +1 -0
- package/dist/lib/cliActions.js.map +1 -1
- package/dist/lib/jsonSchemaUtils.d.ts +9 -0
- package/dist/lib/jsonSchemaUtils.d.ts.map +1 -0
- package/dist/lib/jsonSchemaUtils.js +16 -0
- package/dist/lib/jsonSchemaUtils.js.map +1 -0
- package/dist/lib/oasUtils.d.ts +52 -0
- package/dist/lib/oasUtils.d.ts.map +1 -1
- package/dist/lib/oasUtils.js +148 -14
- package/dist/lib/oasUtils.js.map +1 -1
- package/dist/lib/optimizeAllOfComposition.d.ts.map +1 -1
- package/dist/lib/optimizeAllOfComposition.js +37 -7
- package/dist/lib/optimizeAllOfComposition.js.map +1 -1
- package/dist/lib/removeUnusedSchemas.d.ts.map +1 -1
- package/dist/lib/removeUnusedSchemas.js +34 -30
- package/dist/lib/removeUnusedSchemas.js.map +1 -1
- package/dist/lib/schemaTransformUtils.d.ts.map +1 -1
- package/dist/lib/schemaTransformUtils.js +31 -7
- package/dist/lib/schemaTransformUtils.js.map +1 -1
- package/dist/lib/sealSchema.d.ts +2 -0
- package/dist/lib/sealSchema.d.ts.map +1 -1
- package/dist/lib/sealSchema.js +144 -30
- package/dist/lib/sealSchema.js.map +1 -1
- package/dist/redocly/seal-schema-decorator.d.ts.map +1 -1
- package/dist/redocly/seal-schema-decorator.js +1 -0
- package/dist/redocly/seal-schema-decorator.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -140,12 +140,24 @@ oas-utils seal-schema <input.yaml> -o output.yaml
|
|
|
140
140
|
oas-utils seal-schema <input.yaml> -o output.yaml --use-unevaluated-properties
|
|
141
141
|
# Use additionalProperties: false instead
|
|
142
142
|
oas-utils seal-schema <input.yaml> -o output.yaml --use-additional-properties
|
|
143
|
+
# Automatically upgrade OpenAPI 3.0.x to 3.1.0 or JSON Schema to draft 2020-12
|
|
144
|
+
oas-utils seal-schema <input.yaml> -o output.yaml --uplift
|
|
143
145
|
```
|
|
144
146
|
|
|
145
147
|
Options:
|
|
146
148
|
- -o, --output: write result to this file (defaults to stdout).
|
|
147
149
|
- --use-unevaluated-properties: use `unevaluatedProperties: false` (default, better for JSON Schema 2019-09+).
|
|
148
150
|
- --use-additional-properties: use `additionalProperties: false` instead.
|
|
151
|
+
- --uplift: automatically upgrade OpenAPI version to 3.1.0 or JSON Schema to draft 2020-12 to support `unevaluatedProperties`.
|
|
152
|
+
|
|
153
|
+
Compatibility notes:
|
|
154
|
+
- When sealing against OpenAPI 3.0.x or JSON Schema draft-07, the CLI now detects `allOf` references and raises an error if `--use-additional-properties` is requested (because `additionalProperties:false` cannot cover compositions reliably). Use `--use-unevaluated-properties` together with `--uplift`, or manually upgrade the document, to avoid the error.
|
|
155
|
+
- The tool relies on `jsonpath-plus` for these checks, so users can expect faster detection of `allOf` + `$ref` patterns that trigger compatibility constraints.
|
|
156
|
+
|
|
157
|
+
**Note**: `unevaluatedProperties` is only supported in OpenAPI 3.1+ or JSON Schema 2019-09+. If your document uses an earlier version and you want to use `unevaluatedProperties`, either:
|
|
158
|
+
- Use the `--uplift` option to automatically upgrade the version
|
|
159
|
+
- Manually upgrade your document to a compatible version
|
|
160
|
+
- Use `--use-additional-properties` instead
|
|
149
161
|
|
|
150
162
|
Example transformation:
|
|
151
163
|
- Original `Animal` schema (object-like, referenced in `allOf` by `Cat`)
|
|
@@ -193,6 +205,7 @@ decorators:
|
|
|
193
205
|
# Seal object schemas
|
|
194
206
|
oas-utils/seal-schema:
|
|
195
207
|
useUnevaluatedProperties: true
|
|
208
|
+
uplift: false # Set to true to automatically upgrade OpenAPI/JSON Schema version
|
|
196
209
|
```
|
|
197
210
|
|
|
198
211
|
3) Run bundling with Redocly CLI and the decorators will apply the transformations. With `aggressive: true`, unused non-schema components (responses, headers, requestBodies, etc.) are removed as well.
|
|
@@ -216,7 +229,7 @@ const result = cleanupDiscriminatorMappings(doc);
|
|
|
216
229
|
console.log(`Removed ${result.mappingsRemoved} invalid mappings from ${result.schemasChecked} schemas`);
|
|
217
230
|
|
|
218
231
|
// Seal object schemas
|
|
219
|
-
sealSchema(doc, { useUnevaluatedProperties: true });
|
|
232
|
+
sealSchema(doc, { useUnevaluatedProperties: true, uplift: true });
|
|
220
233
|
```
|
|
221
234
|
|
|
222
235
|
## Notes
|
package/dist/cli.js
CHANGED
|
@@ -75,10 +75,11 @@ program
|
|
|
75
75
|
.option("-o, --output <file>", "Write result to this file (defaults to stdout)")
|
|
76
76
|
.option("--use-unevaluated-properties", "Use unevaluatedProperties: false instead of additionalProperties: false (default: true)", true)
|
|
77
77
|
.option("--use-additional-properties", "Use additionalProperties: false instead of unevaluatedProperties: false", false)
|
|
78
|
+
.option("--uplift", "Automatically upgrade OpenAPI/JSON Schema version to support unevaluatedProperties", false)
|
|
78
79
|
.action(async (input, opts) => {
|
|
79
80
|
try {
|
|
80
81
|
const useUnevaluated = !opts.useAdditionalProperties;
|
|
81
|
-
await runSealSchema({ output: opts.output, useUnevaluatedProperties: useUnevaluated }, format, () => reader(input));
|
|
82
|
+
await runSealSchema({ output: opts.output, useUnevaluatedProperties: useUnevaluated, uplift: opts.uplift }, format, () => reader(input));
|
|
82
83
|
}
|
|
83
84
|
catch (err) {
|
|
84
85
|
console.error(`Error: ${err?.message || String(err)}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/cliActions.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export declare function runAllOfToOneOf(opts: {
|
|
|
43
43
|
export declare function runSealSchema(opts: {
|
|
44
44
|
output?: string;
|
|
45
45
|
useUnevaluatedProperties?: boolean;
|
|
46
|
+
uplift?: boolean;
|
|
46
47
|
}, format: (doc: any, target?: string) => string, reader: () => Promise<string>): Promise<void>;
|
|
47
48
|
/**
|
|
48
49
|
* Cleans up discriminator mappings by removing entries pointing to non-existent schemas.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliActions.d.ts","sourceRoot":"","sources":["../../src/lib/cliActions.ts"],"names":[],"mappings":"AAyEA,wBAAsB,eAAe,CACnC,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,EACD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAiB9B;AAQD,wBAAsB,cAAc,CAClC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACvF,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAsC9B;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACzB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAO9B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAAC,0BAA0B,CAAC,EAAE,OAAO,CAAA;CAAE,EACvI,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAyB9B;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"cliActions.d.ts","sourceRoot":"","sources":["../../src/lib/cliActions.ts"],"names":[],"mappings":"AAyEA,wBAAsB,eAAe,CACnC,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,EACD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAiB9B;AAQD,wBAAsB,cAAc,CAClC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACvF,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAsC9B;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACzB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAO9B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAAC,0BAA0B,CAAC,EAAE,OAAO,CAAA;CAAE,EACvI,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAyB9B;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/E,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAc9B;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACzB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,EAC7C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,iBAuB9B"}
|
package/dist/lib/cliActions.js
CHANGED
|
@@ -174,6 +174,7 @@ export async function runSealSchema(opts, format, reader) {
|
|
|
174
174
|
const doc = parseYamlOrJson(await reader());
|
|
175
175
|
const sopts = {
|
|
176
176
|
useUnevaluatedProperties: opts.useUnevaluatedProperties !== false,
|
|
177
|
+
uplift: opts.uplift,
|
|
177
178
|
};
|
|
178
179
|
const result = sealSchema(doc, sopts);
|
|
179
180
|
const sealingKeyword = sopts.useUnevaluatedProperties ? "unevaluatedProperties" : "additionalProperties";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliActions.js","sourceRoot":"","sources":["../../src/lib/cliActions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cliActions.js","sourceRoot":"","sources":["../../src/lib/cliActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for JSON Schema references and names.
|
|
3
|
+
*/
|
|
4
|
+
export declare function extractDefRefName(ref: string): string;
|
|
5
|
+
declare const _default: {
|
|
6
|
+
extractDefRefName: typeof extractDefRefName;
|
|
7
|
+
};
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=jsonSchemaUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonSchemaUtils.d.ts","sourceRoot":"","sources":["../../src/lib/jsonSchemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMrD;;;;AAED,wBAEE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for JSON Schema references and names.
|
|
3
|
+
*/
|
|
4
|
+
export function extractDefRefName(ref) {
|
|
5
|
+
const defsMatch = ref.match(/#\/\$defs\/([^/]+)$/);
|
|
6
|
+
if (defsMatch)
|
|
7
|
+
return defsMatch[1];
|
|
8
|
+
const defsMatch2 = ref.match(/#\/definitions\/([^/]+)$/);
|
|
9
|
+
if (defsMatch2)
|
|
10
|
+
return defsMatch2[1];
|
|
11
|
+
return "";
|
|
12
|
+
}
|
|
13
|
+
export default {
|
|
14
|
+
extractDefRefName,
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=jsonSchemaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonSchemaUtils.js","sourceRoot":"","sources":["../../src/lib/jsonSchemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACnD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,eAAe;IACb,iBAAiB;CAClB,CAAC"}
|
package/dist/lib/oasUtils.d.ts
CHANGED
|
@@ -29,4 +29,56 @@ export declare function getDescendants(parentName: string, graph: Map<string, Se
|
|
|
29
29
|
* @returns Set<string> - All ancestor schema names
|
|
30
30
|
*/
|
|
31
31
|
export declare function getAncestors(childName: string, schemas: Record<string, any>): Set<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Extracts the OpenAPI version from a document.
|
|
34
|
+
*
|
|
35
|
+
* @param doc - The OpenAPI document
|
|
36
|
+
* @returns The OpenAPI version string (e.g., "3.0.0", "3.1.0") or undefined
|
|
37
|
+
*/
|
|
38
|
+
export declare function getOpenApiVersion(doc: any): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Extracts the JSON Schema version from a document or schema.
|
|
41
|
+
*
|
|
42
|
+
* @param doc - The JSON Schema document
|
|
43
|
+
* @returns The JSON Schema version URI or undefined
|
|
44
|
+
*/
|
|
45
|
+
export declare function getJsonSchemaVersion(doc: any): string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Checks if a JSON Schema version supports unevaluatedProperties.
|
|
48
|
+
* unevaluatedProperties is supported in draft 2019-09 and later.
|
|
49
|
+
*
|
|
50
|
+
* @param schemaVersion - The $schema URI (e.g., "http://json-schema.org/draft-07/schema#")
|
|
51
|
+
* @returns true if unevaluatedProperties is supported
|
|
52
|
+
*/
|
|
53
|
+
export declare function supportsUnevaluatedProperties(schemaVersion: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Checks if an OpenAPI version supports unevaluatedProperties.
|
|
56
|
+
* unevaluatedProperties is supported in OpenAPI 3.1 and later.
|
|
57
|
+
*
|
|
58
|
+
* @param oasVersion - The OpenAPI version (e.g., "3.0.0", "3.1.0")
|
|
59
|
+
* @returns true if unevaluatedProperties is supported
|
|
60
|
+
*/
|
|
61
|
+
export declare function oasSupportsUnevaluatedProperties(oasVersion: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Checks if a document (OpenAPI or JSON Schema) supports unevaluatedProperties.
|
|
64
|
+
*
|
|
65
|
+
* @param doc - The document to check
|
|
66
|
+
* @returns true if unevaluatedProperties is supported
|
|
67
|
+
*/
|
|
68
|
+
export declare function documentSupportsUnevaluatedProperties(doc: any): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Upgrades the OpenAPI version to 3.1.0 to support unevaluatedProperties.
|
|
71
|
+
*
|
|
72
|
+
* @param doc - The OpenAPI document to upgrade
|
|
73
|
+
* @returns The upgraded document
|
|
74
|
+
*/
|
|
75
|
+
export declare function upgradeToOas31(doc: any): any;
|
|
76
|
+
/**
|
|
77
|
+
* Upgrades the JSON Schema version to draft 2019-09 to support unevaluatedProperties.
|
|
78
|
+
* Only upgrades if the current version is earlier than 2019-09.
|
|
79
|
+
*
|
|
80
|
+
* @param doc - The JSON Schema document to upgrade
|
|
81
|
+
* @returns The upgraded document
|
|
82
|
+
*/
|
|
83
|
+
export declare function upgradeJsonSchemaToDraft201909(doc: any): any;
|
|
32
84
|
//# sourceMappingURL=oasUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oasUtils.d.ts","sourceRoot":"","sources":["../../src/lib/oasUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oasUtils.d.ts","sourceRoot":"","sources":["../../src/lib/oasUtils.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAkC5F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAmB/F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAyBzF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAI9D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAIjE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAa5E;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAe5E;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAiBvE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAa5C;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAc5D"}
|
package/dist/lib/oasUtils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONPath } from 'jsonpath-plus';
|
|
1
2
|
// Common OpenAPI schema utilities
|
|
2
3
|
/**
|
|
3
4
|
* Helper to extract a components/schemas ref name from a $ref string.
|
|
@@ -21,23 +22,28 @@ export function buildInheritanceGraph(schemas) {
|
|
|
21
22
|
if (!schemas || typeof schemas !== "object") {
|
|
22
23
|
return graph;
|
|
23
24
|
}
|
|
24
|
-
// Iterate through all schemas
|
|
25
25
|
for (const [childName, schema] of Object.entries(schemas)) {
|
|
26
26
|
if (!schema || typeof schema !== "object")
|
|
27
27
|
continue;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
const path = `$.components.schemas.${childName}.allOf[*].$ref`;
|
|
29
|
+
let refs;
|
|
30
|
+
try {
|
|
31
|
+
refs = JSONPath({ path, json: { components: { schemas } }, resultType: 'value' });
|
|
32
|
+
}
|
|
33
|
+
catch (_e) {
|
|
34
|
+
refs = undefined;
|
|
35
|
+
}
|
|
36
|
+
if (!Array.isArray(refs)) {
|
|
37
|
+
refs = Array.isArray(schema.allOf)
|
|
38
|
+
? schema.allOf.map((item) => (item && typeof item === 'object' && typeof item.$ref === 'string' ? item.$ref : undefined)).filter(Boolean)
|
|
39
|
+
: [];
|
|
40
|
+
}
|
|
41
|
+
for (const ref of refs || []) {
|
|
42
|
+
const parentName = refToName(ref);
|
|
43
|
+
if (parentName) {
|
|
44
|
+
if (!graph.has(parentName))
|
|
45
|
+
graph.set(parentName, new Set());
|
|
46
|
+
graph.get(parentName).add(childName);
|
|
41
47
|
}
|
|
42
48
|
}
|
|
43
49
|
}
|
|
@@ -98,4 +104,132 @@ export function getAncestors(childName, schemas) {
|
|
|
98
104
|
}
|
|
99
105
|
return ancestors;
|
|
100
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Extracts the OpenAPI version from a document.
|
|
109
|
+
*
|
|
110
|
+
* @param doc - The OpenAPI document
|
|
111
|
+
* @returns The OpenAPI version string (e.g., "3.0.0", "3.1.0") or undefined
|
|
112
|
+
*/
|
|
113
|
+
export function getOpenApiVersion(doc) {
|
|
114
|
+
if (!doc || typeof doc !== "object")
|
|
115
|
+
return undefined;
|
|
116
|
+
if (typeof doc.openapi === "string")
|
|
117
|
+
return doc.openapi;
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Extracts the JSON Schema version from a document or schema.
|
|
122
|
+
*
|
|
123
|
+
* @param doc - The JSON Schema document
|
|
124
|
+
* @returns The JSON Schema version URI or undefined
|
|
125
|
+
*/
|
|
126
|
+
export function getJsonSchemaVersion(doc) {
|
|
127
|
+
if (!doc || typeof doc !== "object")
|
|
128
|
+
return undefined;
|
|
129
|
+
if (typeof doc.$schema === "string")
|
|
130
|
+
return doc.$schema;
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Checks if a JSON Schema version supports unevaluatedProperties.
|
|
135
|
+
* unevaluatedProperties is supported in draft 2019-09 and later.
|
|
136
|
+
*
|
|
137
|
+
* @param schemaVersion - The $schema URI (e.g., "http://json-schema.org/draft-07/schema#")
|
|
138
|
+
* @returns true if unevaluatedProperties is supported
|
|
139
|
+
*/
|
|
140
|
+
export function supportsUnevaluatedProperties(schemaVersion) {
|
|
141
|
+
if (!schemaVersion)
|
|
142
|
+
return false;
|
|
143
|
+
// Check for 2019-09, 2020-12, or later drafts
|
|
144
|
+
if (schemaVersion.includes("2019-09") ||
|
|
145
|
+
schemaVersion.includes("2020-12") ||
|
|
146
|
+
schemaVersion.includes("/next/")) {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
// Draft-07 and earlier don't support unevaluatedProperties
|
|
150
|
+
// We explicitly return false for these versions
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Checks if an OpenAPI version supports unevaluatedProperties.
|
|
155
|
+
* unevaluatedProperties is supported in OpenAPI 3.1 and later.
|
|
156
|
+
*
|
|
157
|
+
* @param oasVersion - The OpenAPI version (e.g., "3.0.0", "3.1.0")
|
|
158
|
+
* @returns true if unevaluatedProperties is supported
|
|
159
|
+
*/
|
|
160
|
+
export function oasSupportsUnevaluatedProperties(oasVersion) {
|
|
161
|
+
if (!oasVersion)
|
|
162
|
+
return false;
|
|
163
|
+
// Parse version
|
|
164
|
+
const versionMatch = oasVersion.match(/^(\d+)\.(\d+)/);
|
|
165
|
+
if (!versionMatch)
|
|
166
|
+
return false;
|
|
167
|
+
const major = parseInt(versionMatch[1], 10);
|
|
168
|
+
const minor = parseInt(versionMatch[2], 10);
|
|
169
|
+
// OpenAPI 3.1+ supports unevaluatedProperties (uses JSON Schema 2020-12)
|
|
170
|
+
if (major === 3 && minor >= 1)
|
|
171
|
+
return true;
|
|
172
|
+
if (major > 3)
|
|
173
|
+
return true;
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Checks if a document (OpenAPI or JSON Schema) supports unevaluatedProperties.
|
|
178
|
+
*
|
|
179
|
+
* @param doc - The document to check
|
|
180
|
+
* @returns true if unevaluatedProperties is supported
|
|
181
|
+
*/
|
|
182
|
+
export function documentSupportsUnevaluatedProperties(doc) {
|
|
183
|
+
if (!doc || typeof doc !== "object")
|
|
184
|
+
return false;
|
|
185
|
+
// Check for OpenAPI version
|
|
186
|
+
const oasVersion = getOpenApiVersion(doc);
|
|
187
|
+
if (oasVersion) {
|
|
188
|
+
return oasSupportsUnevaluatedProperties(oasVersion);
|
|
189
|
+
}
|
|
190
|
+
// Check for JSON Schema version
|
|
191
|
+
const schemaVersion = getJsonSchemaVersion(doc);
|
|
192
|
+
if (schemaVersion) {
|
|
193
|
+
return supportsUnevaluatedProperties(schemaVersion);
|
|
194
|
+
}
|
|
195
|
+
// If no version specified, assume it doesn't support unevaluatedProperties
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Upgrades the OpenAPI version to 3.1.0 to support unevaluatedProperties.
|
|
200
|
+
*
|
|
201
|
+
* @param doc - The OpenAPI document to upgrade
|
|
202
|
+
* @returns The upgraded document
|
|
203
|
+
*/
|
|
204
|
+
export function upgradeToOas31(doc) {
|
|
205
|
+
if (!doc || typeof doc !== "object")
|
|
206
|
+
return doc;
|
|
207
|
+
// Only upgrade if it's OpenAPI 3.0.x
|
|
208
|
+
const currentVersion = getOpenApiVersion(doc);
|
|
209
|
+
if (!currentVersion || !currentVersion.match(/^3\.0\./)) {
|
|
210
|
+
return doc;
|
|
211
|
+
}
|
|
212
|
+
// Upgrade to 3.1.0
|
|
213
|
+
doc.openapi = "3.1.0";
|
|
214
|
+
return doc;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Upgrades the JSON Schema version to draft 2019-09 to support unevaluatedProperties.
|
|
218
|
+
* Only upgrades if the current version is earlier than 2019-09.
|
|
219
|
+
*
|
|
220
|
+
* @param doc - The JSON Schema document to upgrade
|
|
221
|
+
* @returns The upgraded document
|
|
222
|
+
*/
|
|
223
|
+
export function upgradeJsonSchemaToDraft201909(doc) {
|
|
224
|
+
if (!doc || typeof doc !== "object")
|
|
225
|
+
return doc;
|
|
226
|
+
const currentVersion = getJsonSchemaVersion(doc);
|
|
227
|
+
// If already supports unevaluatedProperties (2019-09 or later), keep as is
|
|
228
|
+
if (currentVersion && supportsUnevaluatedProperties(currentVersion)) {
|
|
229
|
+
return doc;
|
|
230
|
+
}
|
|
231
|
+
// Set $schema to draft 2019-09
|
|
232
|
+
doc.$schema = "https://json-schema.org/draft/2019-09/schema";
|
|
233
|
+
return doc;
|
|
234
|
+
}
|
|
101
235
|
//# sourceMappingURL=oasUtils.js.map
|
package/dist/lib/oasUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oasUtils.js","sourceRoot":"","sources":["../../src/lib/oasUtils.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA4B;IAChE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE7C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"oasUtils.js","sourceRoot":"","sources":["../../src/lib/oasUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizeAllOfComposition.d.ts","sourceRoot":"","sources":["../../src/lib/optimizeAllOfComposition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"optimizeAllOfComposition.d.ts","sourceRoot":"","sources":["../../src/lib/optimizeAllOfComposition.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAqGtD"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { refToName } from "./oasUtils.js";
|
|
2
|
+
// Dynamically require JSONPath for optional, per-schema value queries
|
|
3
|
+
let JSONPath = undefined;
|
|
4
|
+
try {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
6
|
+
JSONPath = require("jsonpath-plus").JSONPath;
|
|
7
|
+
}
|
|
8
|
+
catch (e) {
|
|
9
|
+
JSONPath = undefined;
|
|
10
|
+
}
|
|
2
11
|
/**
|
|
3
12
|
* Optimize allOf composition globally across an OpenAPI document.
|
|
4
13
|
*
|
|
@@ -23,13 +32,34 @@ export function optimizeAllOfComposition(doc) {
|
|
|
23
32
|
return directAllOf.get(name);
|
|
24
33
|
const bases = new Set();
|
|
25
34
|
const schema = schemas[name];
|
|
26
|
-
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
// Try JSONPath per-schema to get allOf $ref values
|
|
36
|
+
if (JSONPath) {
|
|
37
|
+
try {
|
|
38
|
+
const path = `$.components.schemas.${name}.allOf[*].$ref`;
|
|
39
|
+
const refs = JSONPath({ path, json: { components: { schemas } }, resultType: "value" });
|
|
40
|
+
if (Array.isArray(refs)) {
|
|
41
|
+
for (const r of refs) {
|
|
42
|
+
if (typeof r === "string") {
|
|
43
|
+
const base = refToName(r);
|
|
44
|
+
if (base)
|
|
45
|
+
bases.add(base);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
// fall back to manual traversal below
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (bases.size === 0 && schema) {
|
|
55
|
+
const allOf = schema?.allOf;
|
|
56
|
+
if (Array.isArray(allOf)) {
|
|
57
|
+
for (const part of allOf) {
|
|
58
|
+
if (part && typeof part === "object" && typeof part.$ref === "string") {
|
|
59
|
+
const base = refToName(part.$ref);
|
|
60
|
+
if (base)
|
|
61
|
+
bases.add(base);
|
|
62
|
+
}
|
|
33
63
|
}
|
|
34
64
|
}
|
|
35
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizeAllOfComposition.js","sourceRoot":"","sources":["../../src/lib/optimizeAllOfComposition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAQ;IAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAChD,MAAM,OAAO,GAAoC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC;IACzE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAExD,2DAA2D;IAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEnD,MAAM,cAAc,GAAG,CAAC,IAAY,EAAe,EAAE;QACnD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"optimizeAllOfComposition.js","sourceRoot":"","sources":["../../src/lib/optimizeAllOfComposition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeUnusedSchemas.d.ts","sourceRoot":"","sources":["../../src/lib/removeUnusedSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"removeUnusedSchemas.d.ts","sourceRoot":"","sources":["../../src/lib/removeUnusedSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,aAAkB,GAAG,GAAG,CAwJ3E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { refToName } from './oasUtils.js';
|
|
2
|
+
import { JSONPath } from 'jsonpath-plus';
|
|
2
3
|
/**
|
|
3
4
|
* Remove unused components.schemas from an OpenAPI document (for CLI command).
|
|
4
5
|
* Mutates and returns the same object for convenience.
|
|
@@ -27,47 +28,50 @@ export function removeUnusedSchemas(doc, opts = {}) {
|
|
|
27
28
|
if (Array.isArray(node))
|
|
28
29
|
return node.forEach(visitCollectFromPaths);
|
|
29
30
|
if (typeof node.$ref === "string") {
|
|
30
|
-
|
|
31
|
-
const n = refToName(refStr);
|
|
32
|
-
if (n && !used.has(n)) {
|
|
33
|
-
used.add(n);
|
|
34
|
-
queue.push(n);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
// Resolve other components references like #/components/requestBodies/Name
|
|
38
|
-
const m = refStr.match(/^#\/components\/([^\/]+)\/([^#\/]+)$/);
|
|
39
|
-
if (m) {
|
|
40
|
-
const section = m[1];
|
|
41
|
-
const name = decodeURIComponent(m[2]);
|
|
42
|
-
const key = section + ":" + name;
|
|
43
|
-
if (!visitedComponents.has(key)) {
|
|
44
|
-
visitedComponents.add(key);
|
|
45
|
-
markUsedComponent(section, name);
|
|
46
|
-
const target = doc?.components?.[section]?.[name];
|
|
47
|
-
if (target)
|
|
48
|
-
visitCollectFromPaths(target);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
31
|
+
handlePathReference(node.$ref);
|
|
52
32
|
}
|
|
53
33
|
for (const k of Object.keys(node))
|
|
54
34
|
visitCollectFromPaths(node[k]);
|
|
55
35
|
};
|
|
56
|
-
|
|
57
|
-
|
|
36
|
+
const handlePathReference = (refStr) => {
|
|
37
|
+
const n = refToName(refStr);
|
|
38
|
+
if (n && !used.has(n)) {
|
|
39
|
+
used.add(n);
|
|
40
|
+
queue.push(n);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const m = refStr.match(/^#\/components\/([^\/]+)\/([^#\/]+)$/);
|
|
44
|
+
if (!m)
|
|
45
|
+
return;
|
|
46
|
+
const section = m[1];
|
|
47
|
+
const name = decodeURIComponent(m[2]);
|
|
48
|
+
const key = section + ":" + name;
|
|
49
|
+
if (visitedComponents.has(key))
|
|
50
|
+
return;
|
|
51
|
+
visitedComponents.add(key);
|
|
52
|
+
markUsedComponent(section, name);
|
|
53
|
+
const target = doc?.components?.[section]?.[name];
|
|
54
|
+
if (target)
|
|
55
|
+
visitCollectFromPaths(target);
|
|
56
|
+
};
|
|
57
|
+
if (doc.paths) {
|
|
58
|
+
const collectedRefs = JSONPath({ path: "$..$ref", json: doc.paths, resultType: "value" });
|
|
59
|
+
for (const refStr of collectedRefs ?? []) {
|
|
60
|
+
handlePathReference(refStr);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
58
63
|
// 2) Follow transitive references among schemas (downward closure via $ref in schema bodies)
|
|
59
64
|
const collectRefsInSchema = (schema, add) => {
|
|
60
65
|
if (!schema || typeof schema !== "object")
|
|
61
66
|
return;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
const refs = JSONPath({ path: "$..$ref", json: schema, resultType: "value" });
|
|
68
|
+
if (!Array.isArray(refs))
|
|
69
|
+
return;
|
|
70
|
+
for (const refStr of refs) {
|
|
71
|
+
const maybe = refToName(refStr);
|
|
66
72
|
if (maybe)
|
|
67
73
|
add(maybe);
|
|
68
74
|
}
|
|
69
|
-
for (const k of Object.keys(schema))
|
|
70
|
-
collectRefsInSchema(schema[k], add);
|
|
71
75
|
};
|
|
72
76
|
while (queue.length) {
|
|
73
77
|
const name = queue.pop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeUnusedSchemas.js","sourceRoot":"","sources":["../../src/lib/removeUnusedSchemas.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"removeUnusedSchemas.js","sourceRoot":"","sources":["../../src/lib/removeUnusedSchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaTransformUtils.d.ts","sourceRoot":"","sources":["../../src/lib/schemaTransformUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"schemaTransformUtils.d.ts","sourceRoot":"","sources":["../../src/lib/schemaTransformUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAoBtF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,GAAG,EAAE,CAmB5E;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,GAAG,EACT,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,GACnD,MAAM,CAgBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GACpC,MAAM,CAQR;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0CAA0C,CACxD,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,OAAO,CA8BT;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAcvD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAoClG"}
|
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
* Provides reusable building blocks for schema manipulation operations.
|
|
4
4
|
*/
|
|
5
5
|
import { refToName } from "./oasUtils.js";
|
|
6
|
+
// Dynamically require JSONPath to avoid top-level dependency changes in environments
|
|
7
|
+
let JSONPath = undefined;
|
|
8
|
+
try {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
10
|
+
JSONPath = require("jsonpath-plus").JSONPath;
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
JSONPath = undefined;
|
|
14
|
+
}
|
|
6
15
|
/**
|
|
7
16
|
* Traverses all nodes in an OAS document recursively (depth-first).
|
|
8
17
|
* Applies transformer callback to each node, counts modifications.
|
|
@@ -178,14 +187,29 @@ export function getSchemaReferencers(schemas, targetName) {
|
|
|
178
187
|
for (const [schemaName, schema] of Object.entries(schemas)) {
|
|
179
188
|
if (!schema || typeof schema !== "object")
|
|
180
189
|
continue;
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
190
|
+
let hasRef = false;
|
|
191
|
+
if (JSONPath) {
|
|
192
|
+
try {
|
|
193
|
+
// Query all $ref values under this schema and check for the targetRef
|
|
194
|
+
const path = `$.components.schemas.${schemaName}..$ref`;
|
|
195
|
+
const refs = JSONPath({ path, json: { components: { schemas } }, resultType: "value" });
|
|
196
|
+
hasRef = Array.isArray(refs) && refs.includes(targetRef);
|
|
197
|
+
}
|
|
198
|
+
catch (e) {
|
|
199
|
+
hasRef = false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (!hasRef) {
|
|
203
|
+
// Fallback to original traversal-based detection
|
|
204
|
+
const found = collectMatching(schema, (node) => {
|
|
205
|
+
return (node &&
|
|
206
|
+
typeof node === "object" &&
|
|
207
|
+
(node.$ref === targetRef || (Array.isArray(node) && node.some((item) => item?.$ref === targetRef))));
|
|
208
|
+
}).length > 0;
|
|
209
|
+
hasRef = found;
|
|
188
210
|
}
|
|
211
|
+
if (hasRef)
|
|
212
|
+
referencers.add(schemaName);
|
|
189
213
|
}
|
|
190
214
|
return referencers;
|
|
191
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaTransformUtils.js","sourceRoot":"","sources":["../../src/lib/schemaTransformUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"schemaTransformUtils.js","sourceRoot":"","sources":["../../src/lib/schemaTransformUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,qFAAqF;AACrF,IAAI,QAAQ,GAAoB,SAAS,CAAC;AAC1C,IAAI,CAAC;IACH,8DAA8D;IAC9D,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;AAC/C,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,QAAQ,GAAG,SAAS,CAAC;AACvB,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAS,EAAE,WAA8B;IAC5E,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,QAAQ,IAAI,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,QAAQ,IAAI,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAS,EAAE,SAA0B;IACnE,MAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,SAAS,QAAQ,CAAC,CAAM;QACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;QAExC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAS,EACT,aAAoD;IAEpD,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACxD,OAAQ,OAAe,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAS,EACT,YAAoB,EACpB,aAAqC;IAErC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9D,OAAO,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAQ,IAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0CAA0C,CACxD,IAAS,EACT,YAAoB,EACpB,WAAwB;IAExB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,yBAAyB;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAa,CAAC,CAAC;gBACzC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,OAAQ,OAAe,CAAC,GAAG,CAAC,CAAC;oBAC7B,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAgB,MAAS;IAClD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAQ,CAAC;IACxC,CAAC;IAED,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA4B,EAAE,UAAkB;IACnF,MAAM,SAAS,GAAG,wBAAwB,UAAU,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAS;QAEpD,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,sEAAsE;gBACtE,MAAM,IAAI,GAAG,wBAAwB,UAAU,QAAQ,CAAC;gBACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAU,CAAC;gBACjG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iDAAiD;YACjD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;gBAClD,OAAO,CACL,IAAI;oBACJ,OAAO,IAAI,KAAK,QAAQ;oBACxB,CAAE,IAAY,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAClH,CAAC;YACJ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACd,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,MAAM;YAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/dist/lib/sealSchema.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface SealSchemaOptions {
|
|
2
2
|
/** If true, use unevaluatedProperties: false instead of additionalProperties: false (default: true) */
|
|
3
3
|
useUnevaluatedProperties?: boolean;
|
|
4
|
+
/** If true, automatically upgrade OpenAPI/JSON Schema version to support unevaluatedProperties (default: false) */
|
|
5
|
+
uplift?: boolean;
|
|
4
6
|
}
|
|
5
7
|
/**
|
|
6
8
|
* Seal OpenAPI/JSON Schema objects to prevent additional properties.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealSchema.d.ts","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sealSchema.d.ts","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAChC,uGAAuG;IACvG,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,mHAAmH;IACnH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,iBAAsB,GAAG,GAAG,CAsOtE"}
|
package/dist/lib/sealSchema.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { refToName } from "./oasUtils.js";
|
|
1
|
+
import { refToName, documentSupportsUnevaluatedProperties, getOpenApiVersion, getJsonSchemaVersion, upgradeToOas31, upgradeJsonSchemaToDraft201909 } from "./oasUtils.js";
|
|
2
|
+
import { JSONPath } from "jsonpath-plus";
|
|
3
|
+
import { extractDefRefName } from "./jsonSchemaUtils.js";
|
|
2
4
|
/**
|
|
3
5
|
* Seal OpenAPI/JSON Schema objects to prevent additional properties.
|
|
4
6
|
*
|
|
@@ -22,6 +24,86 @@ export function sealSchema(doc, opts = {}) {
|
|
|
22
24
|
const sealing = useUnevaluated ? "unevaluatedProperties" : "additionalProperties";
|
|
23
25
|
// Check if this is a standalone JSON Schema (not an OpenAPI document)
|
|
24
26
|
const isStandalone = isStandaloneJsonSchema(doc);
|
|
27
|
+
// Check if using unevaluatedProperties and validate version compatibility
|
|
28
|
+
if (useUnevaluated) {
|
|
29
|
+
const oasVersion = getOpenApiVersion(doc);
|
|
30
|
+
const schemaVersion = getJsonSchemaVersion(doc);
|
|
31
|
+
// Only validate if there's an explicit version specified
|
|
32
|
+
const hasExplicitVersion = oasVersion || schemaVersion;
|
|
33
|
+
if (hasExplicitVersion) {
|
|
34
|
+
const isCompatible = documentSupportsUnevaluatedProperties(doc);
|
|
35
|
+
if (!isCompatible) {
|
|
36
|
+
if (opts.uplift) {
|
|
37
|
+
// Automatically upgrade the version
|
|
38
|
+
if (oasVersion) {
|
|
39
|
+
upgradeToOas31(doc);
|
|
40
|
+
console.warn(`[SEAL-SCHEMA] Upgraded OpenAPI version from ${oasVersion} to 3.1.0 to support unevaluatedProperties.`);
|
|
41
|
+
}
|
|
42
|
+
else if (schemaVersion) {
|
|
43
|
+
upgradeJsonSchemaToDraft201909(doc);
|
|
44
|
+
console.warn(`[SEAL-SCHEMA] Upgraded JSON Schema to draft 2019-09 to support unevaluatedProperties.`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// Error if uplift is not enabled
|
|
49
|
+
const versionInfo = oasVersion
|
|
50
|
+
? `OpenAPI ${oasVersion}`
|
|
51
|
+
: `JSON Schema ${schemaVersion}`;
|
|
52
|
+
throw new Error(`unevaluatedProperties is only supported in OpenAPI 3.1+ or JSON Schema 2019-09+. ` +
|
|
53
|
+
`Current document uses ${versionInfo}. ` +
|
|
54
|
+
`Use --uplift option to automatically upgrade the version, or use --use-additional-properties instead.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else if (opts.uplift && isStandalone) {
|
|
59
|
+
// If no version and it's a standalone schema, set it when uplift is enabled
|
|
60
|
+
upgradeJsonSchemaToDraft201909(doc);
|
|
61
|
+
console.warn(`[SEAL-SCHEMA] Set JSON Schema version to draft 2019-09 to support unevaluatedProperties.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Additional check: when using `additionalProperties:false` (i.e. not using
|
|
65
|
+
// unevaluatedProperties) we must ensure that sealing will actually cover
|
|
66
|
+
// composed schemas. In OpenAPI 3.0 and JSON Schema drafts before 2019-09,
|
|
67
|
+
// `additionalProperties: false` does NOT apply across `allOf` composition in
|
|
68
|
+
// a way that reliably seals extended models. If the document contains any
|
|
69
|
+
// schema using `allOf` compositions referencing other schemas, sealing with
|
|
70
|
+
// `additionalProperties:false` may be ineffective. In that case we should
|
|
71
|
+
// throw an error unless `useUnevaluatedProperties` is true or `uplift` is set
|
|
72
|
+
// (to upgrade the document to a version that supports `unevaluatedProperties`).
|
|
73
|
+
if (!useUnevaluated) {
|
|
74
|
+
validateAdditionalPropertiesCompatibility(doc);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Determine whether the provided document contains any schemas that use
|
|
78
|
+
* `allOf` referencing other schemas (simple $ref in allOf entries).
|
|
79
|
+
*/
|
|
80
|
+
function documentContainsAllOfRefs(doc) {
|
|
81
|
+
// Use JSONPath to find any allOf entries that contain a $ref anywhere in the document
|
|
82
|
+
try {
|
|
83
|
+
const matches = JSONPath({ path: "$..allOf[*].$ref", json: doc });
|
|
84
|
+
return Array.isArray(matches) && matches.length > 0;
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
// If JSONPath fails for some reason, fall back to conservative false
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Validate that attempting to seal using `additionalProperties:false` is
|
|
93
|
+
* compatible with the document's declared OpenAPI/JSON Schema version. Throw
|
|
94
|
+
* a descriptive error when an explicit older version is present and the
|
|
95
|
+
* document contains allOf references that would make sealing ineffective.
|
|
96
|
+
*/
|
|
97
|
+
function validateAdditionalPropertiesCompatibility(doc) {
|
|
98
|
+
const oasVersion = getOpenApiVersion(doc);
|
|
99
|
+
const schemaVersion = getJsonSchemaVersion(doc);
|
|
100
|
+
const hasExplicitVersion = oasVersion || schemaVersion;
|
|
101
|
+
if (hasExplicitVersion && documentContainsAllOfRefs(doc)) {
|
|
102
|
+
const versionInfo = oasVersion ? `OpenAPI ${oasVersion}` : `JSON Schema ${schemaVersion}`;
|
|
103
|
+
throw new Error(`Sealing via additionalProperties:false cannot reliably cover schemas composed with allOf in ${versionInfo}. ` +
|
|
104
|
+
`Use --use-unevaluated-properties or enable --uplift to upgrade the document to a version that supports unevaluatedProperties.`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
25
107
|
let schemas;
|
|
26
108
|
let wrappedName = "";
|
|
27
109
|
if (isStandalone) {
|
|
@@ -221,49 +303,81 @@ function updateNestedAllOfReferences(defs, originalName, coreName, defsKey) {
|
|
|
221
303
|
const refPrefix = defsKey === "$defs" ? "#/$defs" : "#/definitions";
|
|
222
304
|
const originalRef = `${refPrefix}/${originalName}`;
|
|
223
305
|
const coreRef = `${refPrefix}/${coreName}`;
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
306
|
+
// Use JSONPath to find all matching allOf entries with the originalRef and update them
|
|
307
|
+
try {
|
|
308
|
+
const query = `$.${defsKey}..allOf[?(@.$ref=='${originalRef}')]`;
|
|
309
|
+
const pointers = JSONPath({ path: query, json: { [defsKey]: defs }, resultType: 'pointer' });
|
|
310
|
+
for (const ptr of pointers) {
|
|
311
|
+
// pointer points to the matching allOf item; we need to set its $ref to coreRef
|
|
312
|
+
setJsonPointer({ [defsKey]: defs }, ptr + '/$ref', coreRef);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
catch (e) {
|
|
316
|
+
// Fallback to original loop if JSONPath fails
|
|
317
|
+
for (const def of Object.values(defs)) {
|
|
318
|
+
if (!def || typeof def !== "object")
|
|
319
|
+
continue;
|
|
320
|
+
if (!Array.isArray(def.allOf))
|
|
321
|
+
continue;
|
|
322
|
+
for (const item of def.allOf) {
|
|
323
|
+
if (item && typeof item === "object" && item.$ref === originalRef) {
|
|
324
|
+
item.$ref = coreRef;
|
|
325
|
+
}
|
|
232
326
|
}
|
|
233
327
|
}
|
|
234
328
|
}
|
|
235
329
|
}
|
|
236
|
-
/**
|
|
237
|
-
* Extract the schema name from a $defs or definitions reference
|
|
238
|
-
* (e.g., "#/$defs/Employee" or "#/definitions/Employee" -> "Employee")
|
|
239
|
-
*/
|
|
240
|
-
function extractDefRefName(ref) {
|
|
241
|
-
const defsMatch = ref.match(/#\/\$defs\/([^/]+)$/);
|
|
242
|
-
if (defsMatch)
|
|
243
|
-
return defsMatch[1];
|
|
244
|
-
const defsMatch2 = ref.match(/#\/definitions\/([^/]+)$/);
|
|
245
|
-
if (defsMatch2)
|
|
246
|
-
return defsMatch2[1];
|
|
247
|
-
return "";
|
|
248
|
-
}
|
|
249
330
|
/**
|
|
250
331
|
* Update all allOf references from original schema to core schema.
|
|
251
332
|
*/
|
|
252
333
|
function updateAllOfReferences(schemas, originalName, coreName) {
|
|
253
334
|
const originalRef = `#/components/schemas/${originalName}`;
|
|
254
335
|
const coreRef = `#/components/schemas/${coreName}`;
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
336
|
+
try {
|
|
337
|
+
const query = `$.components.schemas..allOf[?(@.$ref=='${originalRef}')]`;
|
|
338
|
+
const pointers = JSONPath({ path: query, json: { components: { schemas } }, resultType: 'pointer' });
|
|
339
|
+
for (const ptr of pointers) {
|
|
340
|
+
setJsonPointer({ components: { schemas } }, ptr + '/$ref', coreRef);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
catch (e) {
|
|
344
|
+
// Fallback to original loop
|
|
345
|
+
for (const schema of Object.values(schemas)) {
|
|
346
|
+
if (!schema || typeof schema !== "object")
|
|
347
|
+
continue;
|
|
348
|
+
if (!Array.isArray(schema.allOf))
|
|
349
|
+
continue;
|
|
350
|
+
for (const item of schema.allOf) {
|
|
351
|
+
if (item && typeof item === "object" && item.$ref === originalRef) {
|
|
352
|
+
item.$ref = coreRef;
|
|
353
|
+
}
|
|
263
354
|
}
|
|
264
355
|
}
|
|
265
356
|
}
|
|
266
357
|
}
|
|
358
|
+
/**
|
|
359
|
+
* Set a value in an object using a JSON Pointer string (e.g. '/a/0/b').
|
|
360
|
+
*/
|
|
361
|
+
function setJsonPointer(root, pointer, value) {
|
|
362
|
+
if (!pointer || pointer === "")
|
|
363
|
+
return;
|
|
364
|
+
// pointer is returned from jsonpath-plus as a JSON Pointer starting with '/'
|
|
365
|
+
const parts = pointer.split('/').slice(1).map(unescapePointer);
|
|
366
|
+
let cur = root;
|
|
367
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
368
|
+
const key = parts[i];
|
|
369
|
+
if (!(key in cur))
|
|
370
|
+
return; // unexpected shape
|
|
371
|
+
cur = cur[key];
|
|
372
|
+
if (cur === undefined || cur === null)
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
const last = parts[parts.length - 1];
|
|
376
|
+
cur[last] = value;
|
|
377
|
+
}
|
|
378
|
+
function unescapePointer(part) {
|
|
379
|
+
return part.replace(/~1/g, '/').replace(/~0/g, '~');
|
|
380
|
+
}
|
|
267
381
|
/**
|
|
268
382
|
* Recursively seal inline object schemas (properties, items, etc.).
|
|
269
383
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealSchema.js","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sealSchema.js","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seal-schema-decorator.d.ts","sourceRoot":"","sources":["../../src/redocly/seal-schema-decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAI,EAAE,GAAG;;sBAGjC,GAAG;;
|
|
1
|
+
{"version":3,"file":"seal-schema-decorator.d.ts","sourceRoot":"","sources":["../../src/redocly/seal-schema-decorator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAI,EAAE,GAAG;;sBAGjC,GAAG;;EAQtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seal-schema-decorator.js","sourceRoot":"","sources":["../../src/redocly/seal-schema-decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAS;IACnD,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,CAAC,MAAW;gBACf,UAAU,CAAC,MAAM,EAAE;oBACjB,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,KAAK,KAAK;
|
|
1
|
+
{"version":3,"file":"seal-schema-decorator.js","sourceRoot":"","sources":["../../src/redocly/seal-schema-decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAS;IACnD,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,CAAC,MAAW;gBACf,UAAU,CAAC,MAAM,EAAE;oBACjB,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,KAAK,KAAK;oBAClE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI;iBAC9B,CAAC,CAAC;YACL,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amartus/oas-utils",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "Utilities for working with OpenAPI (OAS) documents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"commander": "^12.1.0",
|
|
55
55
|
"openapi-types": "^12.1.3",
|
|
56
|
-
"yaml": "^2.5.1"
|
|
56
|
+
"yaml": "^2.5.1",
|
|
57
|
+
"jsonpath-plus": "^10.3.0"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
59
60
|
"@types/node": "^22.5.4",
|