@redocly/openapi-core 1.19.0 → 1.20.1
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 +14 -0
- package/__tests__/utils.ts +14 -7
- package/lib/benchmark/benches/lint-with-many-rules.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-many-rules.bench.js +5 -1
- package/lib/benchmark/benches/lint-with-nested-rule.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-nested-rule.bench.js +5 -1
- package/lib/benchmark/benches/lint-with-no-rules.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-no-rules.bench.js +5 -1
- package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.js +17 -13
- package/lib/benchmark/benches/lint-with-top-level-rule.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-top-level-rule.bench.js +16 -12
- package/lib/benchmark/utils.d.ts +3 -3
- package/lib/benchmark/utils.js +3 -3
- package/lib/config/all.js +4 -1
- package/lib/config/builtIn.js +15 -20
- package/lib/config/config-resolvers.d.ts +1 -1
- package/lib/config/config-resolvers.js +67 -28
- package/lib/config/config.d.ts +3 -2
- package/lib/config/load.d.ts +1 -1
- package/lib/config/minimal.js +4 -0
- package/lib/config/recommended-strict.js +5 -1
- package/lib/config/recommended.js +5 -1
- package/lib/config/types.d.ts +9 -2
- package/lib/config/utils.d.ts +3 -1
- package/lib/config/utils.js +8 -0
- package/lib/decorators/common/filters/filter-helper.d.ts +1 -1
- package/lib/decorators/common/filters/filter-in.d.ts +1 -1
- package/lib/decorators/common/filters/filter-out.d.ts +1 -1
- package/lib/decorators/common/info-description-override.d.ts +1 -1
- package/lib/decorators/common/info-override.d.ts +1 -1
- package/lib/decorators/common/media-type-examples-override.d.ts +1 -1
- package/lib/decorators/common/operation-description-override.d.ts +1 -1
- package/lib/decorators/common/registry-dependencies.d.ts +1 -1
- package/lib/decorators/common/remove-x-internal.d.ts +1 -1
- package/lib/decorators/common/tag-description-override.d.ts +1 -1
- package/lib/decorators/oas2/index.d.ts +1 -1
- package/lib/decorators/oas3/index.d.ts +1 -1
- package/lib/format/codeframes.d.ts +1 -1
- package/lib/format/format.d.ts +1 -1
- package/lib/format/format.js +1 -1
- package/lib/js-yaml/index.d.ts +1 -1
- package/lib/lint.d.ts +1 -1
- package/lib/logger.js +2 -2
- package/lib/oas-types.d.ts +2 -2
- package/lib/redocly/domains.d.ts +1 -1
- package/lib/redocly/index.d.ts +1 -1
- package/lib/ref-utils.d.ts +2 -2
- package/lib/ref-utils.js +1 -0
- package/lib/resolve.d.ts +2 -2
- package/lib/rules/ajv.d.ts +1 -1
- package/lib/rules/arazzo/index.js +2 -0
- package/lib/rules/async2/channels-kebab-case.d.ts +1 -1
- package/lib/rules/async2/index.js +2 -0
- package/lib/rules/async2/no-channel-trailing-slash.d.ts +1 -1
- package/lib/rules/async3/channels-kebab-case.d.ts +1 -1
- package/lib/rules/async3/index.js +2 -0
- package/lib/rules/async3/no-channel-trailing-slash.d.ts +1 -1
- package/lib/rules/common/assertions/asserts.d.ts +2 -2
- package/lib/rules/common/assertions/index.d.ts +1 -2
- package/lib/rules/common/assertions/utils.d.ts +1 -1
- package/lib/rules/common/info-contact.d.ts +1 -1
- package/lib/rules/common/info-license-strict.d.ts +2 -0
- package/lib/rules/common/info-license-strict.js +26 -0
- package/lib/rules/common/info-license-url.d.ts +1 -1
- package/lib/rules/common/info-license.d.ts +1 -1
- package/lib/rules/common/no-ambiguous-paths.d.ts +1 -1
- package/lib/rules/common/no-enum-type-mismatch.d.ts +1 -1
- package/lib/rules/common/no-http-verbs-in-paths.d.ts +1 -1
- package/lib/rules/common/no-identical-paths.d.ts +1 -1
- package/lib/rules/common/no-path-trailing-slash.d.ts +1 -1
- package/lib/rules/common/no-required-schema-properties-undefined.d.ts +1 -1
- package/lib/rules/common/operation-2xx-response.d.ts +1 -1
- package/lib/rules/common/operation-4xx-response.d.ts +1 -1
- package/lib/rules/common/operation-description.d.ts +1 -1
- package/lib/rules/common/operation-operationId-unique.d.ts +1 -1
- package/lib/rules/common/operation-operationId-url-safe.d.ts +1 -1
- package/lib/rules/common/operation-operationId-url-safe.js +1 -0
- package/lib/rules/common/operation-operationId.d.ts +1 -1
- package/lib/rules/common/operation-parameters-unique.d.ts +1 -1
- package/lib/rules/common/operation-singular-tag.d.ts +1 -1
- package/lib/rules/common/operation-summary.d.ts +1 -1
- package/lib/rules/common/operation-tag-defined.d.ts +1 -1
- package/lib/rules/common/parameter-description.d.ts +1 -1
- package/lib/rules/common/path-declaration-must-exist.d.ts +1 -1
- package/lib/rules/common/path-excludes-patterns.d.ts +1 -1
- package/lib/rules/common/path-http-verbs-order.d.ts +1 -1
- package/lib/rules/common/path-not-include-query.d.ts +1 -1
- package/lib/rules/common/path-params-defined.d.ts +1 -1
- package/lib/rules/common/path-segment-plural.d.ts +1 -1
- package/lib/rules/common/paths-kebab-case.d.ts +1 -1
- package/lib/rules/common/required-string-property-missing-min-length.d.ts +1 -1
- package/lib/rules/common/response-contains-header.d.ts +1 -1
- package/lib/rules/common/security-defined.d.ts +1 -1
- package/lib/rules/common/spec-strict-refs.d.ts +1 -1
- package/lib/rules/common/tag-description.d.ts +1 -1
- package/lib/rules/common/tags-alphabetical.d.ts +1 -1
- package/lib/rules/no-unresolved-refs.d.ts +3 -3
- package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +1 -1
- package/lib/rules/oas2/index.d.ts +1 -1
- package/lib/rules/oas2/index.js +2 -0
- package/lib/rules/oas2/response-contains-property.d.ts +1 -1
- package/lib/rules/oas3/array-parameter-serialization.d.ts +1 -1
- package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +1 -1
- package/lib/rules/oas3/component-name-unique.d.ts +1 -1
- package/lib/rules/oas3/index.d.ts +1 -1
- package/lib/rules/oas3/index.js +2 -0
- package/lib/rules/oas3/no-empty-servers.d.ts +1 -1
- package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +1 -1
- package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +1 -1
- package/lib/rules/oas3/no-server-example.com.d.ts +1 -1
- package/lib/rules/oas3/no-server-example.com.js +1 -0
- package/lib/rules/oas3/no-server-trailing-slash.d.ts +1 -1
- package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +1 -1
- package/lib/rules/oas3/no-undefined-server-variable.d.ts +1 -1
- package/lib/rules/oas3/no-unused-components.d.ts +1 -1
- package/lib/rules/oas3/response-contains-property.d.ts +1 -1
- package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +1 -1
- package/lib/rules/other/stats.d.ts +3 -3
- package/lib/rules/other/stats.js +5 -3
- package/lib/rules/spot/parameters-no-body-inside-in.d.ts +2 -0
- package/lib/rules/spot/parameters-no-body-inside-in.js +18 -0
- package/lib/rules/utils.d.ts +4 -2
- package/lib/rules/utils.js +27 -1
- package/lib/types/arazzo.d.ts +1 -2275
- package/lib/types/arazzo.js +246 -309
- package/lib/types/asyncapi2.d.ts +1 -1
- package/lib/types/asyncapi2.js +3 -1
- package/lib/types/asyncapi3.d.ts +1 -1
- package/lib/types/json-schema-adapter.d.ts +1 -1
- package/lib/types/oas3.d.ts +4 -0
- package/lib/types/oas3.js +9 -9
- package/lib/types/oas3_1.d.ts +3 -0
- package/lib/types/oas3_1.js +8 -8
- package/lib/types/redocly-yaml.d.ts +6 -6
- package/lib/types/redocly-yaml.js +4 -1
- package/lib/typings/arazzo.d.ts +145 -27
- package/lib/typings/common.d.ts +1 -1
- package/lib/typings/swagger.d.ts +2 -2
- package/lib/visitors.d.ts +18 -1
- package/lib/walk.d.ts +3 -3
- package/package.json +2 -2
- package/src/__tests__/bundle.test.ts +4 -4
- package/src/__tests__/lint.test.ts +29 -21
- package/src/__tests__/walk.test.ts +25 -25
- package/src/benchmark/benches/lint-with-many-rules.bench.ts +7 -1
- package/src/benchmark/benches/lint-with-nested-rule.bench.ts +7 -1
- package/src/benchmark/benches/lint-with-no-rules.bench.ts +8 -1
- package/src/benchmark/benches/lint-with-top-level-rule-report.bench.ts +18 -13
- package/src/benchmark/benches/lint-with-top-level-rule.bench.ts +17 -11
- package/src/benchmark/fork.js +4 -0
- package/src/benchmark/utils.ts +6 -5
- package/src/bundle.ts +2 -1
- package/src/config/__tests__/__snapshots__/config-resolvers.test.ts.snap +10 -2
- package/src/config/__tests__/config-resolvers.test.ts +82 -0
- package/src/config/__tests__/fixtures/resolve-config/local-config-with-commonjs-export-function.yaml +2 -0
- package/src/config/__tests__/fixtures/resolve-config/local-config-with-esm.yaml +2 -0
- package/src/config/__tests__/fixtures/resolve-config/plugin-esm.mjs +10 -0
- package/src/config/__tests__/fixtures/resolve-config/plugin-with-export-function.cjs +10 -0
- package/src/config/__tests__/resolve-plugins.test.ts +4 -1
- package/src/config/all.ts +4 -1
- package/src/config/builtIn.ts +5 -10
- package/src/config/config-resolvers.ts +78 -23
- package/src/config/config.ts +7 -8
- package/src/config/load.ts +2 -2
- package/src/config/minimal.ts +4 -0
- package/src/config/recommended-strict.ts +5 -1
- package/src/config/recommended.ts +5 -1
- package/src/config/types.ts +19 -3
- package/src/config/utils.ts +13 -2
- package/src/decorators/__tests__/filter-in.test.ts +29 -26
- package/src/decorators/__tests__/filter-out.test.ts +32 -23
- package/src/decorators/__tests__/media-type-examples-override.test.ts +45 -45
- package/src/decorators/__tests__/remove-x-internal.test.ts +8 -5
- package/src/decorators/common/filters/filter-helper.ts +2 -1
- package/src/decorators/common/filters/filter-in.ts +2 -1
- package/src/decorators/common/filters/filter-out.ts +2 -1
- package/src/decorators/common/info-description-override.ts +3 -2
- package/src/decorators/common/info-override.ts +1 -1
- package/src/decorators/common/media-type-examples-override.ts +4 -3
- package/src/decorators/common/operation-description-override.ts +5 -4
- package/src/decorators/common/registry-dependencies.ts +2 -2
- package/src/decorators/common/remove-x-internal.ts +3 -2
- package/src/decorators/common/tag-description-override.ts +3 -2
- package/src/decorators/oas2/__tests__/remove-unused-components.test.ts +3 -3
- package/src/decorators/oas2/index.ts +2 -1
- package/src/decorators/oas2/remove-unused-components.ts +1 -1
- package/src/decorators/oas3/__tests__/remove-unused-components.test.ts +4 -4
- package/src/decorators/oas3/index.ts +2 -1
- package/src/decorators/oas3/remove-unused-components.ts +1 -1
- package/src/format/codeframes.ts +2 -1
- package/src/format/format.ts +9 -4
- package/src/js-yaml/index.ts +3 -1
- package/src/lint.ts +2 -1
- package/src/logger.ts +2 -2
- package/src/oas-types.ts +14 -13
- package/src/redocly/domains.ts +1 -1
- package/src/redocly/index.ts +3 -3
- package/src/redocly/registry-api.ts +5 -3
- package/src/ref-utils.ts +4 -2
- package/src/resolve.ts +6 -4
- package/src/rules/__tests__/no-unresolved-refs.test.ts +21 -7
- package/src/rules/ajv.ts +2 -1
- package/src/rules/arazzo/__tests__/parameters-no-body-inside-in.test.ts +76 -0
- package/src/rules/arazzo/index.ts +5 -2
- package/src/rules/async2/__tests__/channels-kebab-case.test.ts +9 -5
- package/src/rules/async2/__tests__/no-channel-trailing-slash.test.ts +3 -3
- package/src/rules/async2/channels-kebab-case.ts +2 -2
- package/src/rules/async2/index.ts +4 -1
- package/src/rules/async2/no-channel-trailing-slash.ts +2 -2
- package/src/rules/async3/__tests__/channels-kebab-case.test.ts +9 -5
- package/src/rules/async3/__tests__/no-channel-trailing-slash.test.ts +3 -3
- package/src/rules/async3/channels-kebab-case.ts +3 -3
- package/src/rules/async3/index.ts +4 -1
- package/src/rules/async3/no-channel-trailing-slash.ts +3 -3
- package/src/rules/common/__tests__/info-license-strict.test.ts +141 -0
- package/src/rules/common/__tests__/info-license.test.ts +2 -2
- package/src/rules/common/__tests__/license-url.test.ts +2 -2
- package/src/rules/common/__tests__/no-ambiguous-paths.test.ts +1 -1
- package/src/rules/common/__tests__/no-enum-type-mismatch.test.ts +5 -5
- package/src/rules/common/__tests__/no-identical-paths.test.ts +1 -1
- package/src/rules/common/__tests__/no-invalid-parameter-examples.test.ts +1 -1
- package/src/rules/common/__tests__/no-invalid-schema-examples.test.ts +1 -1
- package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +4 -4
- package/src/rules/common/__tests__/no-required-schema-properties-undefined.test.ts +11 -11
- package/src/rules/common/__tests__/operation-2xx-response.test.ts +8 -6
- package/src/rules/common/__tests__/operation-4xx-response.test.ts +9 -7
- package/src/rules/common/__tests__/operation-operationId-unique.test.ts +2 -2
- package/src/rules/common/__tests__/operation-operationId-url-safe.test.ts +1 -1
- package/src/rules/common/__tests__/operation-parameters-unique.test.ts +4 -4
- package/src/rules/common/__tests__/operation-singular-tag.test.ts +2 -2
- package/src/rules/common/__tests__/path-http-verbs-order.test.ts +2 -2
- package/src/rules/common/__tests__/path-not-include-query.test.ts +2 -2
- package/src/rules/common/__tests__/path-params-defined.test.ts +5 -5
- package/src/rules/common/__tests__/paths-kebab-case.test.ts +6 -4
- package/src/rules/common/__tests__/scalar-property-missing-example.test.ts +8 -8
- package/src/rules/common/__tests__/security-defined.test.ts +14 -8
- package/src/rules/common/__tests__/spec-strict-refs.test.ts +1 -1
- package/src/rules/common/__tests__/spec.test.ts +10 -10
- package/src/rules/common/__tests__/tag-description.test.ts +2 -2
- package/src/rules/common/__tests__/tags-alphabetical.test.ts +6 -4
- package/src/rules/common/assertions/asserts.ts +5 -9
- package/src/rules/common/assertions/index.ts +1 -2
- package/src/rules/common/assertions/utils.ts +4 -2
- package/src/rules/common/info-contact.ts +2 -1
- package/src/rules/common/info-license-strict.ts +24 -0
- package/src/rules/common/info-license-url.ts +2 -1
- package/src/rules/common/info-license.ts +2 -1
- package/src/rules/common/no-ambiguous-paths.ts +4 -4
- package/src/rules/common/no-enum-type-mismatch.ts +5 -4
- package/src/rules/common/no-http-verbs-in-paths.ts +5 -4
- package/src/rules/common/no-identical-paths.ts +4 -4
- package/src/rules/common/no-invalid-parameter-examples.ts +3 -2
- package/src/rules/common/no-path-trailing-slash.ts +2 -2
- package/src/rules/common/no-required-schema-properties-undefined.ts +5 -4
- package/src/rules/common/operation-2xx-response.ts +3 -2
- package/src/rules/common/operation-4xx-response.ts +3 -2
- package/src/rules/common/operation-description.ts +5 -4
- package/src/rules/common/operation-operationId-unique.ts +4 -4
- package/src/rules/common/operation-operationId-url-safe.ts +5 -4
- package/src/rules/common/operation-operationId.ts +5 -4
- package/src/rules/common/operation-parameters-unique.ts +4 -4
- package/src/rules/common/operation-singular-tag.ts +4 -4
- package/src/rules/common/operation-summary.ts +5 -4
- package/src/rules/common/operation-tag-defined.ts +4 -4
- package/src/rules/common/parameter-description.ts +4 -4
- package/src/rules/common/path-declaration-must-exist.ts +2 -2
- package/src/rules/common/path-excludes-patterns.ts +4 -4
- package/src/rules/common/path-http-verbs-order.ts +4 -4
- package/src/rules/common/path-not-include-query.ts +2 -2
- package/src/rules/common/path-params-defined.ts +4 -4
- package/src/rules/common/path-segment-plural.ts +3 -2
- package/src/rules/common/paths-kebab-case.ts +2 -2
- package/src/rules/common/required-string-property-missing-min-length.ts +4 -4
- package/src/rules/common/response-contains-header.ts +5 -4
- package/src/rules/common/scalar-property-missing-example.ts +2 -1
- package/src/rules/common/security-defined.ts +5 -5
- package/src/rules/common/spec-strict-refs.ts +2 -1
- package/src/rules/common/spec.ts +3 -2
- package/src/rules/common/tag-description.ts +2 -1
- package/src/rules/common/tags-alphabetical.ts +4 -4
- package/src/rules/no-unresolved-refs.ts +4 -3
- package/src/rules/oas2/__tests__/boolean-parameter-prefixes.test.ts +7 -5
- package/src/rules/oas2/__tests__/response-contains-header.test.ts +14 -8
- package/src/rules/oas2/__tests__/response-contains-property.test.ts +14 -8
- package/src/rules/oas2/__tests__/spec/referenceableScalars.test.ts +3 -1
- package/src/rules/oas2/boolean-parameter-prefixes.ts +1 -1
- package/src/rules/oas2/index.ts +4 -2
- package/src/rules/oas2/request-mime-type.ts +2 -1
- package/src/rules/oas2/response-contains-property.ts +3 -2
- package/src/rules/oas2/response-mime-type.ts +2 -1
- package/src/rules/oas3/__tests__/array-parameter-serialization.test.ts +18 -6
- package/src/rules/oas3/__tests__/boolean-parameter-prefixes.test.ts +7 -5
- package/src/rules/oas3/__tests__/no-empty-enum-servers.com.test.ts +6 -6
- package/src/rules/oas3/__tests__/no-example-value-and-externalValue.test.ts +2 -2
- package/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +34 -24
- package/src/rules/oas3/__tests__/no-server-example.com.test.ts +3 -3
- package/src/rules/oas3/__tests__/no-server-trailing-slash.test.ts +3 -3
- package/src/rules/oas3/__tests__/no-unused-components.test.ts +1 -1
- package/src/rules/oas3/__tests__/operation-4xx-problem-details-rfc7807.test.ts +3 -3
- package/src/rules/oas3/__tests__/response-contains-header.test.ts +34 -22
- package/src/rules/oas3/__tests__/response-contains-property.test.ts +34 -20
- package/src/rules/oas3/__tests__/spec/spec.test.ts +12 -3
- package/src/rules/oas3/__tests__/spec-components-invalid-map-name.test.ts +9 -3
- package/src/rules/oas3/__tests__/utils/lint-document-for-test.ts +1 -1
- package/src/rules/oas3/array-parameter-serialization.ts +3 -2
- package/src/rules/oas3/boolean-parameter-prefixes.ts +1 -1
- package/src/rules/oas3/component-name-unique.ts +3 -3
- package/src/rules/oas3/index.ts +3 -1
- package/src/rules/oas3/no-empty-servers.ts +1 -1
- package/src/rules/oas3/no-example-value-and-externalValue.ts +1 -1
- package/src/rules/oas3/no-invalid-media-type-examples.ts +6 -4
- package/src/rules/oas3/no-server-example.com.ts +2 -1
- package/src/rules/oas3/no-server-trailing-slash.ts +1 -1
- package/src/rules/oas3/no-server-variables-empty-enum.ts +2 -2
- package/src/rules/oas3/no-undefined-server-variable.ts +1 -1
- package/src/rules/oas3/no-unused-components.ts +2 -2
- package/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts +2 -1
- package/src/rules/oas3/request-mime-type.ts +2 -1
- package/src/rules/oas3/response-contains-property.ts +3 -2
- package/src/rules/oas3/response-mime-type.ts +2 -1
- package/src/rules/oas3/spec-components-invalid-map-name.ts +3 -3
- package/src/rules/other/stats.ts +8 -6
- package/src/rules/spot/parameters-no-body-inside-in.ts +17 -0
- package/src/rules/utils.ts +41 -4
- package/src/types/arazzo.ts +257 -334
- package/src/types/asyncapi2.ts +4 -1
- package/src/types/asyncapi3.ts +3 -1
- package/src/types/json-schema-adapter.ts +2 -2
- package/src/types/oas3.ts +4 -4
- package/src/types/oas3_1.ts +3 -3
- package/src/types/redocly-yaml.ts +7 -4
- package/src/typings/arazzo.ts +169 -41
- package/src/typings/common.ts +1 -0
- package/src/typings/swagger.ts +2 -2
- package/src/visitors.ts +40 -1
- package/src/walk.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -52,7 +52,10 @@ describe('oas3 filter-out', () => {
|
|
|
52
52
|
const { bundle: res } = await bundleDocument({
|
|
53
53
|
document: testDocument,
|
|
54
54
|
externalRefResolver: new BaseResolver(),
|
|
55
|
-
config: await makeConfig({
|
|
55
|
+
config: await makeConfig({
|
|
56
|
+
rules: {},
|
|
57
|
+
decorators: { 'filter-out': { property: 'x-access', value: 'private' } },
|
|
58
|
+
}),
|
|
56
59
|
});
|
|
57
60
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
58
61
|
openapi: 3.0.0
|
|
@@ -68,16 +71,16 @@ describe('oas3 filter-out', () => {
|
|
|
68
71
|
const { bundle: res } = await bundleDocument({
|
|
69
72
|
document: inputDoc,
|
|
70
73
|
externalRefResolver: new BaseResolver(),
|
|
71
|
-
config: await makeConfig(
|
|
72
|
-
{},
|
|
73
|
-
{
|
|
74
|
+
config: await makeConfig({
|
|
75
|
+
rules: {},
|
|
76
|
+
decorators: {
|
|
74
77
|
'filter-out': {
|
|
75
78
|
property: 'x-audience',
|
|
76
79
|
value: ['Private', 'Protected'],
|
|
77
80
|
matchStrategy: 'all',
|
|
78
81
|
},
|
|
79
|
-
}
|
|
80
|
-
),
|
|
82
|
+
},
|
|
83
|
+
}),
|
|
81
84
|
});
|
|
82
85
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
83
86
|
openapi: 3.0.0
|
|
@@ -99,16 +102,16 @@ describe('oas3 filter-out', () => {
|
|
|
99
102
|
const { bundle: res } = await bundleDocument({
|
|
100
103
|
document: inputDoc,
|
|
101
104
|
externalRefResolver: new BaseResolver(),
|
|
102
|
-
config: await makeConfig(
|
|
103
|
-
{},
|
|
104
|
-
{
|
|
105
|
+
config: await makeConfig({
|
|
106
|
+
rules: {},
|
|
107
|
+
decorators: {
|
|
105
108
|
'filter-out': {
|
|
106
109
|
property: 'x-audience',
|
|
107
110
|
value: ['Private', 'Protected'],
|
|
108
111
|
matchStrategy: 'any',
|
|
109
112
|
},
|
|
110
|
-
}
|
|
111
|
-
),
|
|
113
|
+
},
|
|
114
|
+
}),
|
|
112
115
|
});
|
|
113
116
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
114
117
|
openapi: 3.0.0
|
|
@@ -138,16 +141,16 @@ describe('oas3 filter-out', () => {
|
|
|
138
141
|
const { bundle: res } = await bundleDocument({
|
|
139
142
|
document: testDoc,
|
|
140
143
|
externalRefResolver: new BaseResolver(),
|
|
141
|
-
config: await makeConfig(
|
|
142
|
-
{},
|
|
143
|
-
{
|
|
144
|
+
config: await makeConfig({
|
|
145
|
+
rules: {},
|
|
146
|
+
decorators: {
|
|
144
147
|
'filter-out': {
|
|
145
148
|
property: 'x-access',
|
|
146
149
|
value: 'private',
|
|
147
150
|
matchStrategy: 'any',
|
|
148
151
|
},
|
|
149
|
-
}
|
|
150
|
-
),
|
|
152
|
+
},
|
|
153
|
+
}),
|
|
151
154
|
});
|
|
152
155
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
153
156
|
openapi: 3.0.0
|
|
@@ -192,7 +195,10 @@ describe('oas3 filter-out', () => {
|
|
|
192
195
|
const { bundle: res } = await bundleDocument({
|
|
193
196
|
document: testDocument,
|
|
194
197
|
externalRefResolver: new BaseResolver(),
|
|
195
|
-
config: await makeConfig({
|
|
198
|
+
config: await makeConfig({
|
|
199
|
+
rules: {},
|
|
200
|
+
decorators: { 'filter-out': { property: 'x-prop', value: false } },
|
|
201
|
+
}),
|
|
196
202
|
});
|
|
197
203
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
198
204
|
openapi: 3.0.0
|
|
@@ -244,7 +250,10 @@ describe('oas3 filter-out', () => {
|
|
|
244
250
|
const { bundle: res } = await bundleDocument({
|
|
245
251
|
document: testDocument,
|
|
246
252
|
externalRefResolver: new BaseResolver(),
|
|
247
|
-
config: await makeConfig({
|
|
253
|
+
config: await makeConfig({
|
|
254
|
+
rules: {},
|
|
255
|
+
decorators: { 'filter-out': { property: 'x-prop', value: null } },
|
|
256
|
+
}),
|
|
248
257
|
});
|
|
249
258
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
250
259
|
openapi: 3.0.0
|
|
@@ -305,16 +314,16 @@ describe('oas2 filter-out', () => {
|
|
|
305
314
|
const { bundle: res } = await bundleDocument({
|
|
306
315
|
document: testDoc,
|
|
307
316
|
externalRefResolver: new BaseResolver(),
|
|
308
|
-
config: await makeConfig(
|
|
309
|
-
{},
|
|
310
|
-
{
|
|
317
|
+
config: await makeConfig({
|
|
318
|
+
rules: {},
|
|
319
|
+
decorators: {
|
|
311
320
|
'filter-out': {
|
|
312
321
|
property: 'x-access',
|
|
313
322
|
value: ['private', 'protected'],
|
|
314
323
|
matchStrategy: 'any',
|
|
315
324
|
},
|
|
316
|
-
}
|
|
317
|
-
),
|
|
325
|
+
},
|
|
326
|
+
}),
|
|
318
327
|
});
|
|
319
328
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
320
329
|
swagger: '2.0'
|
|
@@ -28,9 +28,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
28
28
|
const { bundle: res } = await bundleDocument({
|
|
29
29
|
document: testDocument,
|
|
30
30
|
externalRefResolver: new BaseResolver(),
|
|
31
|
-
config: await makeConfig(
|
|
32
|
-
{},
|
|
33
|
-
{
|
|
31
|
+
config: await makeConfig({
|
|
32
|
+
rules: {},
|
|
33
|
+
decorators: {
|
|
34
34
|
'media-type-examples-override': {
|
|
35
35
|
operationIds: {
|
|
36
36
|
getUserById: {
|
|
@@ -43,8 +43,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
43
43
|
},
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
|
-
}
|
|
47
|
-
),
|
|
46
|
+
},
|
|
47
|
+
}),
|
|
48
48
|
});
|
|
49
49
|
|
|
50
50
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -88,9 +88,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
88
88
|
const { bundle: res } = await bundleDocument({
|
|
89
89
|
document: testDocument,
|
|
90
90
|
externalRefResolver: new BaseResolver(),
|
|
91
|
-
config: await makeConfig(
|
|
92
|
-
{},
|
|
93
|
-
{
|
|
91
|
+
config: await makeConfig({
|
|
92
|
+
rules: {},
|
|
93
|
+
decorators: {
|
|
94
94
|
'media-type-examples-override': {
|
|
95
95
|
operationIds: {
|
|
96
96
|
getUserById: {
|
|
@@ -101,8 +101,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
101
101
|
},
|
|
102
102
|
},
|
|
103
103
|
},
|
|
104
|
-
}
|
|
105
|
-
),
|
|
104
|
+
},
|
|
105
|
+
}),
|
|
106
106
|
});
|
|
107
107
|
|
|
108
108
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -153,9 +153,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
153
153
|
const { bundle: res } = await bundleDocument({
|
|
154
154
|
document: testDocument,
|
|
155
155
|
externalRefResolver: new BaseResolver(),
|
|
156
|
-
config: await makeConfig(
|
|
157
|
-
{},
|
|
158
|
-
{
|
|
156
|
+
config: await makeConfig({
|
|
157
|
+
rules: {},
|
|
158
|
+
decorators: {
|
|
159
159
|
'media-type-examples-override': {
|
|
160
160
|
operationIds: {
|
|
161
161
|
getUserById: {
|
|
@@ -176,8 +176,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
176
176
|
},
|
|
177
177
|
},
|
|
178
178
|
},
|
|
179
|
-
}
|
|
180
|
-
),
|
|
179
|
+
},
|
|
180
|
+
}),
|
|
181
181
|
});
|
|
182
182
|
|
|
183
183
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -245,9 +245,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
245
245
|
const { bundle: res } = await bundleDocument({
|
|
246
246
|
document: testDocument,
|
|
247
247
|
externalRefResolver: new BaseResolver(),
|
|
248
|
-
config: await makeConfig(
|
|
249
|
-
{},
|
|
250
|
-
{
|
|
248
|
+
config: await makeConfig({
|
|
249
|
+
rules: {},
|
|
250
|
+
decorators: {
|
|
251
251
|
'media-type-examples-override': {
|
|
252
252
|
operationIds: {
|
|
253
253
|
getUserById: {
|
|
@@ -264,8 +264,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
264
264
|
},
|
|
265
265
|
},
|
|
266
266
|
},
|
|
267
|
-
}
|
|
268
|
-
),
|
|
267
|
+
},
|
|
268
|
+
}),
|
|
269
269
|
});
|
|
270
270
|
|
|
271
271
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -345,9 +345,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
345
345
|
const { bundle: res } = await bundleDocument({
|
|
346
346
|
document: testDocument,
|
|
347
347
|
externalRefResolver: new BaseResolver(),
|
|
348
|
-
config: await makeConfig(
|
|
349
|
-
{},
|
|
350
|
-
{
|
|
348
|
+
config: await makeConfig({
|
|
349
|
+
rules: {},
|
|
350
|
+
decorators: {
|
|
351
351
|
'media-type-examples-override': {
|
|
352
352
|
operationIds: {
|
|
353
353
|
getUserById: {
|
|
@@ -364,8 +364,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
364
364
|
},
|
|
365
365
|
},
|
|
366
366
|
},
|
|
367
|
-
}
|
|
368
|
-
),
|
|
367
|
+
},
|
|
368
|
+
}),
|
|
369
369
|
});
|
|
370
370
|
|
|
371
371
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -417,9 +417,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
417
417
|
const { bundle: res } = await bundleDocument({
|
|
418
418
|
document: testDocument,
|
|
419
419
|
externalRefResolver: new BaseResolver(),
|
|
420
|
-
config: await makeConfig(
|
|
421
|
-
{},
|
|
422
|
-
{
|
|
420
|
+
config: await makeConfig({
|
|
421
|
+
rules: {},
|
|
422
|
+
decorators: {
|
|
423
423
|
'media-type-examples-override': {
|
|
424
424
|
operationIds: {
|
|
425
425
|
getUserById: {
|
|
@@ -436,8 +436,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
436
436
|
},
|
|
437
437
|
},
|
|
438
438
|
},
|
|
439
|
-
}
|
|
440
|
-
),
|
|
439
|
+
},
|
|
440
|
+
}),
|
|
441
441
|
});
|
|
442
442
|
|
|
443
443
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -489,9 +489,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
489
489
|
const { bundle: res } = await bundleDocument({
|
|
490
490
|
document: testDocument,
|
|
491
491
|
externalRefResolver: new BaseResolver(),
|
|
492
|
-
config: await makeConfig(
|
|
493
|
-
{},
|
|
494
|
-
{
|
|
492
|
+
config: await makeConfig({
|
|
493
|
+
rules: {},
|
|
494
|
+
decorators: {
|
|
495
495
|
'media-type-examples-override': {
|
|
496
496
|
operationIds: {
|
|
497
497
|
getUserById: {
|
|
@@ -504,8 +504,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
504
504
|
},
|
|
505
505
|
},
|
|
506
506
|
},
|
|
507
|
-
}
|
|
508
|
-
),
|
|
507
|
+
},
|
|
508
|
+
}),
|
|
509
509
|
});
|
|
510
510
|
|
|
511
511
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -550,9 +550,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
550
550
|
const { bundle: res } = await bundleDocument({
|
|
551
551
|
document: testDocument,
|
|
552
552
|
externalRefResolver: new BaseResolver(),
|
|
553
|
-
config: await makeConfig(
|
|
554
|
-
{},
|
|
555
|
-
{
|
|
553
|
+
config: await makeConfig({
|
|
554
|
+
rules: {},
|
|
555
|
+
decorators: {
|
|
556
556
|
'media-type-examples-override': {
|
|
557
557
|
operationIds: {
|
|
558
558
|
getUserById: {
|
|
@@ -565,8 +565,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
565
565
|
},
|
|
566
566
|
},
|
|
567
567
|
},
|
|
568
|
-
}
|
|
569
|
-
),
|
|
568
|
+
},
|
|
569
|
+
}),
|
|
570
570
|
});
|
|
571
571
|
|
|
572
572
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -618,9 +618,9 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
618
618
|
const { bundle: res } = await bundleDocument({
|
|
619
619
|
document: testDocument,
|
|
620
620
|
externalRefResolver: new BaseResolver(),
|
|
621
|
-
config: await makeConfig(
|
|
622
|
-
{},
|
|
623
|
-
{
|
|
621
|
+
config: await makeConfig({
|
|
622
|
+
rules: {},
|
|
623
|
+
decorators: {
|
|
624
624
|
'media-type-examples-override': {
|
|
625
625
|
operationIds: {
|
|
626
626
|
getUserById: {
|
|
@@ -633,8 +633,8 @@ describe('oas3 media-type-examples-override', () => {
|
|
|
633
633
|
},
|
|
634
634
|
},
|
|
635
635
|
},
|
|
636
|
-
}
|
|
637
|
-
),
|
|
636
|
+
},
|
|
637
|
+
}),
|
|
638
638
|
});
|
|
639
639
|
|
|
640
640
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -25,7 +25,10 @@ describe('oas3 remove-x-internal', () => {
|
|
|
25
25
|
const { bundle: res } = await bundleDocument({
|
|
26
26
|
document: testDocument,
|
|
27
27
|
externalRefResolver: new BaseResolver(),
|
|
28
|
-
config: await makeConfig({
|
|
28
|
+
config: await makeConfig({
|
|
29
|
+
rules: {},
|
|
30
|
+
decorators: { 'remove-x-internal': { internalFlagProperty: 'removeit' } },
|
|
31
|
+
}),
|
|
29
32
|
});
|
|
30
33
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
31
34
|
openapi: 3.0.0
|
|
@@ -92,7 +95,7 @@ describe('oas3 remove-x-internal', () => {
|
|
|
92
95
|
const { bundle: res } = await bundleDocument({
|
|
93
96
|
document: testDoc,
|
|
94
97
|
externalRefResolver: new BaseResolver(),
|
|
95
|
-
config: await makeConfig({}, { 'remove-x-internal': 'on' }),
|
|
98
|
+
config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
|
|
96
99
|
});
|
|
97
100
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
98
101
|
openapi: 3.1.0
|
|
@@ -165,7 +168,7 @@ describe('oas3 remove-x-internal', () => {
|
|
|
165
168
|
const { bundle: res } = await bundleDocument({
|
|
166
169
|
document: testDoc,
|
|
167
170
|
externalRefResolver: new BaseResolver(),
|
|
168
|
-
config: await makeConfig({}, { 'remove-x-internal': 'on' }),
|
|
171
|
+
config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
|
|
169
172
|
});
|
|
170
173
|
|
|
171
174
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
@@ -239,7 +242,7 @@ describe('oas3 remove-x-internal', () => {
|
|
|
239
242
|
const { bundle: res } = await bundleDocument({
|
|
240
243
|
document: testDoc,
|
|
241
244
|
externalRefResolver: new BaseResolver(),
|
|
242
|
-
config: await makeConfig({}, { 'remove-x-internal': 'on' }),
|
|
245
|
+
config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
|
|
243
246
|
});
|
|
244
247
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
245
248
|
openapi: 3.0.1
|
|
@@ -302,7 +305,7 @@ describe('oas2 remove-x-internal', () => {
|
|
|
302
305
|
const { bundle: res } = await bundleDocument({
|
|
303
306
|
document: testDoc,
|
|
304
307
|
externalRefResolver: new BaseResolver(),
|
|
305
|
-
config: await makeConfig({}, { 'remove-x-internal': 'on' }),
|
|
308
|
+
config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
|
|
306
309
|
});
|
|
307
310
|
expect(res.parsed).toMatchInlineSnapshot(`
|
|
308
311
|
swagger: '2.0'
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { UserContext } from '../../../walk';
|
|
2
1
|
import { isRef } from '../../../ref-utils';
|
|
3
2
|
import { isEmptyArray, isEmptyObject, isPlainObject } from '../../../utils';
|
|
4
3
|
|
|
4
|
+
import type { UserContext } from '../../../walk';
|
|
5
|
+
|
|
5
6
|
export function filter(node: any, ctx: UserContext, criteria: (item: any) => boolean) {
|
|
6
7
|
const { parent, key } = ctx;
|
|
7
8
|
let didDelete = false;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Oas2Decorator, Oas3Decorator } from '../../../visitors';
|
|
2
1
|
import { checkIfMatchByStrategy, filter } from './filter-helper';
|
|
3
2
|
|
|
3
|
+
import type { Oas2Decorator, Oas3Decorator } from '../../../visitors';
|
|
4
|
+
|
|
4
5
|
const DEFAULT_STRATEGY = 'any';
|
|
5
6
|
|
|
6
7
|
export const FilterIn: Oas3Decorator | Oas2Decorator = ({ property, value, matchStrategy }) => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Oas2Decorator, Oas3Decorator } from '../../../visitors';
|
|
2
1
|
import { checkIfMatchByStrategy, filter } from './filter-helper';
|
|
3
2
|
|
|
3
|
+
import type { Oas2Decorator, Oas3Decorator } from '../../../visitors';
|
|
4
|
+
|
|
4
5
|
const DEFAULT_STRATEGY = 'any';
|
|
5
6
|
|
|
6
7
|
export const FilterOut: Oas3Decorator | Oas2Decorator = ({ property, value, matchStrategy }) => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
2
1
|
import { readFileAsStringSync } from '../../utils';
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
4
|
+
import type { UserContext } from '../../walk';
|
|
4
5
|
|
|
5
6
|
export const InfoDescriptionOverride: Oas3Decorator | Oas2Decorator = ({ filePath }) => {
|
|
6
7
|
return {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Oas3Decorator } from '../../visitors';
|
|
2
|
-
import { Oas3Operation, Oas3RequestBody, Oas3Response } from '../../typings/openapi';
|
|
3
1
|
import { yamlAndJsonSyncReader } from '../../utils';
|
|
4
2
|
import { isRef } from '../../ref-utils';
|
|
5
|
-
|
|
3
|
+
|
|
4
|
+
import type { Oas3Decorator } from '../../visitors';
|
|
5
|
+
import type { Oas3Operation, Oas3RequestBody, Oas3Response } from '../../typings/openapi';
|
|
6
|
+
import type { NonUndefined, ResolveFn, UserContext } from '../../walk';
|
|
6
7
|
|
|
7
8
|
export const MediaTypeExamplesOverride: Oas3Decorator = ({ operationIds }) => {
|
|
8
9
|
return {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
2
|
-
import { Oas2Operation } from '../../typings/swagger';
|
|
3
|
-
import { Oas3Operation } from '../../typings/openapi';
|
|
4
1
|
import { readFileAsStringSync } from '../../utils';
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
4
|
+
import type { Oas2Operation } from '../../typings/swagger';
|
|
5
|
+
import type { Oas3Operation } from '../../typings/openapi';
|
|
6
|
+
import type { UserContext } from '../../walk';
|
|
6
7
|
|
|
7
8
|
export const OperationDescriptionOverride: Oas3Decorator | Oas2Decorator = ({ operationIds }) => {
|
|
8
9
|
return {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { UserContext } from '../../walk';
|
|
2
1
|
import { isRedoclyRegistryURL } from '../../redocly/domains';
|
|
3
2
|
|
|
4
|
-
import {
|
|
3
|
+
import type { UserContext } from '../../walk';
|
|
4
|
+
import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
5
5
|
|
|
6
6
|
export const RegistryDependencies: Oas3Decorator | Oas2Decorator = () => {
|
|
7
7
|
const registryDependencies = new Set<string>();
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
2
1
|
import { isEmptyArray, isEmptyObject, isPlainObject } from '../../utils';
|
|
3
|
-
import { UserContext } from '../../walk';
|
|
4
2
|
import { isRef } from '../../ref-utils';
|
|
5
3
|
|
|
4
|
+
import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
5
|
+
import type { UserContext } from '../../walk';
|
|
6
|
+
|
|
6
7
|
const DEFAULT_INTERNAL_PROPERTY_NAME = 'x-internal';
|
|
7
8
|
|
|
8
9
|
export const RemoveXInternal: Oas3Decorator | Oas2Decorator = ({ internalFlagProperty }) => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
2
1
|
import { readFileAsStringSync } from '../../utils';
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
4
|
+
import type { UserContext } from '../../walk';
|
|
4
5
|
|
|
5
6
|
export const TagDescriptionOverride: Oas3Decorator | Oas2Decorator = ({ tagNames }) => {
|
|
6
7
|
return {
|
|
@@ -38,7 +38,7 @@ describe('oas2 remove-unused-components', () => {
|
|
|
38
38
|
const results = await bundleDocument({
|
|
39
39
|
externalRefResolver: new BaseResolver(),
|
|
40
40
|
document,
|
|
41
|
-
config: await makeConfig({}),
|
|
41
|
+
config: await makeConfig({ rules: {} }),
|
|
42
42
|
removeUnusedComponents: true,
|
|
43
43
|
});
|
|
44
44
|
|
|
@@ -111,7 +111,7 @@ describe('oas2 remove-unused-components', () => {
|
|
|
111
111
|
const results = await bundleDocument({
|
|
112
112
|
externalRefResolver: new BaseResolver(),
|
|
113
113
|
document,
|
|
114
|
-
config: await makeConfig({}),
|
|
114
|
+
config: await makeConfig({ rules: {} }),
|
|
115
115
|
removeUnusedComponents: true,
|
|
116
116
|
});
|
|
117
117
|
|
|
@@ -192,7 +192,7 @@ describe('oas2 remove-unused-components', () => {
|
|
|
192
192
|
const results = await bundleDocument({
|
|
193
193
|
externalRefResolver: new BaseResolver(),
|
|
194
194
|
document,
|
|
195
|
-
config: await makeConfig({}),
|
|
195
|
+
config: await makeConfig({ rules: {} }),
|
|
196
196
|
removeUnusedComponents: true,
|
|
197
197
|
});
|
|
198
198
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Oas2Decorator } from '../../visitors';
|
|
2
1
|
import { RegistryDependencies } from '../common/registry-dependencies';
|
|
3
2
|
import { OperationDescriptionOverride } from '../common/operation-description-override';
|
|
4
3
|
import { TagDescriptionOverride } from '../common/tag-description-override';
|
|
@@ -8,6 +7,8 @@ import { RemoveXInternal } from '../common/remove-x-internal';
|
|
|
8
7
|
import { FilterIn } from '../common/filters/filter-in';
|
|
9
8
|
import { FilterOut } from '../common/filters/filter-out';
|
|
10
9
|
|
|
10
|
+
import type { Oas2Decorator } from '../../visitors';
|
|
11
|
+
|
|
11
12
|
export const decorators = {
|
|
12
13
|
'registry-dependencies': RegistryDependencies as Oas2Decorator,
|
|
13
14
|
'operation-description-override': OperationDescriptionOverride as Oas2Decorator,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Location } from '../../ref-utils';
|
|
2
1
|
import { isEmptyObject } from '../../utils';
|
|
3
2
|
|
|
3
|
+
import type { Location } from '../../ref-utils';
|
|
4
4
|
import type { Oas2Decorator } from '../../visitors';
|
|
5
5
|
import type { Oas2Components, Oas2Definition } from '../../typings/swagger';
|
|
6
6
|
|
|
@@ -42,7 +42,7 @@ describe('oas3 remove-unused-components', () => {
|
|
|
42
42
|
const results = await bundleDocument({
|
|
43
43
|
externalRefResolver: new BaseResolver(),
|
|
44
44
|
document,
|
|
45
|
-
config: await makeConfig({}),
|
|
45
|
+
config: await makeConfig({ rules: {} }),
|
|
46
46
|
removeUnusedComponents: true,
|
|
47
47
|
});
|
|
48
48
|
|
|
@@ -121,7 +121,7 @@ describe('oas3 remove-unused-components', () => {
|
|
|
121
121
|
const results = await bundleDocument({
|
|
122
122
|
externalRefResolver: new BaseResolver(),
|
|
123
123
|
document,
|
|
124
|
-
config: await makeConfig({}),
|
|
124
|
+
config: await makeConfig({ rules: {} }),
|
|
125
125
|
removeUnusedComponents: true,
|
|
126
126
|
});
|
|
127
127
|
|
|
@@ -204,7 +204,7 @@ describe('oas3 remove-unused-components', () => {
|
|
|
204
204
|
const results = await bundleDocument({
|
|
205
205
|
externalRefResolver: new BaseResolver(),
|
|
206
206
|
document,
|
|
207
|
-
config: await makeConfig({}),
|
|
207
|
+
config: await makeConfig({ rules: {} }),
|
|
208
208
|
removeUnusedComponents: true,
|
|
209
209
|
});
|
|
210
210
|
|
|
@@ -270,7 +270,7 @@ describe('oas3 remove-unused-components', () => {
|
|
|
270
270
|
const results = await bundleDocument({
|
|
271
271
|
externalRefResolver: new BaseResolver(),
|
|
272
272
|
document,
|
|
273
|
-
config: await makeConfig({}),
|
|
273
|
+
config: await makeConfig({ rules: {} }),
|
|
274
274
|
removeUnusedComponents: true,
|
|
275
275
|
});
|
|
276
276
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Oas3Decorator } from '../../visitors';
|
|
2
1
|
import { RegistryDependencies } from '../common/registry-dependencies';
|
|
3
2
|
import { OperationDescriptionOverride } from '../common/operation-description-override';
|
|
4
3
|
import { TagDescriptionOverride } from '../common/tag-description-override';
|
|
@@ -9,6 +8,8 @@ import { FilterIn } from '../common/filters/filter-in';
|
|
|
9
8
|
import { FilterOut } from '../common/filters/filter-out';
|
|
10
9
|
import { MediaTypeExamplesOverride } from '../common/media-type-examples-override';
|
|
11
10
|
|
|
11
|
+
import type { Oas3Decorator } from '../../visitors';
|
|
12
|
+
|
|
12
13
|
export const decorators = {
|
|
13
14
|
'registry-dependencies': RegistryDependencies as Oas3Decorator,
|
|
14
15
|
'operation-description-override': OperationDescriptionOverride as Oas3Decorator,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Location } from '../../ref-utils';
|
|
2
1
|
import { isEmptyObject } from '../../utils';
|
|
3
2
|
|
|
3
|
+
import type { Location } from '../../ref-utils';
|
|
4
4
|
import type { Oas3Decorator } from '../../visitors';
|
|
5
5
|
import type { Oas3Components, Oas3Definition } from '../../typings/openapi';
|
|
6
6
|
|
package/src/format/codeframes.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as yamlAst from 'yaml-ast-parser';
|
|
2
2
|
import { unescapePointer } from '../ref-utils';
|
|
3
|
-
import { LineColLocationObject, Loc, LocationObject } from '../walk';
|
|
4
3
|
import { colorize, colorOptions } from '../logger';
|
|
5
4
|
|
|
5
|
+
import type { LineColLocationObject, Loc, LocationObject } from '../walk';
|
|
6
|
+
|
|
6
7
|
type YAMLMapping = yamlAst.YAMLMapping & { kind: yamlAst.Kind.MAPPING };
|
|
7
8
|
type YAMLMap = yamlAst.YamlMap & { kind: yamlAst.Kind.MAP };
|
|
8
9
|
type YAMLAnchorReference = yamlAst.YAMLAnchorReference & { kind: yamlAst.Kind.ANCHOR_REF };
|
package/src/format/format.ts
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import { colorOptions, colorize, logger } from '../logger';
|
|
3
3
|
import { output } from '../output';
|
|
4
|
-
|
|
5
|
-
const coreVersion = require('../../package.json').version;
|
|
6
|
-
|
|
7
|
-
import { NormalizedProblem, ProblemSeverity, LineColLocationObject, LocationObject } from '../walk';
|
|
8
4
|
import { getCodeframe, getLineColLocation } from './codeframes';
|
|
9
5
|
import { env, isBrowser } from '../env';
|
|
10
6
|
import { isAbsoluteUrl } from '../ref-utils';
|
|
11
7
|
|
|
8
|
+
import type {
|
|
9
|
+
NormalizedProblem,
|
|
10
|
+
ProblemSeverity,
|
|
11
|
+
LineColLocationObject,
|
|
12
|
+
LocationObject,
|
|
13
|
+
} from '../walk';
|
|
14
|
+
|
|
15
|
+
const coreVersion = require('../../package.json').version;
|
|
16
|
+
|
|
12
17
|
export type Totals = {
|
|
13
18
|
errors: number;
|
|
14
19
|
warnings: number;
|
package/src/js-yaml/index.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// TODO: add a type for "types" https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/js-yaml/index.d.ts
|
|
2
2
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
3
|
// @ts-ignore
|
|
4
|
-
import { JSON_SCHEMA, types,
|
|
4
|
+
import { JSON_SCHEMA, types, load, dump } from 'js-yaml';
|
|
5
|
+
|
|
6
|
+
import type { LoadOptions, DumpOptions } from 'js-yaml';
|
|
5
7
|
|
|
6
8
|
const DEFAULT_SCHEMA_WITHOUT_TIMESTAMP = JSON_SCHEMA.extend({
|
|
7
9
|
implicit: [types.merge],
|