max-mapper / max-mapper/player-physics
Is there any reason this needs the SPECIFIC three.js version 0.54.0
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 17
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
Installing all of maxogden's plugins results in three copies of Three.JS (all different versions) as NPM traverses the dependency hierarchy. For example, player-physics requires Three.JS version 0.54.0 (even though just about any Three.JS version has the vector and Object3D classes that it uses). Meanwhile, voxel-engine requires Three.JS version 0.56.0. There should only be one. This happens with other dependencies as well (multiple copies of the same dependency differing in minor version numbers). The problem is that various plugins' package.json files require unnecessarily SPECIFIC versioned dependencies. Unless there is a hard requirement for a very specific version of a dependency, a more permissive version filter should be used (I haven't seen such a requirement in any of the code but all of the package.json files are versioned specifically -- this becomes more of a headache for highly modularized projects like voxel.JS). Overly specific versioned dependencies defeat the purpose of a package manager.
Contributor guide
No contributing guide indexed for this repository
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 package.json dependency declarations mentioned in the issue, especially the Three.JS version required by player-physics. Compare them with the dependency versions used by the other plugins and check whether a more permissive range avoids duplicate installations. Done means the package declarations no longer unnecessarily pin compatible minor versions and npm can resolve a single compatible copy where possible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, three.js
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100