APIDevTools / json-schema-ref-parser

Parse, Resolve, and Dereference JSON Schema $ref pointers in Node and browsers
https://apitools.dev/json-schema-ref-parser
MIT License
942 stars 226 forks source link

Explicitly support Node v12+ #335

Closed bcherny closed 6 months ago

bcherny commented 6 months ago

Update: This is harder than it seemed..

This PR explicitly adds support for Node v12+, in line with what json-schema-to-typescript supports. This change enables json-schema-to-typescript to switch to the latest version of json-schema-ref-parser, and away from our custom fork.

json-schema-to-typescript supports v12+ because 10% of Node users are still on v12-15 (vs. 88% who use v16+). This is a large enough set of users that we want to continue to support them.

To make this work, I:

  1. Removed the unused-imports/no-unused-imports-ts dependency. It is redundant because ESLint's no-unused-vars rule already covers unused imports.
  2. Downgraded @typescript-eslint/parser to the previous major version, since the current version requires Node v18+.
  3. Downgraded jsdom to v19, which is the last version that supports Node 12.

If Github CI passes, this PR is safe to merge 🤞.