[RRFC] Share Dependencies source in one folder across all projects
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 777
- Forks
- 267
- PR merge metrics
- No merged PRs in 30d
Description
Share Dependencies source in one folder like Maven, instead of repetitive node modules folder in all projects.
Maven has ./m2/repository/ directory which has all maven dependencies sources which downloaded from maven repo website classified by package name and version.
Maven has pom.xml file which equivalent to package.json file in node, If any project depending on any dependency during build or development phase, it will be collected from the shared local repo folder otherwise it will be pulled from website to local repo .
so it would be better if NPM support that instead of installing same dependencies sources in local folder node_modules for all projects !!
there are many dependencies which has large size like angular and electron , why should I duplicate the same dependencies sources in all projects which I have , also why should I download all files each time I run npm install !! .
Shared repo folder will save time and resources for us as a developers.
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 how npm currently installs dependencies into each project's node_modules directory and how package.json expresses those dependencies. Compare the requested behavior with Maven's shared m2/repository model. Done should mean dependencies can be reused across projects without repeated downloads or duplicated local sources.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100