Description
The create-react-app eslint configuration which we extend is the source of many of our peer dependency errors. We need to categorically overhaul and update our peer deps, but for now, I propose we remove the CRA dependency in favor of copying those rules which it provides directly into our first-party HM configuration.
As an experiment I have done this on a plugin which was previously using this configuration, humanmade/datavis-block, and by removing CRA I was able to eliminate a peer dependency warning which prevented the Create Release GitHub action from running properly.
While the result is a more verbose rules list, having fewer entries in the extends
array—and, critically, not depending on any third-party ESLint configuration which defines its own peer dependencies which may conflict with ours—will make this project more maintainable, and avoid the need to use --legacy-peer-deps
.