-
-
Notifications
You must be signed in to change notification settings - Fork 26.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve npm install time / space #14
Comments
Sorted by size
|
Perhaps by removing npm progress? Perhaps by making an |
If we remove npm progress, we should implement some sort of spinner. Otherwise, the user would be waiting for 2 entire minutes with no feedback on what is happening :( |
I agree, we could make a spinner that looks a lot better too, using something like Ora |
I am doing a time test now, I'll post the difference here in a couple minutes. |
Hrmm, looks like it isn't really an issue anymore with npm's performance. I got 1.29 without progress and 1.25 with progress 😖 |
Yea, there was a bug in npm related to that but it was fixed. |
Maybe it would be simpler to make something that wasn't specific to this project, that just sped up npm in general. Like if you could specify one cached blob for particular architectures, and then npm installed it, or at least it was a standard mechanism. |
Perhaps the project could use |
@kentcdodds Thanks so much for the tip. |
I don’t think we can do much beyond what I’ve read about known issues with npm 2.x + shrinkwrap + bundledDependencies. npm doesn’t plan to fix it. Shrinkwrap isn’t very common in beginner projects so I think we’ll punt on this. If people want to use shrinkwrap and have issues with our package, they can either upgrade to npm 3 (even on older node) or eject (and then all dependencies will be theirs). |
facebook#14 Add .sass support
A big problem here is deduping sub-dependencies. At time of writing,
There are a handful of other things that take up some time (e.g. packages that depend on stuff for a CLI that isn't used), but deduping is probably a bigger issue. |
Hopefully it should get better with Yarn now that 0.8.0 will use it out of the box when it's installed. |
I am super looking forward to that, but all those versions are still going to be installed. I think the |
Why are they getting installed? Is this because some packages depend on incompatible versions? Can we help by sending PRs to the packages using the more outdated versions? |
Yes.
I have been trying to do so. The dependency graph shows where multiple versions are used, but it is kinda discouraging to look at. |
Another thing that would help would be getting some of the dependencies to exclude tests/examples/config files from their packages. Some of them have a lot of tests (for example, |
@wtgtybhertgeghgtwtg Would you like to create a new issue aimed at slimming our dependencies down? Nobody is working on it but it should be doable given there's somebody who can lead the effort. |
I would love to. I'll try to get that started today. |
I have a list of things that could be done to slim down dependencies, but it has hundreds of items. Should I make the issue and only list the larger ones? |
Yea that's a good start. |
Right now it takes 2m10s to create a new project (almost everything is
npm install
) and generates a 81megnode_modules/
folder. We need to figure out a way to cut this down, this is depressing :(The text was updated successfully, but these errors were encountered: