Skip to content

Change Request: Fork Ajv #19369

@nzakas

Description

@nzakas

ESLint version

HEAD

What problem do you want to solve?

ESLint is currently using Ajv v6.12.6 while the most recent version is v8.17.1. We've been stuck on v6.12.6 because breaking changes caused too many problems when we tried before. This mostly hasn't been a problem because v6.12.6 has been solid for us and it's more important not to break the ecosystem of rules than it is to be up-to-date with the latest JSON Schema spec.

However, Ajv v6.12.6 uses the native punycode module, which is now deprecated and will be removed, resulting in people seeing deprecation notices whenever ESLint is executed.

Eventually, when punycode is removed, ESLint will crash because of this.

What do you think is the correct solution?

Because upgrading Ajv seems like it's not an option at this point, the best solution we have is to fork Ajv v6.12.6 and use the userland punycode package instead. This will also give us the opportunity to upgrade other dependencies as necessary.

Participation

  • I am willing to submit a pull request for this change.

Additional comments

No response

Metadata

Metadata

Assignees

Labels

acceptedThere is consensus among the team that this change meets the criteria for inclusioncoreRelates to ESLint's core APIs and featuresenhancementThis change enhances an existing feature of ESLint

Projects

Status

Complete

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions