eslint-plugin-jsx-a11y@6.10.2 declares this: "peerDependencies" : { "eslint" : "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } ESLint's current release is 10.9.0, so npm refuses to put them in the same tree: npm error Could not resolve dependency: npm error peer eslint@"^3 || ... || ^9" from eslint-plugin-jsx-a11y@6.10.2 I forced it with --legacy-peer-deps , turned on all 39 rules the plugin exports, and pointed it at a pile of ordinary JSX....