processing / processing/p5.js-web-editor

Cannot run `npm install` due to dependency conflicts in eslint packages

Open
#2,219 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area: Dependencies Enhancement
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.

image

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.