@depup/redocly__openapi-core 2.22.1-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/changes.json +14 -0
- package/lib/bundle/bundle-document.d.ts +33 -0
- package/lib/bundle/bundle-document.d.ts.map +1 -0
- package/lib/bundle/bundle-document.js +85 -0
- package/lib/bundle/bundle-document.js.map +1 -0
- package/lib/bundle/bundle-oas.d.ts +15 -0
- package/lib/bundle/bundle-oas.d.ts.map +1 -0
- package/lib/bundle/bundle-oas.js +55 -0
- package/lib/bundle/bundle-oas.js.map +1 -0
- package/lib/bundle/bundle-visitor.d.ts +15 -0
- package/lib/bundle/bundle-visitor.d.ts.map +1 -0
- package/lib/bundle/bundle-visitor.js +257 -0
- package/lib/bundle/bundle-visitor.js.map +1 -0
- package/lib/bundle/bundle.d.ts +26 -0
- package/lib/bundle/bundle.d.ts.map +1 -0
- package/lib/bundle/bundle.js +74 -0
- package/lib/bundle/bundle.js.map +1 -0
- package/lib/config/all.d.ts +4 -0
- package/lib/config/all.d.ts.map +1 -0
- package/lib/config/all.js +310 -0
- package/lib/config/all.js.map +1 -0
- package/lib/config/builtIn.d.ts +4 -0
- package/lib/config/builtIn.d.ts.map +1 -0
- package/lib/config/builtIn.js +58 -0
- package/lib/config/builtIn.js.map +1 -0
- package/lib/config/bundle-extends.d.ts +8 -0
- package/lib/config/bundle-extends.d.ts.map +1 -0
- package/lib/config/bundle-extends.js +27 -0
- package/lib/config/bundle-extends.js.map +1 -0
- package/lib/config/config-resolvers.d.ts +23 -0
- package/lib/config/config-resolvers.d.ts.map +1 -0
- package/lib/config/config-resolvers.js +335 -0
- package/lib/config/config-resolvers.js.map +1 -0
- package/lib/config/config.d.ts +47 -0
- package/lib/config/config.d.ts.map +1 -0
- package/lib/config/config.js +338 -0
- package/lib/config/config.js.map +1 -0
- package/lib/config/constants.d.ts +10 -0
- package/lib/config/constants.d.ts.map +1 -0
- package/lib/config/constants.js +13 -0
- package/lib/config/constants.js.map +1 -0
- package/lib/config/get-resolve-config.d.ts +3 -0
- package/lib/config/get-resolve-config.d.ts.map +1 -0
- package/lib/config/get-resolve-config.js +9 -0
- package/lib/config/get-resolve-config.js.map +1 -0
- package/lib/config/group-assertion-rules.d.ts +3 -0
- package/lib/config/group-assertion-rules.d.ts.map +1 -0
- package/lib/config/group-assertion-rules.js +51 -0
- package/lib/config/group-assertion-rules.js.map +1 -0
- package/lib/config/index.d.ts +8 -0
- package/lib/config/index.d.ts.map +1 -0
- package/lib/config/index.js +8 -0
- package/lib/config/index.js.map +1 -0
- package/lib/config/load.d.ts +19 -0
- package/lib/config/load.d.ts.map +1 -0
- package/lib/config/load.js +98 -0
- package/lib/config/load.js.map +1 -0
- package/lib/config/minimal.d.ts +4 -0
- package/lib/config/minimal.d.ts.map +1 -0
- package/lib/config/minimal.js +289 -0
- package/lib/config/minimal.js.map +1 -0
- package/lib/config/recommended-strict.d.ts +4 -0
- package/lib/config/recommended-strict.d.ts.map +1 -0
- package/lib/config/recommended-strict.js +289 -0
- package/lib/config/recommended-strict.js.map +1 -0
- package/lib/config/recommended.d.ts +4 -0
- package/lib/config/recommended.d.ts.map +1 -0
- package/lib/config/recommended.js +289 -0
- package/lib/config/recommended.js.map +1 -0
- package/lib/config/rules.d.ts +11 -0
- package/lib/config/rules.d.ts.map +1 -0
- package/lib/config/rules.js +35 -0
- package/lib/config/rules.js.map +1 -0
- package/lib/config/spec.d.ts +4 -0
- package/lib/config/spec.d.ts.map +1 -0
- package/lib/config/spec.js +289 -0
- package/lib/config/spec.js.map +1 -0
- package/lib/config/types.d.ts +158 -0
- package/lib/config/types.d.ts.map +1 -0
- package/lib/config/types.js +2 -0
- package/lib/config/types.js.map +1 -0
- package/lib/config/utils.d.ts +14 -0
- package/lib/config/utils.d.ts.map +1 -0
- package/lib/config/utils.js +129 -0
- package/lib/config/utils.js.map +1 -0
- package/lib/config/visitors.d.ts +50 -0
- package/lib/config/visitors.d.ts.map +1 -0
- package/lib/config/visitors.js +99 -0
- package/lib/config/visitors.js.map +1 -0
- package/lib/decorators/arazzo/index.d.ts +2 -0
- package/lib/decorators/arazzo/index.d.ts.map +1 -0
- package/lib/decorators/arazzo/index.js +2 -0
- package/lib/decorators/arazzo/index.js.map +1 -0
- package/lib/decorators/async2/index.d.ts +2 -0
- package/lib/decorators/async2/index.d.ts.map +1 -0
- package/lib/decorators/async2/index.js +2 -0
- package/lib/decorators/async2/index.js.map +1 -0
- package/lib/decorators/async3/index.d.ts +2 -0
- package/lib/decorators/async3/index.d.ts.map +1 -0
- package/lib/decorators/async3/index.js +2 -0
- package/lib/decorators/async3/index.js.map +1 -0
- package/lib/decorators/common/filters/filter-helper.d.ts +4 -0
- package/lib/decorators/common/filters/filter-helper.d.ts.map +1 -0
- package/lib/decorators/common/filters/filter-helper.js +65 -0
- package/lib/decorators/common/filters/filter-helper.js.map +1 -0
- package/lib/decorators/common/filters/filter-in.d.ts +3 -0
- package/lib/decorators/common/filters/filter-in.d.ts.map +1 -0
- package/lib/decorators/common/filters/filter-in.js +67 -0
- package/lib/decorators/common/filters/filter-in.js.map +1 -0
- package/lib/decorators/common/filters/filter-out.d.ts +3 -0
- package/lib/decorators/common/filters/filter-out.d.ts.map +1 -0
- package/lib/decorators/common/filters/filter-out.js +67 -0
- package/lib/decorators/common/filters/filter-out.js.map +1 -0
- package/lib/decorators/common/info-description-override.d.ts +3 -0
- package/lib/decorators/common/info-description-override.d.ts.map +1 -0
- package/lib/decorators/common/info-description-override.js +21 -0
- package/lib/decorators/common/info-description-override.js.map +1 -0
- package/lib/decorators/common/info-override.d.ts +3 -0
- package/lib/decorators/common/info-override.d.ts.map +1 -0
- package/lib/decorators/common/info-override.js +14 -0
- package/lib/decorators/common/info-override.js.map +1 -0
- package/lib/decorators/common/media-type-examples-override.d.ts +3 -0
- package/lib/decorators/common/media-type-examples-override.d.ts.map +1 -0
- package/lib/decorators/common/media-type-examples-override.js +58 -0
- package/lib/decorators/common/media-type-examples-override.js.map +1 -0
- package/lib/decorators/common/operation-description-override.d.ts +3 -0
- package/lib/decorators/common/operation-description-override.d.ts.map +1 -0
- package/lib/decorators/common/operation-description-override.js +27 -0
- package/lib/decorators/common/operation-description-override.js.map +1 -0
- package/lib/decorators/common/remove-x-internal.d.ts +3 -0
- package/lib/decorators/common/remove-x-internal.d.ts.map +1 -0
- package/lib/decorators/common/remove-x-internal.js +68 -0
- package/lib/decorators/common/remove-x-internal.js.map +1 -0
- package/lib/decorators/common/tag-description-override.d.ts +3 -0
- package/lib/decorators/common/tag-description-override.d.ts.map +1 -0
- package/lib/decorators/common/tag-description-override.js +23 -0
- package/lib/decorators/common/tag-description-override.js.map +1 -0
- package/lib/decorators/oas2/index.d.ts +12 -0
- package/lib/decorators/oas2/index.d.ts.map +1 -0
- package/lib/decorators/oas2/index.js +19 -0
- package/lib/decorators/oas2/index.js.map +1 -0
- package/lib/decorators/oas2/remove-unused-components.d.ts +3 -0
- package/lib/decorators/oas2/remove-unused-components.d.ts.map +1 -0
- package/lib/decorators/oas2/remove-unused-components.js +88 -0
- package/lib/decorators/oas2/remove-unused-components.js.map +1 -0
- package/lib/decorators/oas3/index.d.ts +13 -0
- package/lib/decorators/oas3/index.d.ts.map +1 -0
- package/lib/decorators/oas3/index.js +21 -0
- package/lib/decorators/oas3/index.js.map +1 -0
- package/lib/decorators/oas3/remove-unused-components.d.ts +3 -0
- package/lib/decorators/oas3/remove-unused-components.d.ts.map +1 -0
- package/lib/decorators/oas3/remove-unused-components.js +116 -0
- package/lib/decorators/oas3/remove-unused-components.js.map +1 -0
- package/lib/decorators/openrpc/index.d.ts +2 -0
- package/lib/decorators/openrpc/index.d.ts.map +1 -0
- package/lib/decorators/openrpc/index.js +2 -0
- package/lib/decorators/openrpc/index.js.map +1 -0
- package/lib/decorators/overlay1/index.d.ts +2 -0
- package/lib/decorators/overlay1/index.d.ts.map +1 -0
- package/lib/decorators/overlay1/index.js +2 -0
- package/lib/decorators/overlay1/index.js.map +1 -0
- package/lib/detect-spec.d.ts +5 -0
- package/lib/detect-spec.d.ts.map +1 -0
- package/lib/detect-spec.js +79 -0
- package/lib/detect-spec.js.map +1 -0
- package/lib/env.d.ts +3 -0
- package/lib/env.d.ts.map +1 -0
- package/lib/env.js +5 -0
- package/lib/env.js.map +1 -0
- package/lib/errors/yaml-parse-error.d.ts +9 -0
- package/lib/errors/yaml-parse-error.d.ts.map +1 -0
- package/lib/errors/yaml-parse-error.js +14 -0
- package/lib/errors/yaml-parse-error.js.map +1 -0
- package/lib/format/codeframes.d.ts +23 -0
- package/lib/format/codeframes.d.ts.map +1 -0
- package/lib/format/codeframes.js +177 -0
- package/lib/format/codeframes.js.map +1 -0
- package/lib/format/format.d.ts +23 -0
- package/lib/format/format.d.ts.map +1 -0
- package/lib/format/format.js +365 -0
- package/lib/format/format.js.map +1 -0
- package/lib/index.d.ts +58 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +49 -0
- package/lib/index.js.map +1 -0
- package/lib/js-yaml/index.d.ts +4 -0
- package/lib/js-yaml/index.d.ts.map +1 -0
- package/lib/js-yaml/index.js +11 -0
- package/lib/js-yaml/index.js.map +1 -0
- package/lib/lint-entity.d.ts +24 -0
- package/lib/lint-entity.d.ts.map +1 -0
- package/lib/lint-entity.js +171 -0
- package/lib/lint-entity.js.map +1 -0
- package/lib/lint.d.ts +31 -0
- package/lib/lint.d.ts.map +1 -0
- package/lib/lint.js +123 -0
- package/lib/lint.js.map +1 -0
- package/lib/logger.d.ts +26 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +56 -0
- package/lib/logger.js.map +1 -0
- package/lib/oas-types.d.ts +877 -0
- package/lib/oas-types.d.ts.map +1 -0
- package/lib/oas-types.js +35 -0
- package/lib/oas-types.js.map +1 -0
- package/lib/ref-utils.d.ts +32 -0
- package/lib/ref-utils.d.ts.map +1 -0
- package/lib/ref-utils.js +109 -0
- package/lib/ref-utils.js.map +1 -0
- package/lib/resolve.d.ts +57 -0
- package/lib/resolve.d.ts.map +1 -0
- package/lib/resolve.js +326 -0
- package/lib/resolve.js.map +1 -0
- package/lib/rules/ajv.d.ts +20 -0
- package/lib/rules/ajv.d.ts.map +1 -0
- package/lib/rules/ajv.js +106 -0
- package/lib/rules/ajv.js.map +1 -0
- package/lib/rules/arazzo/criteria-unique.d.ts +3 -0
- package/lib/rules/arazzo/criteria-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/criteria-unique.js +68 -0
- package/lib/rules/arazzo/criteria-unique.js.map +1 -0
- package/lib/rules/arazzo/index.d.ts +4 -0
- package/lib/rules/arazzo/index.d.ts.map +1 -0
- package/lib/rules/arazzo/index.js +52 -0
- package/lib/rules/arazzo/index.js.map +1 -0
- package/lib/rules/arazzo/outputs-defined.d.ts +3 -0
- package/lib/rules/arazzo/outputs-defined.d.ts.map +1 -0
- package/lib/rules/arazzo/outputs-defined.js +139 -0
- package/lib/rules/arazzo/outputs-defined.js.map +1 -0
- package/lib/rules/arazzo/parameters-unique.d.ts +3 -0
- package/lib/rules/arazzo/parameters-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/parameters-unique.js +27 -0
- package/lib/rules/arazzo/parameters-unique.js.map +1 -0
- package/lib/rules/arazzo/requestBody-replacements-unique.d.ts +3 -0
- package/lib/rules/arazzo/requestBody-replacements-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/requestBody-replacements-unique.js +30 -0
- package/lib/rules/arazzo/requestBody-replacements-unique.js.map +1 -0
- package/lib/rules/arazzo/sourceDescription-type.d.ts +3 -0
- package/lib/rules/arazzo/sourceDescription-type.d.ts.map +1 -0
- package/lib/rules/arazzo/sourceDescription-type.js +19 -0
- package/lib/rules/arazzo/sourceDescription-type.js.map +1 -0
- package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts +3 -0
- package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/sourceDescriptions-name-unique.js +21 -0
- package/lib/rules/arazzo/sourceDescriptions-name-unique.js.map +1 -0
- package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts +3 -0
- package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts.map +1 -0
- package/lib/rules/arazzo/sourceDescriptions-not-empty.js +15 -0
- package/lib/rules/arazzo/sourceDescriptions-not-empty.js.map +1 -0
- package/lib/rules/arazzo/step-onFailure-unique.d.ts +3 -0
- package/lib/rules/arazzo/step-onFailure-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/step-onFailure-unique.js +27 -0
- package/lib/rules/arazzo/step-onFailure-unique.js.map +1 -0
- package/lib/rules/arazzo/step-onSuccess-unique.d.ts +3 -0
- package/lib/rules/arazzo/step-onSuccess-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/step-onSuccess-unique.js +27 -0
- package/lib/rules/arazzo/step-onSuccess-unique.js.map +1 -0
- package/lib/rules/arazzo/stepId-unique.d.ts +3 -0
- package/lib/rules/arazzo/stepId-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/stepId-unique.js +23 -0
- package/lib/rules/arazzo/stepId-unique.js.map +1 -0
- package/lib/rules/arazzo/workflow-dependsOn.d.ts +3 -0
- package/lib/rules/arazzo/workflow-dependsOn.d.ts.map +1 -0
- package/lib/rules/arazzo/workflow-dependsOn.js +53 -0
- package/lib/rules/arazzo/workflow-dependsOn.js.map +1 -0
- package/lib/rules/arazzo/workflowId-unique.d.ts +3 -0
- package/lib/rules/arazzo/workflowId-unique.d.ts.map +1 -0
- package/lib/rules/arazzo/workflowId-unique.js +19 -0
- package/lib/rules/arazzo/workflowId-unique.js.map +1 -0
- package/lib/rules/async2/channels-kebab-case.d.ts +3 -0
- package/lib/rules/async2/channels-kebab-case.d.ts.map +1 -0
- package/lib/rules/async2/channels-kebab-case.js +16 -0
- package/lib/rules/async2/channels-kebab-case.js.map +1 -0
- package/lib/rules/async2/index.d.ts +4 -0
- package/lib/rules/async2/index.d.ts.map +1 -0
- package/lib/rules/async2/index.js +32 -0
- package/lib/rules/async2/index.js.map +1 -0
- package/lib/rules/async2/no-channel-trailing-slash.d.ts +3 -0
- package/lib/rules/async2/no-channel-trailing-slash.d.ts.map +1 -0
- package/lib/rules/async2/no-channel-trailing-slash.js +13 -0
- package/lib/rules/async2/no-channel-trailing-slash.js.map +1 -0
- package/lib/rules/async3/channels-kebab-case.d.ts +3 -0
- package/lib/rules/async3/channels-kebab-case.d.ts.map +1 -0
- package/lib/rules/async3/channels-kebab-case.js +16 -0
- package/lib/rules/async3/channels-kebab-case.js.map +1 -0
- package/lib/rules/async3/index.d.ts +4 -0
- package/lib/rules/async3/index.d.ts.map +1 -0
- package/lib/rules/async3/index.js +32 -0
- package/lib/rules/async3/index.js.map +1 -0
- package/lib/rules/async3/no-channel-trailing-slash.d.ts +3 -0
- package/lib/rules/async3/no-channel-trailing-slash.d.ts.map +1 -0
- package/lib/rules/async3/no-channel-trailing-slash.js +13 -0
- package/lib/rules/async3/no-channel-trailing-slash.js.map +1 -0
- package/lib/rules/catalog-entity/entity-key-valid.d.ts +3 -0
- package/lib/rules/catalog-entity/entity-key-valid.d.ts.map +1 -0
- package/lib/rules/catalog-entity/entity-key-valid.js +39 -0
- package/lib/rules/catalog-entity/entity-key-valid.js.map +1 -0
- package/lib/rules/common/assertions/asserts.d.ts +30 -0
- package/lib/rules/common/assertions/asserts.d.ts.map +1 -0
- package/lib/rules/common/assertions/asserts.js +272 -0
- package/lib/rules/common/assertions/asserts.js.map +1 -0
- package/lib/rules/common/assertions/index.d.ts +28 -0
- package/lib/rules/common/assertions/index.d.ts.map +1 -0
- package/lib/rules/common/assertions/index.js +22 -0
- package/lib/rules/common/assertions/index.js.map +1 -0
- package/lib/rules/common/assertions/utils.d.ts +21 -0
- package/lib/rules/common/assertions/utils.d.ts.map +1 -0
- package/lib/rules/common/assertions/utils.js +215 -0
- package/lib/rules/common/assertions/utils.js.map +1 -0
- package/lib/rules/common/info-contact.d.ts +3 -0
- package/lib/rules/common/info-contact.d.ts.map +1 -0
- package/lib/rules/common/info-contact.js +14 -0
- package/lib/rules/common/info-contact.js.map +1 -0
- package/lib/rules/common/info-license-strict.d.ts +3 -0
- package/lib/rules/common/info-license-strict.d.ts.map +1 -0
- package/lib/rules/common/info-license-strict.js +23 -0
- package/lib/rules/common/info-license-strict.js.map +1 -0
- package/lib/rules/common/info-license.d.ts +3 -0
- package/lib/rules/common/info-license.d.ts.map +1 -0
- package/lib/rules/common/info-license.js +14 -0
- package/lib/rules/common/info-license.js.map +1 -0
- package/lib/rules/common/no-ambiguous-paths.d.ts +3 -0
- package/lib/rules/common/no-ambiguous-paths.d.ts.map +1 -0
- package/lib/rules/common/no-ambiguous-paths.js +42 -0
- package/lib/rules/common/no-ambiguous-paths.js.map +1 -0
- package/lib/rules/common/no-duplicated-tag-names.d.ts +3 -0
- package/lib/rules/common/no-duplicated-tag-names.d.ts.map +1 -0
- package/lib/rules/common/no-duplicated-tag-names.js +21 -0
- package/lib/rules/common/no-duplicated-tag-names.js.map +1 -0
- package/lib/rules/common/no-enum-type-mismatch.d.ts +3 -0
- package/lib/rules/common/no-enum-type-mismatch.d.ts.map +1 -0
- package/lib/rules/common/no-enum-type-mismatch.js +38 -0
- package/lib/rules/common/no-enum-type-mismatch.js.map +1 -0
- package/lib/rules/common/no-http-verbs-in-paths.d.ts +3 -0
- package/lib/rules/common/no-http-verbs-in-paths.d.ts.map +1 -0
- package/lib/rules/common/no-http-verbs-in-paths.js +31 -0
- package/lib/rules/common/no-http-verbs-in-paths.js.map +1 -0
- package/lib/rules/common/no-identical-paths.d.ts +3 -0
- package/lib/rules/common/no-identical-paths.d.ts.map +1 -0
- package/lib/rules/common/no-identical-paths.js +21 -0
- package/lib/rules/common/no-identical-paths.js.map +1 -0
- package/lib/rules/common/no-invalid-parameter-examples.d.ts +2 -0
- package/lib/rules/common/no-invalid-parameter-examples.d.ts.map +1 -0
- package/lib/rules/common/no-invalid-parameter-examples.js +32 -0
- package/lib/rules/common/no-invalid-parameter-examples.js.map +1 -0
- package/lib/rules/common/no-invalid-schema-examples.d.ts +3 -0
- package/lib/rules/common/no-invalid-schema-examples.d.ts.map +1 -0
- package/lib/rules/common/no-invalid-schema-examples.js +34 -0
- package/lib/rules/common/no-invalid-schema-examples.js.map +1 -0
- package/lib/rules/common/no-path-trailing-slash.d.ts +3 -0
- package/lib/rules/common/no-path-trailing-slash.d.ts.map +1 -0
- package/lib/rules/common/no-path-trailing-slash.js +13 -0
- package/lib/rules/common/no-path-trailing-slash.js.map +1 -0
- package/lib/rules/common/no-required-schema-properties-undefined.d.ts +3 -0
- package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +1 -0
- package/lib/rules/common/no-required-schema-properties-undefined.js +78 -0
- package/lib/rules/common/no-required-schema-properties-undefined.js.map +1 -0
- package/lib/rules/common/no-schema-type-mismatch.d.ts +3 -0
- package/lib/rules/common/no-schema-type-mismatch.d.ts.map +1 -0
- package/lib/rules/common/no-schema-type-mismatch.js +19 -0
- package/lib/rules/common/no-schema-type-mismatch.js.map +1 -0
- package/lib/rules/common/no-unresolved-refs.d.ts +6 -0
- package/lib/rules/common/no-unresolved-refs.d.ts.map +1 -0
- package/lib/rules/common/no-unresolved-refs.js +42 -0
- package/lib/rules/common/no-unresolved-refs.js.map +1 -0
- package/lib/rules/common/operation-2xx-response.d.ts +3 -0
- package/lib/rules/common/operation-2xx-response.d.ts.map +1 -0
- package/lib/rules/common/operation-2xx-response.js +20 -0
- package/lib/rules/common/operation-2xx-response.js.map +1 -0
- package/lib/rules/common/operation-4xx-response.d.ts +3 -0
- package/lib/rules/common/operation-4xx-response.d.ts.map +1 -0
- package/lib/rules/common/operation-4xx-response.js +20 -0
- package/lib/rules/common/operation-4xx-response.js.map +1 -0
- package/lib/rules/common/operation-description.d.ts +3 -0
- package/lib/rules/common/operation-description.d.ts.map +1 -0
- package/lib/rules/common/operation-description.js +9 -0
- package/lib/rules/common/operation-description.js.map +1 -0
- package/lib/rules/common/operation-operationId-unique.d.ts +3 -0
- package/lib/rules/common/operation-operationId-unique.d.ts.map +1 -0
- package/lib/rules/common/operation-operationId-unique.js +17 -0
- package/lib/rules/common/operation-operationId-unique.js.map +1 -0
- package/lib/rules/common/operation-operationId-url-safe.d.ts +3 -0
- package/lib/rules/common/operation-operationId-url-safe.d.ts.map +1 -0
- package/lib/rules/common/operation-operationId-url-safe.js +15 -0
- package/lib/rules/common/operation-operationId-url-safe.js.map +1 -0
- package/lib/rules/common/operation-operationId.d.ts +3 -0
- package/lib/rules/common/operation-operationId.d.ts.map +1 -0
- package/lib/rules/common/operation-operationId.js +13 -0
- package/lib/rules/common/operation-operationId.js.map +1 -0
- package/lib/rules/common/operation-parameters-unique.d.ts +3 -0
- package/lib/rules/common/operation-parameters-unique.d.ts.map +1 -0
- package/lib/rules/common/operation-parameters-unique.js +37 -0
- package/lib/rules/common/operation-parameters-unique.js.map +1 -0
- package/lib/rules/common/operation-singular-tag.d.ts +3 -0
- package/lib/rules/common/operation-singular-tag.d.ts.map +1 -0
- package/lib/rules/common/operation-singular-tag.js +13 -0
- package/lib/rules/common/operation-singular-tag.js.map +1 -0
- package/lib/rules/common/operation-summary.d.ts +3 -0
- package/lib/rules/common/operation-summary.d.ts.map +1 -0
- package/lib/rules/common/operation-summary.js +9 -0
- package/lib/rules/common/operation-summary.js.map +1 -0
- package/lib/rules/common/operation-tag-defined.d.ts +3 -0
- package/lib/rules/common/operation-tag-defined.d.ts.map +1 -0
- package/lib/rules/common/operation-tag-defined.js +27 -0
- package/lib/rules/common/operation-tag-defined.js.map +1 -0
- package/lib/rules/common/parameter-description.d.ts +3 -0
- package/lib/rules/common/parameter-description.d.ts.map +1 -0
- package/lib/rules/common/parameter-description.js +19 -0
- package/lib/rules/common/parameter-description.js.map +1 -0
- package/lib/rules/common/path-declaration-must-exist.d.ts +3 -0
- package/lib/rules/common/path-declaration-must-exist.d.ts.map +1 -0
- package/lib/rules/common/path-declaration-must-exist.js +13 -0
- package/lib/rules/common/path-declaration-must-exist.js.map +1 -0
- package/lib/rules/common/path-http-verbs-order.d.ts +3 -0
- package/lib/rules/common/path-http-verbs-order.d.ts.map +1 -0
- package/lib/rules/common/path-http-verbs-order.js +23 -0
- package/lib/rules/common/path-http-verbs-order.js.map +1 -0
- package/lib/rules/common/path-not-include-query.d.ts +3 -0
- package/lib/rules/common/path-not-include-query.d.ts.map +1 -0
- package/lib/rules/common/path-not-include-query.js +15 -0
- package/lib/rules/common/path-not-include-query.js.map +1 -0
- package/lib/rules/common/path-params-defined.d.ts +3 -0
- package/lib/rules/common/path-params-defined.d.ts.map +1 -0
- package/lib/rules/common/path-params-defined.js +145 -0
- package/lib/rules/common/path-params-defined.js.map +1 -0
- package/lib/rules/common/path-segment-plural.d.ts +3 -0
- package/lib/rules/common/path-segment-plural.d.ts.map +1 -0
- package/lib/rules/common/path-segment-plural.js +30 -0
- package/lib/rules/common/path-segment-plural.js.map +1 -0
- package/lib/rules/common/paths-kebab-case.d.ts +3 -0
- package/lib/rules/common/paths-kebab-case.d.ts.map +1 -0
- package/lib/rules/common/paths-kebab-case.js +17 -0
- package/lib/rules/common/paths-kebab-case.js.map +1 -0
- package/lib/rules/common/required-string-property-missing-min-length.d.ts +3 -0
- package/lib/rules/common/required-string-property-missing-min-length.d.ts.map +1 -0
- package/lib/rules/common/required-string-property-missing-min-length.js +34 -0
- package/lib/rules/common/required-string-property-missing-min-length.js.map +1 -0
- package/lib/rules/common/response-contains-header.d.ts +3 -0
- package/lib/rules/common/response-contains-header.d.ts.map +1 -0
- package/lib/rules/common/response-contains-header.js +26 -0
- package/lib/rules/common/response-contains-header.js.map +1 -0
- package/lib/rules/common/scalar-property-missing-example.d.ts +3 -0
- package/lib/rules/common/scalar-property-missing-example.d.ts.map +1 -0
- package/lib/rules/common/scalar-property-missing-example.js +39 -0
- package/lib/rules/common/scalar-property-missing-example.js.map +1 -0
- package/lib/rules/common/security-defined.d.ts +3 -0
- package/lib/rules/common/security-defined.d.ts.map +1 -0
- package/lib/rules/common/security-defined.js +62 -0
- package/lib/rules/common/security-defined.js.map +1 -0
- package/lib/rules/common/spec-strict-refs.d.ts +3 -0
- package/lib/rules/common/spec-strict-refs.d.ts.map +1 -0
- package/lib/rules/common/spec-strict-refs.js +27 -0
- package/lib/rules/common/spec-strict-refs.js.map +1 -0
- package/lib/rules/common/struct.d.ts +3 -0
- package/lib/rules/common/struct.d.ts.map +1 -0
- package/lib/rules/common/struct.js +150 -0
- package/lib/rules/common/struct.js.map +1 -0
- package/lib/rules/common/tag-description.d.ts +3 -0
- package/lib/rules/common/tag-description.d.ts.map +1 -0
- package/lib/rules/common/tag-description.js +9 -0
- package/lib/rules/common/tag-description.js.map +1 -0
- package/lib/rules/common/tags-alphabetical.d.ts +3 -0
- package/lib/rules/common/tags-alphabetical.d.ts.map +1 -0
- package/lib/rules/common/tags-alphabetical.js +18 -0
- package/lib/rules/common/tags-alphabetical.js.map +1 -0
- package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +6 -0
- package/lib/rules/oas2/boolean-parameter-prefixes.d.ts.map +1 -0
- package/lib/rules/oas2/boolean-parameter-prefixes.js +19 -0
- package/lib/rules/oas2/boolean-parameter-prefixes.js.map +1 -0
- package/lib/rules/oas2/index.d.ts +4 -0
- package/lib/rules/oas2/index.d.ts.map +1 -0
- package/lib/rules/oas2/index.js +93 -0
- package/lib/rules/oas2/index.js.map +1 -0
- package/lib/rules/oas2/request-mime-type.d.ts +3 -0
- package/lib/rules/oas2/request-mime-type.d.ts.map +1 -0
- package/lib/rules/oas2/request-mime-type.js +14 -0
- package/lib/rules/oas2/request-mime-type.js.map +1 -0
- package/lib/rules/oas2/response-contains-property.d.ts +3 -0
- package/lib/rules/oas2/response-contains-property.d.ts.map +1 -0
- package/lib/rules/oas2/response-contains-property.js +34 -0
- package/lib/rules/oas2/response-contains-property.js.map +1 -0
- package/lib/rules/oas2/response-mime-type.d.ts +3 -0
- package/lib/rules/oas2/response-mime-type.d.ts.map +1 -0
- package/lib/rules/oas2/response-mime-type.js +14 -0
- package/lib/rules/oas2/response-mime-type.js.map +1 -0
- package/lib/rules/oas3/array-parameter-serialization.d.ts +6 -0
- package/lib/rules/oas3/array-parameter-serialization.d.ts.map +1 -0
- package/lib/rules/oas3/array-parameter-serialization.js +26 -0
- package/lib/rules/oas3/array-parameter-serialization.js.map +1 -0
- package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +6 -0
- package/lib/rules/oas3/boolean-parameter-prefixes.d.ts.map +1 -0
- package/lib/rules/oas3/boolean-parameter-prefixes.js +21 -0
- package/lib/rules/oas3/boolean-parameter-prefixes.js.map +1 -0
- package/lib/rules/oas3/component-name-unique.d.ts +3 -0
- package/lib/rules/oas3/component-name-unique.d.ts.map +1 -0
- package/lib/rules/oas3/component-name-unique.js +130 -0
- package/lib/rules/oas3/component-name-unique.js.map +1 -0
- package/lib/rules/oas3/index.d.ts +4 -0
- package/lib/rules/oas3/index.d.ts.map +1 -0
- package/lib/rules/oas3/index.js +129 -0
- package/lib/rules/oas3/index.js.map +1 -0
- package/lib/rules/oas3/no-empty-servers.d.ts +3 -0
- package/lib/rules/oas3/no-empty-servers.d.ts.map +1 -0
- package/lib/rules/oas3/no-empty-servers.js +20 -0
- package/lib/rules/oas3/no-empty-servers.js.map +1 -0
- package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +3 -0
- package/lib/rules/oas3/no-example-value-and-externalValue.d.ts.map +1 -0
- package/lib/rules/oas3/no-example-value-and-externalValue.js +13 -0
- package/lib/rules/oas3/no-example-value-and-externalValue.js.map +1 -0
- package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +3 -0
- package/lib/rules/oas3/no-invalid-media-type-examples.d.ts.map +1 -0
- package/lib/rules/oas3/no-invalid-media-type-examples.js +59 -0
- package/lib/rules/oas3/no-invalid-media-type-examples.js.map +1 -0
- package/lib/rules/oas3/no-server-example.com.d.ts +3 -0
- package/lib/rules/oas3/no-server-example.com.d.ts.map +1 -0
- package/lib/rules/oas3/no-server-example.com.js +15 -0
- package/lib/rules/oas3/no-server-example.com.js.map +1 -0
- package/lib/rules/oas3/no-server-trailing-slash.d.ts +3 -0
- package/lib/rules/oas3/no-server-trailing-slash.d.ts.map +1 -0
- package/lib/rules/oas3/no-server-trailing-slash.js +15 -0
- package/lib/rules/oas3/no-server-trailing-slash.js.map +1 -0
- package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +3 -0
- package/lib/rules/oas3/no-server-variables-empty-enum.d.ts.map +1 -0
- package/lib/rules/oas3/no-server-variables-empty-enum.js +58 -0
- package/lib/rules/oas3/no-server-variables-empty-enum.js.map +1 -0
- package/lib/rules/oas3/no-undefined-server-variable.d.ts +3 -0
- package/lib/rules/oas3/no-undefined-server-variable.d.ts.map +1 -0
- package/lib/rules/oas3/no-undefined-server-variable.js +28 -0
- package/lib/rules/oas3/no-undefined-server-variable.js.map +1 -0
- package/lib/rules/oas3/no-unused-components.d.ts +3 -0
- package/lib/rules/oas3/no-unused-components.d.ts.map +1 -0
- package/lib/rules/oas3/no-unused-components.js +83 -0
- package/lib/rules/oas3/no-unused-components.js.map +1 -0
- package/lib/rules/oas3/nullable-type-sibling.d.ts +3 -0
- package/lib/rules/oas3/nullable-type-sibling.d.ts.map +1 -0
- package/lib/rules/oas3/nullable-type-sibling.js +15 -0
- package/lib/rules/oas3/nullable-type-sibling.js.map +1 -0
- package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts +6 -0
- package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts.map +1 -0
- package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +33 -0
- package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js.map +1 -0
- package/lib/rules/oas3/request-mime-type.d.ts +3 -0
- package/lib/rules/oas3/request-mime-type.d.ts.map +1 -0
- package/lib/rules/oas3/request-mime-type.js +28 -0
- package/lib/rules/oas3/request-mime-type.js.map +1 -0
- package/lib/rules/oas3/response-contains-property.d.ts +3 -0
- package/lib/rules/oas3/response-contains-property.d.ts.map +1 -0
- package/lib/rules/oas3/response-contains-property.js +36 -0
- package/lib/rules/oas3/response-contains-property.js.map +1 -0
- package/lib/rules/oas3/response-mime-type.d.ts +3 -0
- package/lib/rules/oas3/response-mime-type.d.ts.map +1 -0
- package/lib/rules/oas3/response-mime-type.js +28 -0
- package/lib/rules/oas3/response-mime-type.js.map +1 -0
- package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +3 -0
- package/lib/rules/oas3/spec-components-invalid-map-name.d.ts.map +1 -0
- package/lib/rules/oas3/spec-components-invalid-map-name.js +59 -0
- package/lib/rules/oas3/spec-components-invalid-map-name.js.map +1 -0
- package/lib/rules/oas3/spec-discriminator-defaultMapping.d.ts +3 -0
- package/lib/rules/oas3/spec-discriminator-defaultMapping.d.ts.map +1 -0
- package/lib/rules/oas3/spec-discriminator-defaultMapping.js +32 -0
- package/lib/rules/oas3/spec-discriminator-defaultMapping.js.map +1 -0
- package/lib/rules/oas3/spec-example-values.d.ts +3 -0
- package/lib/rules/oas3/spec-example-values.d.ts.map +1 -0
- package/lib/rules/oas3/spec-example-values.js +31 -0
- package/lib/rules/oas3/spec-example-values.js.map +1 -0
- package/lib/rules/oas3/spec-no-invalid-encoding-combinations.d.ts +3 -0
- package/lib/rules/oas3/spec-no-invalid-encoding-combinations.d.ts.map +1 -0
- package/lib/rules/oas3/spec-no-invalid-encoding-combinations.js +16 -0
- package/lib/rules/oas3/spec-no-invalid-encoding-combinations.js.map +1 -0
- package/lib/rules/oas3/spec-no-invalid-tag-parents.d.ts +3 -0
- package/lib/rules/oas3/spec-no-invalid-tag-parents.d.ts.map +1 -0
- package/lib/rules/oas3/spec-no-invalid-tag-parents.js +38 -0
- package/lib/rules/oas3/spec-no-invalid-tag-parents.js.map +1 -0
- package/lib/rules/oas3/spec-querystring-parameters.d.ts +3 -0
- package/lib/rules/oas3/spec-querystring-parameters.d.ts.map +1 -0
- package/lib/rules/oas3/spec-querystring-parameters.js +65 -0
- package/lib/rules/oas3/spec-querystring-parameters.js.map +1 -0
- package/lib/rules/openrpc/index.d.ts +4 -0
- package/lib/rules/openrpc/index.d.ts.map +1 -0
- package/lib/rules/openrpc/index.js +20 -0
- package/lib/rules/openrpc/index.js.map +1 -0
- package/lib/rules/openrpc/no-unused-components.d.ts +3 -0
- package/lib/rules/openrpc/no-unused-components.d.ts.map +1 -0
- package/lib/rules/openrpc/no-unused-components.js +82 -0
- package/lib/rules/openrpc/no-unused-components.js.map +1 -0
- package/lib/rules/openrpc/spec-no-duplicated-method-params.d.ts +3 -0
- package/lib/rules/openrpc/spec-no-duplicated-method-params.d.ts.map +1 -0
- package/lib/rules/openrpc/spec-no-duplicated-method-params.js +28 -0
- package/lib/rules/openrpc/spec-no-duplicated-method-params.js.map +1 -0
- package/lib/rules/openrpc/spec-no-required-params-after-optional.d.ts +3 -0
- package/lib/rules/openrpc/spec-no-required-params-after-optional.d.ts.map +1 -0
- package/lib/rules/openrpc/spec-no-required-params-after-optional.js +31 -0
- package/lib/rules/openrpc/spec-no-required-params-after-optional.js.map +1 -0
- package/lib/rules/other/stats.d.ts +104 -0
- package/lib/rules/other/stats.d.ts.map +1 -0
- package/lib/rules/other/stats.js +190 -0
- package/lib/rules/other/stats.js.map +1 -0
- package/lib/rules/overlay1/index.d.ts +4 -0
- package/lib/rules/overlay1/index.d.ts.map +1 -0
- package/lib/rules/overlay1/index.js +12 -0
- package/lib/rules/overlay1/index.js.map +1 -0
- package/lib/rules/respect/no-criteria-xpath.d.ts +3 -0
- package/lib/rules/respect/no-criteria-xpath.d.ts.map +1 -0
- package/lib/rules/respect/no-criteria-xpath.js +20 -0
- package/lib/rules/respect/no-criteria-xpath.js.map +1 -0
- package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.d.ts +3 -0
- package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.d.ts.map +1 -0
- package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.js +30 -0
- package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.js.map +1 -0
- package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts +3 -0
- package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts.map +1 -0
- package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js +25 -0
- package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js.map +1 -0
- package/lib/rules/respect/respect-supported-versions.d.ts +3 -0
- package/lib/rules/respect/respect-supported-versions.d.ts.map +1 -0
- package/lib/rules/respect/respect-supported-versions.js +18 -0
- package/lib/rules/respect/respect-supported-versions.js.map +1 -0
- package/lib/rules/respect/x-security-scheme-name-reference.d.ts +3 -0
- package/lib/rules/respect/x-security-scheme-name-reference.d.ts.map +1 -0
- package/lib/rules/respect/x-security-scheme-name-reference.js +35 -0
- package/lib/rules/respect/x-security-scheme-name-reference.js.map +1 -0
- package/lib/rules/respect/x-security-scheme-required-values.d.ts +3 -0
- package/lib/rules/respect/x-security-scheme-required-values.d.ts.map +1 -0
- package/lib/rules/respect/x-security-scheme-required-values.js +60 -0
- package/lib/rules/respect/x-security-scheme-required-values.js.map +1 -0
- package/lib/rules/utils.d.ts +30 -0
- package/lib/rules/utils.d.ts.map +1 -0
- package/lib/rules/utils.js +172 -0
- package/lib/rules/utils.js.map +1 -0
- package/lib/types/arazzo.d.ts +3 -0
- package/lib/types/arazzo.d.ts.map +1 -0
- package/lib/types/arazzo.js +482 -0
- package/lib/types/arazzo.js.map +1 -0
- package/lib/types/asyncapi2.d.ts +13 -0
- package/lib/types/asyncapi2.d.ts.map +1 -0
- package/lib/types/asyncapi2.js +1157 -0
- package/lib/types/asyncapi2.js.map +1 -0
- package/lib/types/asyncapi3.d.ts +3 -0
- package/lib/types/asyncapi3.d.ts.map +1 -0
- package/lib/types/asyncapi3.js +511 -0
- package/lib/types/asyncapi3.js.map +1 -0
- package/lib/types/entity.d.ts +9 -0
- package/lib/types/entity.d.ts.map +1 -0
- package/lib/types/entity.js +32 -0
- package/lib/types/entity.js.map +1 -0
- package/lib/types/index.d.ts +78 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +90 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/json-schema-adapter.d.ts +12 -0
- package/lib/types/json-schema-adapter.d.ts.map +1 -0
- package/lib/types/json-schema-adapter.js +181 -0
- package/lib/types/json-schema-adapter.js.map +1 -0
- package/lib/types/json-schema-draft7.shared.d.ts +7 -0
- package/lib/types/json-schema-draft7.shared.d.ts.map +1 -0
- package/lib/types/json-schema-draft7.shared.js +101 -0
- package/lib/types/json-schema-draft7.shared.js.map +1 -0
- package/lib/types/oas2.d.ts +107 -0
- package/lib/types/oas2.d.ts.map +1 -0
- package/lib/types/oas2.js +454 -0
- package/lib/types/oas2.js.map +1 -0
- package/lib/types/oas3.d.ts +198 -0
- package/lib/types/oas3.d.ts.map +1 -0
- package/lib/types/oas3.js +828 -0
- package/lib/types/oas3.js.map +1 -0
- package/lib/types/oas3_1.d.ts +207 -0
- package/lib/types/oas3_1.d.ts.map +1 -0
- package/lib/types/oas3_1.js +292 -0
- package/lib/types/oas3_1.js.map +1 -0
- package/lib/types/oas3_2.d.ts +215 -0
- package/lib/types/oas3_2.d.ts.map +1 -0
- package/lib/types/oas3_2.js +306 -0
- package/lib/types/oas3_2.js.map +1 -0
- package/lib/types/openrpc.d.ts +136 -0
- package/lib/types/openrpc.d.ts.map +1 -0
- package/lib/types/openrpc.js +360 -0
- package/lib/types/openrpc.js.map +1 -0
- package/lib/types/overlay.d.ts +3 -0
- package/lib/types/overlay.d.ts.map +1 -0
- package/lib/types/overlay.js +61 -0
- package/lib/types/overlay.js.map +1 -0
- package/lib/types/redocly-yaml.d.ts +29 -0
- package/lib/types/redocly-yaml.d.ts.map +1 -0
- package/lib/types/redocly-yaml.js +573 -0
- package/lib/types/redocly-yaml.js.map +1 -0
- package/lib/typings/arazzo.d.ts +172 -0
- package/lib/typings/arazzo.d.ts.map +1 -0
- package/lib/typings/arazzo.js +3 -0
- package/lib/typings/arazzo.js.map +1 -0
- package/lib/typings/asyncapi.d.ts +22 -0
- package/lib/typings/asyncapi.d.ts.map +1 -0
- package/lib/typings/asyncapi.js +2 -0
- package/lib/typings/asyncapi.js.map +1 -0
- package/lib/typings/asyncapi3.d.ts +54 -0
- package/lib/typings/asyncapi3.d.ts.map +1 -0
- package/lib/typings/asyncapi3.js +2 -0
- package/lib/typings/asyncapi3.js.map +1 -0
- package/lib/typings/common.d.ts +13 -0
- package/lib/typings/common.d.ts.map +1 -0
- package/lib/typings/common.js +2 -0
- package/lib/typings/common.js.map +1 -0
- package/lib/typings/openapi.d.ts +420 -0
- package/lib/typings/openapi.d.ts.map +1 -0
- package/lib/typings/openapi.js +2 -0
- package/lib/typings/openapi.js.map +1 -0
- package/lib/typings/openrpc.d.ts +110 -0
- package/lib/typings/openrpc.d.ts.map +1 -0
- package/lib/typings/openrpc.js +2 -0
- package/lib/typings/openrpc.js.map +1 -0
- package/lib/typings/overlay.d.ts +18 -0
- package/lib/typings/overlay.d.ts.map +1 -0
- package/lib/typings/overlay.js +2 -0
- package/lib/typings/overlay.js.map +1 -0
- package/lib/typings/swagger.d.ts +218 -0
- package/lib/typings/swagger.d.ts.map +1 -0
- package/lib/typings/swagger.js +2 -0
- package/lib/typings/swagger.js.map +1 -0
- package/lib/utils/assign-config.d.ts +7 -0
- package/lib/utils/assign-config.d.ts.map +1 -0
- package/lib/utils/assign-config.js +28 -0
- package/lib/utils/assign-config.js.map +1 -0
- package/lib/utils/dequal.d.ts +6 -0
- package/lib/utils/dequal.d.ts.map +1 -0
- package/lib/utils/dequal.js +36 -0
- package/lib/utils/dequal.js.map +1 -0
- package/lib/utils/does-yaml-file-exist.d.ts +2 -0
- package/lib/utils/does-yaml-file-exist.d.ts.map +1 -0
- package/lib/utils/does-yaml-file-exist.js +7 -0
- package/lib/utils/does-yaml-file-exist.js.map +1 -0
- package/lib/utils/error.d.ts +3 -0
- package/lib/utils/error.d.ts.map +1 -0
- package/lib/utils/error.js +3 -0
- package/lib/utils/error.js.map +1 -0
- package/lib/utils/get-intersection-length.d.ts +2 -0
- package/lib/utils/get-intersection-length.d.ts.map +1 -0
- package/lib/utils/get-intersection-length.js +11 -0
- package/lib/utils/get-intersection-length.js.map +1 -0
- package/lib/utils/get-matching-status-code-range.d.ts +2 -0
- package/lib/utils/get-matching-status-code-range.d.ts.map +1 -0
- package/lib/utils/get-matching-status-code-range.js +4 -0
- package/lib/utils/get-matching-status-code-range.js.map +1 -0
- package/lib/utils/get-own.d.ts +2 -0
- package/lib/utils/get-own.d.ts.map +1 -0
- package/lib/utils/get-own.js +4 -0
- package/lib/utils/get-own.js.map +1 -0
- package/lib/utils/identity.d.ts +2 -0
- package/lib/utils/identity.d.ts.map +1 -0
- package/lib/utils/identity.js +4 -0
- package/lib/utils/identity.js.map +1 -0
- package/lib/utils/is-custom-rule-id.d.ts +2 -0
- package/lib/utils/is-custom-rule-id.d.ts.map +1 -0
- package/lib/utils/is-custom-rule-id.js +4 -0
- package/lib/utils/is-custom-rule-id.js.map +1 -0
- package/lib/utils/is-defined.d.ts +2 -0
- package/lib/utils/is-defined.d.ts.map +1 -0
- package/lib/utils/is-defined.js +4 -0
- package/lib/utils/is-defined.js.map +1 -0
- package/lib/utils/is-empty-array.d.ts +2 -0
- package/lib/utils/is-empty-array.d.ts.map +1 -0
- package/lib/utils/is-empty-array.js +4 -0
- package/lib/utils/is-empty-array.js.map +1 -0
- package/lib/utils/is-empty-object.d.ts +2 -0
- package/lib/utils/is-empty-object.d.ts.map +1 -0
- package/lib/utils/is-empty-object.js +5 -0
- package/lib/utils/is-empty-object.js.map +1 -0
- package/lib/utils/is-not-empty-array.d.ts +2 -0
- package/lib/utils/is-not-empty-array.d.ts.map +1 -0
- package/lib/utils/is-not-empty-array.js +4 -0
- package/lib/utils/is-not-empty-array.js.map +1 -0
- package/lib/utils/is-not-empty-object.d.ts +2 -0
- package/lib/utils/is-not-empty-object.d.ts.map +1 -0
- package/lib/utils/is-not-empty-object.js +6 -0
- package/lib/utils/is-not-empty-object.js.map +1 -0
- package/lib/utils/is-not-string.d.ts +2 -0
- package/lib/utils/is-not-string.d.ts.map +1 -0
- package/lib/utils/is-not-string.js +5 -0
- package/lib/utils/is-not-string.js.map +1 -0
- package/lib/utils/is-ordered.d.ts +7 -0
- package/lib/utils/is-ordered.d.ts.map +1 -0
- package/lib/utils/is-ordered.js +27 -0
- package/lib/utils/is-ordered.js.map +1 -0
- package/lib/utils/is-path-parameter.d.ts +2 -0
- package/lib/utils/is-path-parameter.d.ts.map +1 -0
- package/lib/utils/is-path-parameter.js +4 -0
- package/lib/utils/is-path-parameter.js.map +1 -0
- package/lib/utils/is-plain-object.d.ts +2 -0
- package/lib/utils/is-plain-object.d.ts.map +1 -0
- package/lib/utils/is-plain-object.js +4 -0
- package/lib/utils/is-plain-object.js.map +1 -0
- package/lib/utils/is-string.d.ts +2 -0
- package/lib/utils/is-string.d.ts.map +1 -0
- package/lib/utils/is-string.js +4 -0
- package/lib/utils/is-string.js.map +1 -0
- package/lib/utils/is-truthy.d.ts +3 -0
- package/lib/utils/is-truthy.d.ts.map +1 -0
- package/lib/utils/is-truthy.js +4 -0
- package/lib/utils/is-truthy.js.map +1 -0
- package/lib/utils/keys-of.d.ts +2 -0
- package/lib/utils/keys-of.d.ts.map +1 -0
- package/lib/utils/keys-of.js +6 -0
- package/lib/utils/keys-of.js.map +1 -0
- package/lib/utils/make-ref-id.d.ts +2 -0
- package/lib/utils/make-ref-id.d.ts.map +1 -0
- package/lib/utils/make-ref-id.js +4 -0
- package/lib/utils/make-ref-id.js.map +1 -0
- package/lib/utils/next-tick.d.ts +2 -0
- package/lib/utils/next-tick.d.ts.map +1 -0
- package/lib/utils/next-tick.js +6 -0
- package/lib/utils/next-tick.js.map +1 -0
- package/lib/utils/oas-has-component.d.ts +3 -0
- package/lib/utils/oas-has-component.d.ts.map +1 -0
- package/lib/utils/oas-has-component.js +4 -0
- package/lib/utils/oas-has-component.js.map +1 -0
- package/lib/utils/omit.d.ts +2 -0
- package/lib/utils/omit.d.ts.map +1 -0
- package/lib/utils/omit.js +8 -0
- package/lib/utils/omit.js.map +1 -0
- package/lib/utils/pause.d.ts +2 -0
- package/lib/utils/pause.d.ts.map +1 -0
- package/lib/utils/pause.js +4 -0
- package/lib/utils/pause.js.map +1 -0
- package/lib/utils/pluralize.d.ts +2 -0
- package/lib/utils/pluralize.d.ts.map +1 -0
- package/lib/utils/pluralize.js +8 -0
- package/lib/utils/pluralize.js.map +1 -0
- package/lib/utils/read-file-from-url.d.ts +6 -0
- package/lib/utils/read-file-from-url.d.ts.map +1 -0
- package/lib/utils/read-file-from-url.js +26 -0
- package/lib/utils/read-file-from-url.js.map +1 -0
- package/lib/utils/regex-from-string.d.ts +2 -0
- package/lib/utils/regex-from-string.d.ts.map +1 -0
- package/lib/utils/regex-from-string.js +5 -0
- package/lib/utils/regex-from-string.js.map +1 -0
- package/lib/utils/scorecards.d.ts +13 -0
- package/lib/utils/scorecards.d.ts.map +1 -0
- package/lib/utils/scorecards.js +99 -0
- package/lib/utils/scorecards.js.map +1 -0
- package/lib/utils/slash.d.ts +5 -0
- package/lib/utils/slash.d.ts.map +1 -0
- package/lib/utils/slash.js +11 -0
- package/lib/utils/slash.js.map +1 -0
- package/lib/utils/split-camel-case-into-words.d.ts +2 -0
- package/lib/utils/split-camel-case-into-words.d.ts.map +1 -0
- package/lib/utils/split-camel-case-into-words.js +13 -0
- package/lib/utils/split-camel-case-into-words.js.map +1 -0
- package/lib/utils/stack.d.ts +12 -0
- package/lib/utils/stack.d.ts.map +1 -0
- package/lib/utils/stack.js +7 -0
- package/lib/utils/stack.js.map +1 -0
- package/lib/utils/types.d.ts +5 -0
- package/lib/utils/types.d.ts.map +1 -0
- package/lib/utils/types.js +2 -0
- package/lib/utils/types.js.map +1 -0
- package/lib/utils/validate-mime-type.d.ts +4 -0
- package/lib/utils/validate-mime-type.d.ts.map +1 -0
- package/lib/utils/validate-mime-type.js +31 -0
- package/lib/utils/validate-mime-type.js.map +1 -0
- package/lib/utils/yaml-fs-helper.d.ts +6 -0
- package/lib/utils/yaml-fs-helper.d.ts.map +1 -0
- package/lib/utils/yaml-fs-helper.js +23 -0
- package/lib/utils/yaml-fs-helper.js.map +1 -0
- package/lib/visitors.d.ts +279 -0
- package/lib/visitors.d.ts.map +1 -0
- package/lib/visitors.js +177 -0
- package/lib/visitors.js.map +1 -0
- package/lib/walk.d.ts +81 -0
- package/lib/walk.d.ts.map +1 -0
- package/lib/walk.js +303 -0
- package/lib/walk.js.map +1 -0
- package/package.json +95 -0
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export { doesYamlFileExist } from './utils/does-yaml-file-exist.js';
|
|
2
|
+
export { dequal } from './utils/dequal.js';
|
|
3
|
+
export { isEmptyObject } from './utils/is-empty-object.js';
|
|
4
|
+
export { isNotEmptyArray } from './utils/is-not-empty-array.js';
|
|
5
|
+
export { isNotEmptyObject } from './utils/is-not-empty-object.js';
|
|
6
|
+
export { isPlainObject } from './utils/is-plain-object.js';
|
|
7
|
+
export { isString } from './utils/is-string.js';
|
|
8
|
+
export { isTruthy } from './utils/is-truthy.js';
|
|
9
|
+
export { keysOf } from './utils/keys-of.js';
|
|
10
|
+
export { pause } from './utils/pause.js';
|
|
11
|
+
export { pluralize } from './utils/pluralize.js';
|
|
12
|
+
export { readFileFromUrl } from './utils/read-file-from-url.js';
|
|
13
|
+
export { slash } from './utils/slash.js';
|
|
14
|
+
export { Oas2Types } from './types/oas2.js';
|
|
15
|
+
export { Oas3Types } from './types/oas3.js';
|
|
16
|
+
export { Oas3_1Types } from './types/oas3_1.js';
|
|
17
|
+
export { Oas3_2Types } from './types/oas3_2.js';
|
|
18
|
+
export { AsyncApi2Types } from './types/asyncapi2.js';
|
|
19
|
+
export { AsyncApi3Types } from './types/asyncapi3.js';
|
|
20
|
+
export { Arazzo1Types } from './types/arazzo.js';
|
|
21
|
+
export { Overlay1Types } from './types/overlay.js';
|
|
22
|
+
export { OpenRpcTypes } from './types/openrpc.js';
|
|
23
|
+
export { ConfigTypes, createConfigTypes } from './types/redocly-yaml.js';
|
|
24
|
+
export { createEntityTypes } from './types/entity.js';
|
|
25
|
+
export { normalizeTypes, type NormalizedNodeType, type NodeType } from './types/index.js';
|
|
26
|
+
export { StatsOAS, StatsAsync2, StatsAsync3 } from './rules/other/stats.js';
|
|
27
|
+
export { loadConfig, loadIgnoreConfig, createConfig, findConfig, resolvePlugins, ConfigValidationError, Config, // FIXME: export it as a type
|
|
28
|
+
type RawUniversalConfig, type RawUniversalApiConfig, type ResolvedConfig, type ResolvedApiConfig, type Plugin, type RuleConfig, type RuleSeverity, type IgnoreConfig, } from './config/index.js';
|
|
29
|
+
export * from './config/constants.js';
|
|
30
|
+
export { Source, BaseResolver, Document, ResolveError, resolveDocument, makeDocumentFromString, type ResolvedRefMap, } from './resolve.js';
|
|
31
|
+
export { YamlParseError } from './errors/yaml-parse-error.js';
|
|
32
|
+
export { parseYaml, stringifyYaml } from './js-yaml/index.js';
|
|
33
|
+
export { unescapePointerFragment, isRef, isAbsoluteUrl, getDir, resolvePath, escapePointerFragment, type Location, } from './ref-utils.js';
|
|
34
|
+
export { detectSpec } from './detect-spec.js';
|
|
35
|
+
export { getTypes, type SpecVersion, type SpecMajorVersion } from './oas-types.js';
|
|
36
|
+
export { getMajorSpecVersion } from './detect-spec.js';
|
|
37
|
+
export { normalizeVisitors, type Oas3Visitor, type Oas2Visitor, type Async2Visitor, type Async3Visitor, type Arazzo1Visitor, type Overlay1Visitor, type OpenRpc1Visitor, type Oas3Rule, type Oas2Rule, type Async2Rule, type Async3Rule, type Arazzo1Rule, type Overlay1Rule, type OpenRpc1Rule, type Oas3Decorator, type Oas2Decorator, type Async2Decorator, type Async3Decorator, type Arazzo1Decorator, type Overlay1Decorator, type OpenRpc1Decorator, type Oas3Preprocessor, type Oas2Preprocessor, type Async2Preprocessor, type Async3Preprocessor, type Arazzo1Preprocessor, type Overlay1Preprocessor, type OpenRpc1Preprocessor, } from './visitors.js';
|
|
38
|
+
export { WalkContext, NormalizedProblem, ProblemSeverity, LineColLocationObject, LocationObject, Loc, walkDocument, type UserContext, } from './walk.js';
|
|
39
|
+
export { getAstNodeByPointer, getLineColLocation, getCodeframe } from './format/codeframes.js';
|
|
40
|
+
export { formatProblems, getTotals, xmlEscape, type OutputFormat, type Totals, } from './format/format.js';
|
|
41
|
+
export { lint, lint as validate, lintDocument, lintFromString, lintConfig } from './lint.js';
|
|
42
|
+
export { lintEntityFile, lintEntityWithScorecardLevel, lintSchema } from './lint-entity.js';
|
|
43
|
+
export { bundle, bundleFromString, type BundleResult } from './bundle/bundle.js';
|
|
44
|
+
export { bundleDocument } from './bundle/bundle-document.js';
|
|
45
|
+
export { mapTypeToComponent } from './bundle/bundle-visitor.js';
|
|
46
|
+
export { type Assertions, type Assertion } from './rules/common/assertions/index.js';
|
|
47
|
+
export { logger, type LoggerInterface } from './logger.js';
|
|
48
|
+
export { HandledError } from './utils/error.js';
|
|
49
|
+
export { isBrowser } from './env.js';
|
|
50
|
+
export type { CollectFn, Exact } from './utils/types.js';
|
|
51
|
+
export type { Oas3Definition, Oas3_1Definition, Oas3_2Definition, Oas3Components, Oas3_1Components, Oas3PathItem, Oas3Paths, Oas3ComponentName, Oas3Schema, Oas3_1Schema, Oas3Tag, Oas3_2Tag, Referenced, OasRef, Oas3Parameter, Oas3Server, Oas3Operation, Oas3Responses, ApiKeyAuth, HttpAuth, BasicAuth, BearerAuth, DigestAuth, MutualTLSAuth, OAuth2Auth, OpenIDAuth, Oas3SecurityScheme, Oas3SecurityRequirement, } from './typings/openapi.js';
|
|
52
|
+
export type { Oas2Definition } from './typings/swagger.js';
|
|
53
|
+
export type { Async3Definition } from './typings/asyncapi3.js';
|
|
54
|
+
export type { Async2Definition } from './typings/asyncapi.js';
|
|
55
|
+
export type { OpenRpc1Definition } from './typings/openrpc.js';
|
|
56
|
+
export type { ArazzoDefinition, ExtendedOperation, ExtendedSecurity, ResolvedSecurity, } from './typings/arazzo.js';
|
|
57
|
+
export type { StatsAccumulator, OASStatsAccumulator, AsyncAPIStatsAccumulator, StatsName, } from './typings/common.js';
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export { doesYamlFileExist } from './utils/does-yaml-file-exist.js';
|
|
2
|
+
export { dequal } from './utils/dequal.js';
|
|
3
|
+
export { isEmptyObject } from './utils/is-empty-object.js';
|
|
4
|
+
export { isNotEmptyArray } from './utils/is-not-empty-array.js';
|
|
5
|
+
export { isNotEmptyObject } from './utils/is-not-empty-object.js';
|
|
6
|
+
export { isPlainObject } from './utils/is-plain-object.js';
|
|
7
|
+
export { isString } from './utils/is-string.js';
|
|
8
|
+
export { isTruthy } from './utils/is-truthy.js';
|
|
9
|
+
export { keysOf } from './utils/keys-of.js';
|
|
10
|
+
export { pause } from './utils/pause.js';
|
|
11
|
+
export { pluralize } from './utils/pluralize.js';
|
|
12
|
+
export { readFileFromUrl } from './utils/read-file-from-url.js';
|
|
13
|
+
export { slash } from './utils/slash.js';
|
|
14
|
+
export { Oas2Types } from './types/oas2.js';
|
|
15
|
+
export { Oas3Types } from './types/oas3.js';
|
|
16
|
+
export { Oas3_1Types } from './types/oas3_1.js';
|
|
17
|
+
export { Oas3_2Types } from './types/oas3_2.js';
|
|
18
|
+
export { AsyncApi2Types } from './types/asyncapi2.js';
|
|
19
|
+
export { AsyncApi3Types } from './types/asyncapi3.js';
|
|
20
|
+
export { Arazzo1Types } from './types/arazzo.js';
|
|
21
|
+
export { Overlay1Types } from './types/overlay.js';
|
|
22
|
+
export { OpenRpcTypes } from './types/openrpc.js';
|
|
23
|
+
export { ConfigTypes, createConfigTypes } from './types/redocly-yaml.js';
|
|
24
|
+
export { createEntityTypes } from './types/entity.js';
|
|
25
|
+
export { normalizeTypes } from './types/index.js';
|
|
26
|
+
export { StatsOAS, StatsAsync2, StatsAsync3 } from './rules/other/stats.js';
|
|
27
|
+
export { loadConfig, loadIgnoreConfig, createConfig, findConfig, resolvePlugins, ConfigValidationError, Config, // FIXME: export it as a type
|
|
28
|
+
} from './config/index.js';
|
|
29
|
+
export * from './config/constants.js';
|
|
30
|
+
export { Source, BaseResolver, ResolveError, resolveDocument, makeDocumentFromString, } from './resolve.js';
|
|
31
|
+
export { YamlParseError } from './errors/yaml-parse-error.js';
|
|
32
|
+
export { parseYaml, stringifyYaml } from './js-yaml/index.js';
|
|
33
|
+
export { unescapePointerFragment, isRef, isAbsoluteUrl, getDir, resolvePath, escapePointerFragment, } from './ref-utils.js';
|
|
34
|
+
export { detectSpec } from './detect-spec.js';
|
|
35
|
+
export { getTypes } from './oas-types.js';
|
|
36
|
+
export { getMajorSpecVersion } from './detect-spec.js';
|
|
37
|
+
export { normalizeVisitors, } from './visitors.js';
|
|
38
|
+
export { walkDocument, } from './walk.js';
|
|
39
|
+
export { getAstNodeByPointer, getLineColLocation, getCodeframe } from './format/codeframes.js';
|
|
40
|
+
export { formatProblems, getTotals, xmlEscape, } from './format/format.js';
|
|
41
|
+
export { lint, lint as validate, lintDocument, lintFromString, lintConfig } from './lint.js';
|
|
42
|
+
export { lintEntityFile, lintEntityWithScorecardLevel, lintSchema } from './lint-entity.js';
|
|
43
|
+
export { bundle, bundleFromString } from './bundle/bundle.js';
|
|
44
|
+
export { bundleDocument } from './bundle/bundle-document.js';
|
|
45
|
+
export { mapTypeToComponent } from './bundle/bundle-visitor.js';
|
|
46
|
+
export { logger } from './logger.js';
|
|
47
|
+
export { HandledError } from './utils/error.js';
|
|
48
|
+
export { isBrowser } from './env.js';
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/js-yaml/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOxD,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,OAAO,WAAW,KAAG,OACM,CAAC;AAEnE,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,EAAE,OAAO,WAAW,KAAG,MAAyB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// TODO: add a type for "types" https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/js-yaml/index.d.ts
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
import { JSON_SCHEMA, types, load, dump } from 'js-yaml';
|
|
5
|
+
const DEFAULT_SCHEMA_WITHOUT_TIMESTAMP = JSON_SCHEMA.extend({
|
|
6
|
+
implicit: [types.merge],
|
|
7
|
+
explicit: [types.binary, types.omap, types.pairs, types.set],
|
|
8
|
+
});
|
|
9
|
+
export const parseYaml = (str, opts) => load(str, { schema: DEFAULT_SCHEMA_WITHOUT_TIMESTAMP, ...opts });
|
|
10
|
+
export const stringifyYaml = (obj, opts) => dump(obj, opts);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js-yaml/index.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,6DAA6D;AAC7D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGzD,MAAM,gCAAgC,GAAG,WAAW,CAAC,MAAM,CAAC;IAC1D,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,IAAkB,EAAW,EAAE,CACpE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAE,IAAkB,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { EntityFileSchema, EntityBaseFileSchema, ScorecardConfig } from '@redocly/config';
|
|
2
|
+
import type { JSONSchema } from 'json-schema-to-ts';
|
|
3
|
+
import { type Config } from './config/index.js';
|
|
4
|
+
import { BaseResolver, type Document } from './resolve.js';
|
|
5
|
+
import { type Assertion } from './rules/common/assertions/index.js';
|
|
6
|
+
import { type NormalizedProblem, type ProblemSeverity } from './walk.js';
|
|
7
|
+
export declare function lintEntityFile(opts: {
|
|
8
|
+
document: Document;
|
|
9
|
+
entitySchema: JSONSchema;
|
|
10
|
+
entityDefaultSchema: JSONSchema;
|
|
11
|
+
severity?: ProblemSeverity;
|
|
12
|
+
externalRefResolver?: BaseResolver;
|
|
13
|
+
assertionConfig?: Record<string, Assertion>;
|
|
14
|
+
}): Promise<NormalizedProblem[]>;
|
|
15
|
+
export declare function lintEntityWithScorecardLevel(entity: EntityFileSchema | EntityBaseFileSchema, scorecardLevel: NonNullable<ScorecardConfig['levels']>[number], document?: Document): Promise<NormalizedProblem[]>;
|
|
16
|
+
export declare function lintSchema(opts: {
|
|
17
|
+
schema: unknown;
|
|
18
|
+
schemaKey: string;
|
|
19
|
+
config: Config;
|
|
20
|
+
specType: string;
|
|
21
|
+
sourceDocument: Document;
|
|
22
|
+
externalRefResolver?: BaseResolver;
|
|
23
|
+
}): Promise<NormalizedProblem[]>;
|
|
24
|
+
//# sourceMappingURL=lint-entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint-entity.d.ts","sourceRoot":"","sources":["../src/lint-entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAA2C,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEpG,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAsBhF,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAErB,MAAM,WAAW,CAAC;AAEnB,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,UAAU,CAAC;IACzB,mBAAmB,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC7C,gCAoGA;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,EAC/C,cAAc,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAC9D,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0F9B;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,QAAQ,CAAC;IACzB,mBAAmB,CAAC,EAAE,YAAY,CAAC;CACpC,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwC/B"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import * as redoclyConfig from '@redocly/config';
|
|
2
|
+
import { createConfig } from './config/index.js';
|
|
3
|
+
import { lintDocument } from './lint.js';
|
|
4
|
+
import { BaseResolver, resolveDocument, makeDocumentFromString } from './resolve.js';
|
|
5
|
+
import { EntityKeyValid } from './rules/catalog-entity/entity-key-valid.js';
|
|
6
|
+
import { Assertions } from './rules/common/assertions/index.js';
|
|
7
|
+
import { NoUnresolvedRefs } from './rules/common/no-unresolved-refs.js';
|
|
8
|
+
import { Struct } from './rules/common/struct.js';
|
|
9
|
+
import { createEntityTypes, ENTITY_DISCRIMINATOR_PROPERTY_NAME, ENTITY_TYPES_WITH_API_SUPPORT, } from './types/entity.js';
|
|
10
|
+
import { normalizeTypes } from './types/index.js';
|
|
11
|
+
import { isEmptyObject } from './utils/is-empty-object.js';
|
|
12
|
+
import { isPlainObject } from './utils/is-plain-object.js';
|
|
13
|
+
import { categorizeAssertions, findDataSchemaInDocument, transformScorecardRulesToAssertions, } from './utils/scorecards.js';
|
|
14
|
+
import { normalizeVisitors, } from './visitors.js';
|
|
15
|
+
import { walkDocument, } from './walk.js';
|
|
16
|
+
export async function lintEntityFile(opts) {
|
|
17
|
+
const { document, entitySchema, entityDefaultSchema, severity, externalRefResolver = new BaseResolver(), assertionConfig = {}, } = opts;
|
|
18
|
+
const ctx = {
|
|
19
|
+
problems: [],
|
|
20
|
+
specVersion: 'entity', // FIXME: this should be proper SpecVersion
|
|
21
|
+
visitorsData: {},
|
|
22
|
+
};
|
|
23
|
+
const { entityTypes, discriminatorResolver } = createEntityTypes(entitySchema, entityDefaultSchema);
|
|
24
|
+
const types = normalizeTypes(entityTypes);
|
|
25
|
+
let rootType = types.Entity;
|
|
26
|
+
if (Array.isArray(document.parsed)) {
|
|
27
|
+
rootType = types.EntityFileArray;
|
|
28
|
+
}
|
|
29
|
+
else if (isPlainObject(document.parsed)) {
|
|
30
|
+
const discriminatedPropertyValue = document.parsed[ENTITY_DISCRIMINATOR_PROPERTY_NAME];
|
|
31
|
+
if (!discriminatedPropertyValue) {
|
|
32
|
+
rootType = types.Entity;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const discriminatedTypeName = discriminatorResolver?.(document.parsed, discriminatedPropertyValue);
|
|
36
|
+
if (discriminatedTypeName &&
|
|
37
|
+
typeof discriminatedTypeName === 'string' &&
|
|
38
|
+
types[discriminatedTypeName]) {
|
|
39
|
+
rootType = types[discriminatedTypeName];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const assertionVisitors = Assertions(assertionConfig);
|
|
44
|
+
const flattenedAssertions = Array.isArray(assertionVisitors)
|
|
45
|
+
? assertionVisitors.map((visitor) => ({
|
|
46
|
+
severity: severity || 'error',
|
|
47
|
+
ruleId: 'entity assertions',
|
|
48
|
+
visitor: visitor,
|
|
49
|
+
}))
|
|
50
|
+
: [
|
|
51
|
+
{
|
|
52
|
+
severity: severity || 'error',
|
|
53
|
+
ruleId: 'entity assertions',
|
|
54
|
+
visitor: assertionVisitors,
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
const rules = [
|
|
58
|
+
{
|
|
59
|
+
severity: severity || 'error',
|
|
60
|
+
ruleId: 'entity struct',
|
|
61
|
+
visitor: Struct({ severity: 'error' }),
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
severity: severity || 'error',
|
|
65
|
+
ruleId: 'entity no-unresolved-refs',
|
|
66
|
+
visitor: NoUnresolvedRefs({ severity: 'error' }),
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
severity: severity || 'error',
|
|
70
|
+
ruleId: 'entity key-valid',
|
|
71
|
+
visitor: EntityKeyValid({ severity: 'error' }),
|
|
72
|
+
},
|
|
73
|
+
...flattenedAssertions,
|
|
74
|
+
];
|
|
75
|
+
const normalizedVisitors = normalizeVisitors(rules, types);
|
|
76
|
+
const resolvedRefMap = await resolveDocument({
|
|
77
|
+
rootDocument: document,
|
|
78
|
+
rootType,
|
|
79
|
+
externalRefResolver,
|
|
80
|
+
});
|
|
81
|
+
walkDocument({
|
|
82
|
+
document,
|
|
83
|
+
rootType,
|
|
84
|
+
normalizedVisitors,
|
|
85
|
+
resolvedRefMap,
|
|
86
|
+
ctx,
|
|
87
|
+
});
|
|
88
|
+
return ctx.problems;
|
|
89
|
+
}
|
|
90
|
+
export async function lintEntityWithScorecardLevel(entity, scorecardLevel, document) {
|
|
91
|
+
if (!scorecardLevel.rules) {
|
|
92
|
+
throw new Error(`Scorecard level "${scorecardLevel.name}" has no rules defined.`);
|
|
93
|
+
}
|
|
94
|
+
const externalRefResolver = new BaseResolver();
|
|
95
|
+
//Create a document from the entity object
|
|
96
|
+
const entityDocument = makeDocumentFromString(JSON.stringify(entity, null, 2), 'entity');
|
|
97
|
+
const discriminatorValue = entityDocument.parsed[ENTITY_DISCRIMINATOR_PROPERTY_NAME];
|
|
98
|
+
const assertionConfig = transformScorecardRulesToAssertions(discriminatorValue || 'unknown', scorecardLevel.rules);
|
|
99
|
+
const { entityRules, apiRules } = categorizeAssertions(assertionConfig);
|
|
100
|
+
const entityProblems = await lintEntityFile({
|
|
101
|
+
document: entityDocument,
|
|
102
|
+
entitySchema: redoclyConfig.entityFileSchema,
|
|
103
|
+
entityDefaultSchema: redoclyConfig.entityFileDefaultSchema,
|
|
104
|
+
externalRefResolver,
|
|
105
|
+
assertionConfig: entityRules,
|
|
106
|
+
});
|
|
107
|
+
if (ENTITY_TYPES_WITH_API_SUPPORT.includes(entity.type)) {
|
|
108
|
+
if (Object.keys(apiRules).length === 0) {
|
|
109
|
+
return entityProblems;
|
|
110
|
+
}
|
|
111
|
+
if (!document) {
|
|
112
|
+
throw new Error(`Document is required for entity type "${entity.type}". Provide the source API document to lint API rules.`);
|
|
113
|
+
}
|
|
114
|
+
if (entity.type === 'data-schema' && entity.metadata?.schema) {
|
|
115
|
+
Object.values(apiRules).forEach((rule) => {
|
|
116
|
+
if (typeof rule === 'object' && rule.subject.type !== 'Schema') {
|
|
117
|
+
throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${rule.subject.type}".`);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
const schema = findDataSchemaInDocument(entity.title, entity.metadata.schema, document);
|
|
121
|
+
if (!schema) {
|
|
122
|
+
throw new Error(`Schema "${entity.title}" not found in the document. Ensure the schema exists in components.schemas.`);
|
|
123
|
+
}
|
|
124
|
+
const schemaProblems = await lintSchema({
|
|
125
|
+
schema,
|
|
126
|
+
schemaKey: entity.title,
|
|
127
|
+
config: await createConfig({
|
|
128
|
+
rules: apiRules,
|
|
129
|
+
}),
|
|
130
|
+
specType: entity.metadata.specType,
|
|
131
|
+
sourceDocument: document,
|
|
132
|
+
externalRefResolver,
|
|
133
|
+
});
|
|
134
|
+
return [...entityProblems, ...schemaProblems];
|
|
135
|
+
}
|
|
136
|
+
const apiProblems = await lintDocument({
|
|
137
|
+
document,
|
|
138
|
+
externalRefResolver,
|
|
139
|
+
config: await createConfig({
|
|
140
|
+
rules: apiRules,
|
|
141
|
+
}),
|
|
142
|
+
});
|
|
143
|
+
return [...entityProblems, ...apiProblems];
|
|
144
|
+
}
|
|
145
|
+
else if (!isEmptyObject(apiRules)) {
|
|
146
|
+
throw new Error(`API rules are not supported for entity type "${entity.type}". Only ${ENTITY_TYPES_WITH_API_SUPPORT.join(', ')} support API rules.`);
|
|
147
|
+
}
|
|
148
|
+
return entityProblems;
|
|
149
|
+
}
|
|
150
|
+
export async function lintSchema(opts) {
|
|
151
|
+
const { schema, schemaKey, config, sourceDocument, specType, externalRefResolver = new BaseResolver(config.resolve), } = opts;
|
|
152
|
+
const parsed = sourceDocument.parsed;
|
|
153
|
+
const specVersion = parsed[specType];
|
|
154
|
+
const info = parsed.info;
|
|
155
|
+
const schemaDocument = makeDocumentFromString(JSON.stringify({
|
|
156
|
+
[specType]: specVersion,
|
|
157
|
+
info,
|
|
158
|
+
components: {
|
|
159
|
+
schemas: {
|
|
160
|
+
[schemaKey]: schema,
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
}, null, 2), sourceDocument?.source.absoluteRef || `schema:${schemaKey}`);
|
|
164
|
+
const problems = await lintDocument({
|
|
165
|
+
document: schemaDocument,
|
|
166
|
+
config,
|
|
167
|
+
externalRefResolver,
|
|
168
|
+
});
|
|
169
|
+
return problems.filter((problem) => problem.location.some((loc) => loc.pointer?.includes(`/components/schemas/${schemaKey}`)));
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=lint-entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint-entity.js","sourceRoot":"","sources":["../src/lint-entity.ts"],"names":[],"mappings":"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"}
|
package/lib/lint.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Config } from './config/index.js';
|
|
2
|
+
import { BaseResolver } from './resolve.js';
|
|
3
|
+
import type { Document } from './resolve.js';
|
|
4
|
+
import type { NodeType } from './types/index.js';
|
|
5
|
+
import type { CollectFn } from './utils/types.js';
|
|
6
|
+
import type { ProblemSeverity } from './walk.js';
|
|
7
|
+
export declare function lint(opts: {
|
|
8
|
+
ref: string;
|
|
9
|
+
config: Config;
|
|
10
|
+
externalRefResolver?: BaseResolver;
|
|
11
|
+
collectSpecData?: CollectFn;
|
|
12
|
+
}): Promise<import("./walk.js").NormalizedProblem[]>;
|
|
13
|
+
export declare function lintFromString(opts: {
|
|
14
|
+
source: string;
|
|
15
|
+
absoluteRef?: string;
|
|
16
|
+
config: Config;
|
|
17
|
+
externalRefResolver?: BaseResolver;
|
|
18
|
+
}): Promise<import("./walk.js").NormalizedProblem[]>;
|
|
19
|
+
export declare function lintDocument(opts: {
|
|
20
|
+
document: Document;
|
|
21
|
+
config: Config;
|
|
22
|
+
customTypes?: Record<string, NodeType>;
|
|
23
|
+
externalRefResolver: BaseResolver;
|
|
24
|
+
}): Promise<import("./walk.js").NormalizedProblem[]>;
|
|
25
|
+
export declare function lintConfig(opts: {
|
|
26
|
+
config: Config;
|
|
27
|
+
severity?: ProblemSeverity;
|
|
28
|
+
externalRefResolver?: BaseResolver;
|
|
29
|
+
externalConfigTypes?: Record<string, NodeType>;
|
|
30
|
+
}): Promise<import("./walk.js").NormalizedProblem[]>;
|
|
31
|
+
//# sourceMappingURL=lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAE,YAAY,EAA2C,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAclD,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAS9D,wBAAsB,IAAI,CAAC,IAAI,EAAE;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,oDAUA;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,YAAY,CAAC;CACpC,oDASA;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,mBAAmB,EAAE,YAAY,CAAC;CACnC,oDAsDA;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAChD,oDAgEA"}
|
package/lib/lint.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { rootRedoclyConfigSchema } from '@redocly/config';
|
|
2
|
+
import { initRules } from './config/rules.js';
|
|
3
|
+
import { detectSpec, getMajorSpecVersion } from './detect-spec.js';
|
|
4
|
+
import { getTypes } from './oas-types.js';
|
|
5
|
+
import { BaseResolver, resolveDocument, makeDocumentFromString } from './resolve.js';
|
|
6
|
+
import { releaseAjvInstance } from './rules/ajv.js';
|
|
7
|
+
import { NoUnresolvedRefs } from './rules/common/no-unresolved-refs.js';
|
|
8
|
+
import { Struct } from './rules/common/struct.js';
|
|
9
|
+
import { normalizeTypes } from './types/index.js';
|
|
10
|
+
import { createConfigTypes } from './types/redocly-yaml.js';
|
|
11
|
+
import { normalizeVisitors } from './visitors.js';
|
|
12
|
+
import { walkDocument } from './walk.js';
|
|
13
|
+
// FIXME: remove this once we remove `theme` from the schema
|
|
14
|
+
const { theme: _, ...propertiesWithoutTheme } = rootRedoclyConfigSchema.properties;
|
|
15
|
+
const redoclyConfigSchemaWithoutTheme = {
|
|
16
|
+
...rootRedoclyConfigSchema,
|
|
17
|
+
properties: propertiesWithoutTheme,
|
|
18
|
+
};
|
|
19
|
+
export async function lint(opts) {
|
|
20
|
+
const { ref, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
|
|
21
|
+
const document = (await externalRefResolver.resolveDocument(null, ref, true));
|
|
22
|
+
opts.collectSpecData?.(document.parsed);
|
|
23
|
+
return lintDocument({
|
|
24
|
+
document,
|
|
25
|
+
...opts,
|
|
26
|
+
externalRefResolver,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export async function lintFromString(opts) {
|
|
30
|
+
const { source, absoluteRef, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
|
|
31
|
+
const document = makeDocumentFromString(source, absoluteRef || '/');
|
|
32
|
+
return lintDocument({
|
|
33
|
+
document,
|
|
34
|
+
...opts,
|
|
35
|
+
externalRefResolver,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export async function lintDocument(opts) {
|
|
39
|
+
releaseAjvInstance(); // FIXME: preprocessors can modify nodes which are then cached to ajv-instance by absolute path
|
|
40
|
+
const { document, customTypes, externalRefResolver, config } = opts;
|
|
41
|
+
const specVersion = detectSpec(document.parsed);
|
|
42
|
+
const specMajorVersion = getMajorSpecVersion(specVersion);
|
|
43
|
+
const rules = config.getRulesForSpecVersion(specMajorVersion);
|
|
44
|
+
const types = normalizeTypes(config.extendTypes(customTypes ?? getTypes(specVersion), specVersion), config);
|
|
45
|
+
const ctx = {
|
|
46
|
+
problems: [],
|
|
47
|
+
specVersion,
|
|
48
|
+
config,
|
|
49
|
+
visitorsData: {},
|
|
50
|
+
};
|
|
51
|
+
const preprocessors = initRules(rules, config, 'preprocessors', specVersion);
|
|
52
|
+
const regularRules = initRules(rules, config, 'rules', specVersion);
|
|
53
|
+
let resolvedRefMap = await resolveDocument({
|
|
54
|
+
rootDocument: document,
|
|
55
|
+
rootType: types.Root,
|
|
56
|
+
externalRefResolver,
|
|
57
|
+
});
|
|
58
|
+
if (preprocessors.length > 0) {
|
|
59
|
+
// Make additional pass to resolve refs defined in preprocessors.
|
|
60
|
+
walkDocument({
|
|
61
|
+
document,
|
|
62
|
+
rootType: types.Root,
|
|
63
|
+
normalizedVisitors: normalizeVisitors(preprocessors, types),
|
|
64
|
+
resolvedRefMap,
|
|
65
|
+
ctx,
|
|
66
|
+
});
|
|
67
|
+
resolvedRefMap = await resolveDocument({
|
|
68
|
+
rootDocument: document,
|
|
69
|
+
rootType: types.Root,
|
|
70
|
+
externalRefResolver,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const normalizedVisitors = normalizeVisitors(regularRules, types);
|
|
74
|
+
walkDocument({
|
|
75
|
+
document,
|
|
76
|
+
rootType: types.Root,
|
|
77
|
+
normalizedVisitors,
|
|
78
|
+
resolvedRefMap,
|
|
79
|
+
ctx,
|
|
80
|
+
});
|
|
81
|
+
return ctx.problems.map((problem) => config.addProblemToIgnore(problem));
|
|
82
|
+
}
|
|
83
|
+
export async function lintConfig(opts) {
|
|
84
|
+
const { severity, externalRefResolver = new BaseResolver(), config } = opts;
|
|
85
|
+
if (!config.document) {
|
|
86
|
+
throw new Error('Config document is not set.');
|
|
87
|
+
}
|
|
88
|
+
const ctx = {
|
|
89
|
+
problems: [],
|
|
90
|
+
specVersion: 'oas3_0', // TODO: use config-specific version
|
|
91
|
+
config,
|
|
92
|
+
visitorsData: {},
|
|
93
|
+
};
|
|
94
|
+
const types = normalizeTypes(opts.externalConfigTypes || createConfigTypes(redoclyConfigSchemaWithoutTheme, config));
|
|
95
|
+
const rules = [
|
|
96
|
+
{
|
|
97
|
+
severity: severity || 'error',
|
|
98
|
+
ruleId: 'configuration struct',
|
|
99
|
+
visitor: Struct({ severity: 'error' }),
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
severity: severity || 'error',
|
|
103
|
+
ruleId: 'configuration no-unresolved-refs',
|
|
104
|
+
visitor: NoUnresolvedRefs({ severity: 'error' }),
|
|
105
|
+
},
|
|
106
|
+
];
|
|
107
|
+
const normalizedVisitors = normalizeVisitors(rules, types);
|
|
108
|
+
const resolvedRefMap = config.resolvedRefMap ||
|
|
109
|
+
(await resolveDocument({
|
|
110
|
+
rootDocument: config.document,
|
|
111
|
+
rootType: types.ConfigRoot,
|
|
112
|
+
externalRefResolver,
|
|
113
|
+
}));
|
|
114
|
+
walkDocument({
|
|
115
|
+
document: config.document,
|
|
116
|
+
rootType: types.ConfigRoot,
|
|
117
|
+
normalizedVisitors,
|
|
118
|
+
resolvedRefMap,
|
|
119
|
+
ctx,
|
|
120
|
+
});
|
|
121
|
+
return ctx.problems;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=lint.js.map
|
package/lib/lint.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
|
package/lib/logger.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as colorette from 'colorette';
|
|
2
|
+
export declare const colorOptions: {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const colorize: typeof colorette;
|
|
6
|
+
export interface LoggerInterface {
|
|
7
|
+
info(message: string): void;
|
|
8
|
+
warn(message: string): void;
|
|
9
|
+
output(message: string): void;
|
|
10
|
+
error(message: string): void;
|
|
11
|
+
printNewLine(): void;
|
|
12
|
+
printSeparator(separator: string): void;
|
|
13
|
+
indent(str: string, level: number): string;
|
|
14
|
+
}
|
|
15
|
+
declare class Logger implements LoggerInterface {
|
|
16
|
+
info(str: string): boolean | void;
|
|
17
|
+
warn(str: string): boolean | void;
|
|
18
|
+
error(str: string): boolean | void;
|
|
19
|
+
output(str: string): boolean | void;
|
|
20
|
+
printNewLine(): void;
|
|
21
|
+
printSeparator(separator: string): boolean | void;
|
|
22
|
+
indent(str: string, level: number): string;
|
|
23
|
+
}
|
|
24
|
+
export declare const logger: Logger;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAOvC,eAAO,MAAM,YAAY;;CAAoB,CAAC;AAE9C,eAAO,MAAM,QAAQ,kBAQnB,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,IAAI,IAAI,CAAC;IACrB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,cAAM,MAAO,YAAW,eAAe;IACrC,IAAI,CAAC,GAAG,EAAE,MAAM;IAIhB,IAAI,CAAC,GAAG,EAAE,MAAM;IAIhB,KAAK,CAAC,GAAG,EAAE,MAAM;IAIjB,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,YAAY;IASZ,cAAc,CAAC,SAAS,EAAE,MAAM;IAYhC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAOlC;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
package/lib/logger.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as colorette from 'colorette';
|
|
2
|
+
import { isBrowser } from './env.js';
|
|
3
|
+
import { identity } from './utils/identity.js';
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5
|
+
// @ts-ignore this works but some types are not working
|
|
6
|
+
export const colorOptions = colorette.options;
|
|
7
|
+
export const colorize = new Proxy(colorette, {
|
|
8
|
+
get(target, prop) {
|
|
9
|
+
if (isBrowser) {
|
|
10
|
+
return identity;
|
|
11
|
+
}
|
|
12
|
+
return target[prop];
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
class Logger {
|
|
16
|
+
info(str) {
|
|
17
|
+
return isBrowser ? console.info(str) : process.stderr.write(str);
|
|
18
|
+
}
|
|
19
|
+
warn(str) {
|
|
20
|
+
return isBrowser ? console.warn(str) : process.stderr.write(colorize.yellow(str));
|
|
21
|
+
}
|
|
22
|
+
error(str) {
|
|
23
|
+
return isBrowser ? console.error(str) : process.stderr.write(colorize.red(str));
|
|
24
|
+
}
|
|
25
|
+
output(str) {
|
|
26
|
+
return isBrowser ? console.log(str) : process.stdout.write(str);
|
|
27
|
+
}
|
|
28
|
+
printNewLine() {
|
|
29
|
+
if (isBrowser) {
|
|
30
|
+
console.log('\n');
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// Add a space to ensure the line is not empty in GitHub CI environments, otherwise it will be hidden
|
|
34
|
+
process.stdout.write(' \n');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
printSeparator(separator) {
|
|
38
|
+
const windowWidth = process.stdout.columns || 80;
|
|
39
|
+
const separatorLine = separator
|
|
40
|
+
.repeat(Math.ceil(windowWidth / separator.length))
|
|
41
|
+
.slice(0, windowWidth);
|
|
42
|
+
const coloredSeparatorLine = isBrowser ? separatorLine : colorize.gray(separatorLine);
|
|
43
|
+
return isBrowser
|
|
44
|
+
? console.log(coloredSeparatorLine)
|
|
45
|
+
: process.stdout.write(coloredSeparatorLine);
|
|
46
|
+
}
|
|
47
|
+
indent(str, level) {
|
|
48
|
+
const indentChar = isBrowser ? ' ' : '\xa0';
|
|
49
|
+
return str
|
|
50
|
+
.split('\n')
|
|
51
|
+
.map((line) => indentChar.repeat(level) + line)
|
|
52
|
+
.join('\n');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export const logger = new Logger();
|
|
56
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|