Skip to content

Widen @aws-appsync/eslint-plugin peer dep range to include eslint 10 #408

Description

@bilalq

Summary

@aws-appsync/eslint-plugin@2.0.2 declares its eslint peer dependency as:

"peerDependencies": {
  "eslint": "^8.57.0 || ^9.0.0"
}

This causes ERESOLVE failures on npm install for projects that have upgraded to ESLint v10, even though the plugin appears to
be runtime-compatible.

Why I believe v10 compatibility is already there

I inspected lib/index.js in the published tarball. The plugin:

  • Imports only @typescript-eslint/parser from the eslint ecosystem — no eslint internals, no Linter, no rule-tester used at
    runtime.
  • Exports flat-config-shaped configs (plugin.configs.recommended uses plugins / languageOptions / rules), which is the shape
    ESLint v9+ consumes natively.
  • Each rule file is a standard ESLint rule object (meta + create) that uses only the public rule API.

There's nothing I can see that would break on v10.

Verification

With npm install --legacy-peer-deps to bypass the peer check, I'm running the plugin successfully under:

  • eslint@10.1.0
  • @typescript-eslint/parser@8.58.0
  • NodeJS 24.14.1

eslint --print-config confirms all 22 @aws-appsync/* rules are applied to matched resolver files, and lint runs complete without errors against our resolver sources.

Requested change

Widen the peer range to include v10:

"peerDependencies": {                                                                                                        
  "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0"
}                  

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions