processing / processing/p5.js-web-editor
Cannot run `npm install` due to dependency conflicts in eslint packages
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.7k
- Forks
- 1.7k
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 8
Description
Increasing Access
Currently you cannot run npm install to set up the development environment. You must run npm install --legacy-peer-deps. This could be confusing to new developers and make it harder to contribute.
Feature enhancement details
I'm creating this issue so that I can fix it.
npm install does not work in this repo right now due to a dependency conflict on the eslint package. We are using eslint version 7.31.0. However we are using an outdated version of eslint-config-airbnb which expects a much older version of eslint.
We have eslint-config-airbnb@^16.1.0 which expects a peer dependency of eslint@^4.9.0. We can fix the conflict by updating the eslint-config-airbnb package to its latest version which is in the 19.x range -- up 3 major versions. This has not been done previously because updating that package introduces lots of new rules and causes lots of code to fail linting checks. I opened #2217 to discuss the specifics of what new rules we like and don't like. In order to upgrade the package and fix the npm install conflict without changing lots of code, I recommend modifying the .eslintrc config to mimic the current rule conditions. We can then tackle rules one-by-one.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the eslint dependency declarations and the .eslintrc configuration, then read issue #2217 for the rule changes caused by upgrading eslint-config-airbnb. Done means npm install works without --legacy-peer-deps while the existing lint behavior is preserved as agreed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100