Comments (3)
if they are all the same version, then there will just be one copy on disk, and one copy inserted in web bundles
@dylang It depends on the package manager and the installation strategy. qnm is not a bundle analyzer, but if you have multiple instances of lodash
in the node_modules
it means you could have multiple instances of lodash
with the same version in the bundle.
"count" checks how many occurrences you have in the node_modules, e.g. if you have 16 directories of lodash
it will say that count is 16. Those 16 directories could be from different versions, or from the same version. qnm reads the lock file to get additional information, but it shows count data based on what you have in the file system as the source of truth.
I agree that having multiple versions of the same module is bad, and that deduplication is helpful and important. I'm willing to add another column of "versions" (in addition to the current "count" column). I would happily accept a PR that adds it.
from qnm.
If you mean the "count" header when running "qnm doctor", this is the amount of occurrences of this module within the node_modules
In the picture above it says that we have 18 instances of @types/node which together weight 27.42mb
from qnm.
count
currently isn't helpful because if they are all the same version, then there will just be one copy on disk, and one copy inserted in web bundles.
It would be helpful if count was how many different/unique versions are specified in the lockfile. Different versions means each version must be downloaded and saved on disk. If included in web bundles, multiple versions of a dependency will cause rapidly increases bundle size.
This is why lockfile deduplication is helpful and important.
from qnm.
Related Issues (20)
- Option `--disable-colors` seems not to be working HOT 1
- fish completions command error HOT 1
- find version in node javascript HOT 1
- Recently changed dependencies HOT 5
- Add a way to include bundled dependencies HOT 5
- Mark a dependency with (resolutions) in case it's affected by yarn's resolutions
- Mark a dependency with (overrides) in case it's affected by npm's overrides
- Idea: Display nohoist indication for packages that affected by the nohoist configuration HOT 1
- Support parsing yarn 3 lock files
- Bug: qnm spawns check.js which eats CPU HOT 3
- Windows: Unable to use on scoped packages HOT 3
- Scoped packages should be displayed using `/` separator, regardless of OS HOT 7
- FR: Support for monorepos within subdirectory? HOT 15
- Dedupe the reasons for a module to be installed
- Use Ellipsis when there are more than 3 reasons for having a module HOT 1
- ENAMETOOLONG: name too long, scandir xxx HOT 1
- Add pnpm support? HOT 8
- Bring back shell autocompletions HOT 1
- Should this work in Windows Anaconda? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qnm.