Skip to content

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

@bilalq

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions