Skip to content

fix: instantiate Ajv2020 for OAS 3.1#1009

Merged
cdimascio merged 4 commits intocdimascio:oas3.1from
luisfidelis:fix/instantiate-ajv2020-openapi31
Nov 10, 2024
Merged

fix: instantiate Ajv2020 for OAS 3.1#1009
cdimascio merged 4 commits intocdimascio:oas3.1from
luisfidelis:fix/instantiate-ajv2020-openapi31

Conversation

@luisfidelis
Copy link
Copy Markdown
Contributor

@luisfidelis luisfidelis commented Nov 8, 2024

hey, i was testing the version 6.0.0 alpha compliant with OAS 3.1 but i couldn't get this working fine with unevaluatedProperties constraint. I checked the code and it was missing the Ajv2020 in request validator.

I changed a bit the structure by creating factories for the Ajv instance and also for the schema, both based on the openapi version. Let me know if it's not standard in the project.

Note: i don't know what's going on with codacy check, it's complaining about missing eslint config for some examples but i didn't change them.

@luisfidelis luisfidelis mentioned this pull request Nov 8, 2024
@cdimascio cdimascio merged commit ef8e7ba into cdimascio:oas3.1 Nov 10, 2024
@cdimascio
Copy link
Copy Markdown
Owner

Thanks will look to roll this into a new alpha release

@cdimascio
Copy link
Copy Markdown
Owner

cdimascio commented Nov 11, 2024

current latest alpha is express-openapi-validator@6.0.0-alpha.5 and includes this change

npm install express-openapi-validator@6.0.0-alpha.5

im very interested in feedeback regarding the validators oas3.1 support

cdimascio added a commit that referenced this pull request Dec 25, 2024
* feat(openapi): support version 3.1

* test(openapi_3.1): ensure that an API with webhooks and no routes is supported

* feat(openapi_3.1): adds open api 3.1 type

* chore(test-scripts): run mocha with --extension instead of glob to pick up subdirectories

Mocha was not picking up the tests in subdirectories with the provided glob. Adding --extension with
the tests extension and setting the root test folder in tests fixed it

* test(openapi-3.1): adds test to ensure an API with only components is considered valid

* test(openapi-3.1): remove unnecessary import

* test(openapi-3.1): add support for summary in info object

* test(openapi-3.1): add support for identifier in license

* test(openapi_3.1): ensure API with type set to null works correctly

* test(open_api3.1): ensure that methods with non-explicit semantics allow request body

* test(open_api3.1): ensure 500 is returned when server variable has no default

* feat(openapi_3.1): ensure API supports an endpoint without response

* feat(openapi_3.1): add full type support for open api 3.1

* test(openapi_3.1): adds test for path item support in components

* fix(openapi_3.1_schema): update schema to fix bug

* feat(openapi_3.1): support reusable path items

* style(linting): fix linting issues

* style(openapi): improve readability of version validation

* docs(schema-validator): clearly state why media-range attribute is not defined

