@scalar/openapi-parser 0.29.0 → 0.29.2
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/CHANGELOG.md +23 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/filter.d.ts +2 -1
- package/dist/utils/filter.d.ts.map +1 -1
- package/dist/utils/get-list-of-references.d.ts +1 -1
- package/dist/utils/get-list-of-references.d.ts.map +1 -1
- package/dist/utils/join/join.d.ts +1 -1
- package/dist/utils/join/join.d.ts.map +1 -1
- package/dist/utils/join/join.js +21 -3
- package/dist/utils/join/merge-objects.d.ts.map +1 -1
- package/dist/utils/join/merge-objects.js +9 -1
- package/dist/utils/make-filesystem.d.ts +2 -1
- package/dist/utils/make-filesystem.d.ts.map +1 -1
- package/dist/utils/openapi/commands/dereferenceCommand.d.ts.map +1 -1
- package/dist/utils/openapi/commands/filterCommand.d.ts.map +1 -1
- package/dist/utils/openapi/commands/loadCommand.d.ts.map +1 -1
- package/dist/utils/openapi/commands/upgradeCommand.d.ts.map +1 -1
- package/dist/utils/openapi/commands/validateCommand.d.ts.map +1 -1
- package/dist/utils/openapi/openapi.d.ts +180 -180
- package/dist/utils/resolve-references.d.ts +2 -1
- package/dist/utils/resolve-references.d.ts.map +1 -1
- package/dist/utils/resolve-references.js +4 -4
- package/dist/utils/to-json.d.ts +1 -1
- package/dist/utils/to-json.d.ts.map +1 -1
- package/dist/utils/to-yaml.d.ts +1 -1
- package/dist/utils/to-yaml.d.ts.map +1 -1
- package/dist/utils/transform/sanitize.d.ts +1 -1
- package/dist/utils/transform/sanitize.d.ts.map +1 -1
- package/dist/utils/transform/utils/addInfoObject.d.ts +1 -1
- package/dist/utils/transform/utils/addInfoObject.d.ts.map +1 -1
- package/dist/utils/transform/utils/addLatestOpenApiVersion.d.ts +1 -1
- package/dist/utils/transform/utils/addLatestOpenApiVersion.d.ts.map +1 -1
- package/dist/utils/transform/utils/addMissingTags.d.ts +1 -1
- package/dist/utils/transform/utils/addMissingTags.d.ts.map +1 -1
- package/dist/utils/transform/utils/normalizeSecuritySchemes.d.ts +1 -1
- package/dist/utils/transform/utils/normalizeSecuritySchemes.d.ts.map +1 -1
- package/dist/utils/transform/utils/rejectSwaggerDocuments.d.ts +1 -1
- package/dist/utils/transform/utils/rejectSwaggerDocuments.d.ts.map +1 -1
- package/dist/utils/traverse.d.ts.map +1 -1
- package/dist/utils/upgrade.d.ts +3 -2
- package/dist/utils/upgrade.d.ts.map +1 -1
- package/dist/utils/upgrade.js +5 -4
- package/dist/utils/validate.d.ts +2 -1
- package/dist/utils/validate.d.ts.map +1 -1
- package/dist/utils/validate.js +1 -3
- package/package.json +7 -7
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { AnyObject,
|
|
1
|
+
import type { AnyObject, UnknownObject } from '@scalar/types/utils';
|
|
2
|
+
import type { ErrorObject, Filesystem, FilesystemEntry, ThrowOnErrorOption } from '../types/index.js';
|
|
2
3
|
type ResolveReferencesResult = {
|
|
3
4
|
valid: boolean;
|
|
4
5
|
errors: ErrorObject[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-references.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-references.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-references.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-references.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAgBjG,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,MAAM,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG;IAC1D;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,IAAI,CAAA;CACxF,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAE/B,KAAK,EAAE,SAAS,GAAG,UAAU,EAE7B,OAAO,CAAC,EAAE,wBAAwB,EAElC,IAAI,CAAC,EAAE,eAAe,EAEtB,MAAM,GAAE,WAAW,EAAO,GACzB,uBAAuB,CAuCzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isObject } from '@scalar/helpers/object/is-object';
|
|
1
|
+
import { isObject, isObjectLike } from '@scalar/helpers/object/is-object';
|
|
2
2
|
import { ERRORS } from '../configuration/index.js';
|
|
3
3
|
import { getEntrypoint } from './get-entrypoint.js';
|
|
4
4
|
import { getSegmentsFromPath } from './get-segments-from-path.js';
|
|
@@ -161,12 +161,12 @@ resolve, errors) {
|
|
|
161
161
|
// resolve refs first before accessing properties directly
|
|
162
162
|
return resolveUri(`#${path}`, options, resolve(externalReference), filesystem, resolve, errors);
|
|
163
163
|
}
|
|
164
|
-
// Pointers
|
|
165
|
-
const segments = getSegmentsFromPath(path);
|
|
166
164
|
// Try to find the URI
|
|
167
165
|
try {
|
|
166
|
+
// Decoding malformed percent escapes can throw before the target is read.
|
|
167
|
+
const segments = getSegmentsFromPath(path);
|
|
168
168
|
return segments.reduce((acc, key) => {
|
|
169
|
-
if (
|
|
169
|
+
if (!isObjectLike(acc) || !(key in acc)) {
|
|
170
170
|
throw new Error(ERRORS.INVALID_REFERENCE.replace('%s', uri));
|
|
171
171
|
}
|
|
172
172
|
return acc[key];
|
package/dist/utils/to-json.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-json.d.ts","sourceRoot":"","sources":["../../src/utils/to-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"to-json.d.ts","sourceRoot":"","sources":["../../src/utils/to-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,eAAO,MAAM,MAAM,GAAI,OAAO,SAAS,WAAmC,CAAA"}
|
package/dist/utils/to-yaml.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-yaml.d.ts","sourceRoot":"","sources":["../../src/utils/to-yaml.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"to-yaml.d.ts","sourceRoot":"","sources":["../../src/utils/to-yaml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGpD,eAAO,MAAM,MAAM,GAAI,OAAO,SAAS,WAAqB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnyObject, UnknownObject } from '
|
|
1
|
+
import type { AnyObject, UnknownObject } from '@scalar/types/utils';
|
|
2
2
|
export { DEFAULT_TITLE } from './utils/addInfoObject.js';
|
|
3
3
|
export { DEFAULT_OPENAPI_VERSION } from './utils/addLatestOpenApiVersion.js';
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/utils/transform/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/utils/transform/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AASnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,aAAa,CAU7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addInfoObject.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/addInfoObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"addInfoObject.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/addInfoObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,eAAO,MAAM,aAAa,QAAQ,CAAA;AAGlC,eAAO,MAAM,aAAa,GAAI,YAAY,SAAS;;CAOjD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addLatestOpenApiVersion.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/addLatestOpenApiVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"addLatestOpenApiVersion.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/addLatestOpenApiVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,eAAO,MAAM,uBAAuB,UAAU,CAAA;AAE9C,eAAO,MAAM,uBAAuB,GAAI,YAAY,SAAS;;CAG3D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addMissingTags.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/addMissingTags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"addMissingTags.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/addMissingTags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,eAAO,MAAM,cAAc,GAAI,YAAY,SAAS,cAmCnD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeSecuritySchemes.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/normalizeSecuritySchemes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"normalizeSecuritySchemes.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/normalizeSecuritySchemes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,eAAO,MAAM,wBAAwB,GAAI,YAAY,SAAS,cAiD7D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rejectSwaggerDocuments.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/rejectSwaggerDocuments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"rejectSwaggerDocuments.d.ts","sourceRoot":"","sources":["../../../../src/utils/transform/utils/rejectSwaggerDocuments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,eAAO,MAAM,sBAAsB,GAAI,WAAW,SAAS,cAM1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/utils/traverse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/utils/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnE;;GAEG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,aAAa,EACrE,IAAI,GAAE,MAAM,EAAO,iBA6BpB"}
|
package/dist/utils/upgrade.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Document as OpenApiDocumentV3_1 } from '@scalar/openapi-types/3.1';
|
|
2
|
-
import type {
|
|
2
|
+
import type { UnknownObject } from '@scalar/types/utils';
|
|
3
|
+
import type { Filesystem, UpgradeResult } from '../types/index.js';
|
|
3
4
|
/**
|
|
4
|
-
* Upgrade
|
|
5
|
+
* Upgrade older documents to OpenAPI 3.1 and preserve documents that are already newer.
|
|
5
6
|
*/
|
|
6
7
|
export declare function upgrade(value: string | UnknownObject | Filesystem): UpgradeResult<OpenApiDocumentV3_1>;
|
|
7
8
|
//# sourceMappingURL=upgrade.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/utils/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/utils/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAO9D;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAoBtG"}
|
package/dist/utils/upgrade.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { upgrade as originalUpgrade } from '@scalar/openapi-upgrader';
|
|
2
|
+
import { details } from './details.js';
|
|
2
3
|
import { getEntrypoint } from './get-entrypoint.js';
|
|
3
4
|
import { isFilesystem } from './is-filesystem.js';
|
|
4
5
|
import { normalize } from './normalize.js';
|
|
5
6
|
/**
|
|
6
|
-
* Upgrade
|
|
7
|
+
* Upgrade older documents to OpenAPI 3.1 and preserve documents that are already newer.
|
|
7
8
|
*/
|
|
8
9
|
export function upgrade(value) {
|
|
9
10
|
if (!value) {
|
|
10
11
|
return {
|
|
11
12
|
specification: null,
|
|
12
|
-
version:
|
|
13
|
+
version: undefined,
|
|
13
14
|
};
|
|
14
15
|
}
|
|
15
16
|
// TODO: Run upgrade over the whole filesystem
|
|
16
17
|
const document = originalUpgrade(isFilesystem(value) ? getEntrypoint(value).specification : normalize(value), '3.1');
|
|
18
|
+
const { version } = details(document);
|
|
17
19
|
return {
|
|
18
20
|
specification: document,
|
|
19
|
-
|
|
20
|
-
version: '3.1',
|
|
21
|
+
version: version === '3.1' || version === '3.2' ? version : undefined,
|
|
21
22
|
};
|
|
22
23
|
}
|
package/dist/utils/validate.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UnknownObject } from '@scalar/types/utils';
|
|
2
|
+
import type { Filesystem, ThrowOnErrorOption, ValidateResult } from '../types/index.js';
|
|
2
3
|
export type ValidateOptions = ThrowOnErrorOption;
|
|
3
4
|
/**
|
|
4
5
|
* Validates an OpenAPI document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/utils/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/utils/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGxD,OAAO,KAAK,EAAe,UAAU,EAAyB,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAMvH,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAqBhD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,EAC1C,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,CAuFzB"}
|
package/dist/utils/validate.js
CHANGED
|
@@ -63,9 +63,7 @@ export function validate(value, options) {
|
|
|
63
63
|
// Path-template semantics run on the resolved document (schema validation
|
|
64
64
|
// stays on the unresolved one to avoid following circular references). This
|
|
65
65
|
// matches the previous validator, which merged reference and semantic errors.
|
|
66
|
-
const semanticErrors = passedSchemaValidation
|
|
67
|
-
? validatePathParameters((schema ?? specification))
|
|
68
|
-
: [];
|
|
66
|
+
const semanticErrors = passedSchemaValidation ? validatePathParameters(schema ?? specification) : [];
|
|
69
67
|
const errors = [...(outcome.errors ?? []), ...referenceErrors, ...semanticErrors];
|
|
70
68
|
const valid = outcome.valid && referenceErrors.length === 0 && semanticErrors.length === 0;
|
|
71
69
|
if (!valid) {
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"parser",
|
|
18
18
|
"typescript"
|
|
19
19
|
],
|
|
20
|
-
"version": "0.29.
|
|
20
|
+
"version": "0.29.2",
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=22"
|
|
23
23
|
},
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"sideEffects": false,
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"yaml": "^2.9.0",
|
|
52
|
-
"@scalar/
|
|
53
|
-
"@scalar/
|
|
54
|
-
"@scalar/openapi-
|
|
55
|
-
"@scalar/
|
|
56
|
-
"@scalar/openapi-
|
|
57
|
-
"@scalar/
|
|
52
|
+
"@scalar/openapi-upgrader": "0.2.16",
|
|
53
|
+
"@scalar/helpers": "0.12.0",
|
|
54
|
+
"@scalar/openapi-types": "0.9.6",
|
|
55
|
+
"@scalar/types": "0.20.0",
|
|
56
|
+
"@scalar/openapi-validator": "0.1.2",
|
|
57
|
+
"@scalar/json-magic": "0.13.5"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@apidevtools/swagger-parser": "10.1.0",
|