* version 6.0.0-alpha.1 with initial OAS-3.1 support (from PR #882)

* v6.0.0-alpha.2

* feat(openapi): support version 3.1

* test(openapi_3.1): ensure that an API with webhooks and no routes is supported

* feat(openapi_3.1): adds open api 3.1 type

* chore(test-scripts): run mocha with --extension instead of glob to pick up subdirectories

Mocha was not picking up the tests in subdirectories with the provided glob. Adding --extension with
the tests extension and setting the root test folder in tests fixed it

* test(openapi-3.1): adds test to ensure an API with only components is considered valid

* test(openapi-3.1): remove unnecessary import

* test(openapi-3.1): add support for summary in info object

* test(openapi-3.1): add support for identifier in license

* test(openapi_3.1): ensure API with type set to null works correctly

* test(open_api3.1): ensure that methods with non-explicit semantics allow request body

* test(open_api3.1): ensure 500 is returned when server variable has no default

* feat(openapi_3.1): ensure API supports an endpoint without response

* feat(openapi_3.1): add full type support for open api 3.1

* test(openapi_3.1): adds test for path item support in components

* fix(openapi_3.1_schema): update schema to fix bug

* feat(openapi_3.1): support reusable path items

* style(linting): fix linting issues

* style(openapi): improve readability of version validation

* docs(schema-validator): clearly state why media-range attribute is not defined

* version 6.0.0-alpha.1 with initial OAS-3.1 support (from PR #882)

* v6.0.0-alpha.2

* alpha.3

* feat(openapi): support version 3.1

* feat(openapi_3.1): adds open api 3.1 type

* fix(openapi_3.1_schema): update schema to fix bug

* style(linting): fix linting issues

* fix: instantiate Ajv2020 for OAS 3.1 (#1009)

* chore: create factories for ajvInstance and schema

* test: writing some tests

* chore: removing ts from editorconfig

* chore: add eslint

* update alpha 3.1 version

* fix: examples/4-eov-operations-babel/package.json & examples/4-eov-operations-babel/package-lock.json to reduce vulnerabilities (#1021)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-PATHTOREGEXP-8482416

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: package.json & package-lock.json to reduce vulnerabilities (#1017)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-PATHTOREGEXP-8482416

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* chore(deps): bump path-to-regexp and express in /examples/1-standard (#1016)

Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `path-to-regexp` from 0.1.10 to 0.1.12
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](pillarjs/path-to-regexp@v0.1.10...v0.1.12)

Updates `express` from 4.21.0 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](expressjs/express@4.21.0...4.21.2)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: upgrade express-openapi-validator from 5.3.7 to 5.3.8 (#1011)

Snyk has created this PR to upgrade express-openapi-validator from 5.3.7 to 5.3.8.

See this package in npm:
express-openapi-validator

See this project in Snyk:
https://app.snyk.io/org/cdimascio/project/53639b22-8ff0-4bd5-97c3-ae30b20a20f4?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: upgrade express-openapi-validator from 5.3.6 to 5.3.7 (#1008)

Snyk has created this PR to upgrade express-openapi-validator from 5.3.6 to 5.3.7.

See this package in npm:
express-openapi-validator

See this project in Snyk:
https://app.snyk.io/org/cdimascio/project/0ac9a5bd-9a7f-4c0e-bf8b-51d0bd4c4448?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: upgrade @apidevtools/json-schema-ref-parser from 11.7.0 to 11.7.2 (#1006)

Snyk has created this PR to upgrade @apidevtools/json-schema-ref-parser from 11.7.0 to 11.7.2.

See this package in npm:
@apidevtools/json-schema-ref-parser

See this project in Snyk:
https://app.snyk.io/org/cdimascio/project/f63fb44e-f154-45ba-b1f0-20d49ea578ce?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* adds standard example for oas-3.1

* v6.0.0.alpha.6

* update oas3.1 example

* v5.4.0 - adds initial oas3.1 support

* updates readme for oas3.1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Sergio Ferreira <sergioferreira977@hotmail.com>
Co-authored-by: carmine <carmine@everco.ai>
Co-authored-by: Luis Philipe Fidelis <luizsale10@gmail.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cdimascio added a commit that referenced this pull request Mar 2, 2025
* feat(openapi): support version 3.1

* test(openapi_3.1): ensure that an API with webhooks and no routes is supported

* feat(openapi_3.1): adds open api 3.1 type

* chore(test-scripts): run mocha with --extension instead of glob to pick up subdirectories

Mocha was not picking up the tests in subdirectories with the provided glob. Adding --extension with
the tests extension and setting the root test folder in tests fixed it

* test(openapi-3.1): adds test to ensure an API with only components is considered valid

* test(openapi-3.1): remove unnecessary import

* test(openapi-3.1): add support for summary in info object

* test(openapi-3.1): add support for identifier in license

* test(openapi_3.1): ensure API with type set to null works correctly

* test(open_api3.1): ensure that methods with non-explicit semantics allow request body

* test(open_api3.1): ensure 500 is returned when server variable has no default

* feat(openapi_3.1): ensure API supports an endpoint without response

* feat(openapi_3.1): add full type support for open api 3.1

* test(openapi_3.1): adds test for path item support in components

* fix(openapi_3.1_schema): update schema to fix bug

* feat(openapi_3.1): support reusable path items

* style(linting): fix linting issues

* style(openapi): improve readability of version validation

* docs(schema-validator): clearly state why media-range attribute is not defined

* version 6.0.0-alpha.1 with initial OAS-3.1 support (from PR #882)

* v6.0.0-alpha.2

* feat(openapi): support version 3.1

* test(openapi_3.1): ensure that an API with webhooks and no routes is supported

* feat(openapi_3.1): adds open api 3.1 type

* chore(test-scripts): run mocha with --extension instead of glob to pick up subdirectories

Mocha was not picking up the tests in subdirectories with the provided glob. Adding --extension with
the tests extension and setting the root test folder in tests fixed it

* test(openapi-3.1): adds test to ensure an API with only components is considered valid

* test(openapi-3.1): remove unnecessary import

* test(openapi-3.1): add support for summary in info object

* test(openapi-3.1): add support for identifier in license

* test(openapi_3.1): ensure API with type set to null works correctly

* test(open_api3.1): ensure that methods with non-explicit semantics allow request body

* test(open_api3.1): ensure 500 is returned when server variable has no default

* feat(openapi_3.1): ensure API supports an endpoint without response

* feat(openapi_3.1): add full type support for open api 3.1

* test(openapi_3.1): adds test for path item support in components

* fix(openapi_3.1_schema): update schema to fix bug

* feat(openapi_3.1): support reusable path items

* style(linting): fix linting issues

* style(openapi): improve readability of version validation

* docs(schema-validator): clearly state why media-range attribute is not defined

* version 6.0.0-alpha.1 with initial OAS-3.1 support (from PR #882)

* v6.0.0-alpha.2

* alpha.3

* feat(openapi): support version 3.1

* feat(openapi_3.1): adds open api 3.1 type

* fix(openapi_3.1_schema): update schema to fix bug

* style(linting): fix linting issues

* fix: instantiate Ajv2020 for OAS 3.1 (#1009)

* chore: create factories for ajvInstance and schema

* test: writing some tests

* chore: removing ts from editorconfig

* chore: add eslint

* update alpha 3.1 version

* fix: examples/4-eov-operations-babel/package.json & examples/4-eov-operations-babel/package-lock.json to reduce vulnerabilities (#1021)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-PATHTOREGEXP-8482416

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: package.json & package-lock.json to reduce vulnerabilities (#1017)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-PATHTOREGEXP-8482416

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* chore(deps): bump path-to-regexp and express in /examples/1-standard (#1016)

Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `path-to-regexp` from 0.1.10 to 0.1.12
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](pillarjs/path-to-regexp@v0.1.10...v0.1.12)

Updates `express` from 4.21.0 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](expressjs/express@4.21.0...4.21.2)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: upgrade express-openapi-validator from 5.3.7 to 5.3.8 (#1011)

Snyk has created this PR to upgrade express-openapi-validator from 5.3.7 to 5.3.8.

See this package in npm:
express-openapi-validator

See this project in Snyk:
https://app.snyk.io/org/cdimascio/project/53639b22-8ff0-4bd5-97c3-ae30b20a20f4?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: upgrade express-openapi-validator from 5.3.6 to 5.3.7 (#1008)

Snyk has created this PR to upgrade express-openapi-validator from 5.3.6 to 5.3.7.

See this package in npm:
express-openapi-validator

See this project in Snyk:
https://app.snyk.io/org/cdimascio/project/0ac9a5bd-9a7f-4c0e-bf8b-51d0bd4c4448?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: upgrade @apidevtools/json-schema-ref-parser from 11.7.0 to 11.7.2 (#1006)

Snyk has created this PR to upgrade @apidevtools/json-schema-ref-parser from 11.7.0 to 11.7.2.

See this package in npm:
@apidevtools/json-schema-ref-parser

See this project in Snyk:
https://app.snyk.io/org/cdimascio/project/f63fb44e-f154-45ba-b1f0-20d49ea578ce?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* adds standard example for oas-3.1

* v6.0.0.alpha.6

* update oas3.1 example

* v5.4.0 - adds initial oas3.1 support

* updates readme for oas3.1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Sergio Ferreira <sergioferreira977@hotmail.com>
Co-authored-by: carmine <carmine@everco.ai>
Co-authored-by: Luis Philipe Fidelis <luizsale10@gmail.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants