-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
[AIRFLOW-6272] Switch from npm to yarnpkg for managing front-end dependencies #6844
Conversation
It is: - quicker to install - easier to get repeatable results - Takes up less space (130MB/15k files vs 190MB/23k files) - nicer to user (has better help)
No real reason we have to switch, I just find yarn nicer to use |
Just a question - if we are going to change - why don't we change to pnpm instead. It seems it's relatively new but stable/recommended package managers for node. And I like the output of it even more than yarn's. Also it shares downloaded packages via symbolic/hard links to .pnpm directory thus saving space. It also has saner (than npm) commands (similar to yarn):
rather than
It is also quite significantly faster. I installed all packages for airflow with npm, pnpm and yarn I got (with cache removed):
I could not check npm in the same way (as the latest npm fails installing our packages on my mac currently. But I think the savings are significant pnpm vs. yarn. |
Also it seems pnpm has a nicer way of handling accidentally installed packages: https://medium.com/pnpm/pnpms-strictness-helps-to-avoid-silly-bugs-9a15fb306308 |
We could, I'll check it out - my first thing though is that pnpm is mostly the work of one person, where as yarn is backed by facebook. Don't know if that is an issue or not. |
Actually one reason I think to use yarn over pnpm -- yarn will detect and resolve conflicts in the lock file, and from what I can see pnpm won't. |
Yeah. I have no strong preference here - I usually do not touch those parts. But the arguments with community and conflict resolution are valid. There is this issue still unresolved about conflict resolution in pnpm pnpm/pnpm#2036. And since we are going to do some UI revamp shortly, conflicts might happen more frequently (they are not a problem now when we do not work on UI actively. I am happy to rely on your choice and use yarn. |
We have more experience with Yarn so let's stick with that. |
Fine with me :) |
Codecov Report
@@ Coverage Diff @@
## master #6844 +/- ##
==========================================
+ Coverage 84.49% 84.56% +0.06%
==========================================
Files 680 680
Lines 38392 38451 +59
==========================================
+ Hits 32441 32517 +76
+ Misses 5951 5934 -17
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small change to the documentation.
Co-Authored-By: Jarek Potiuk <[email protected]>
…ndencies (apache#6844) It is: - quicker to install - easier to get repeatable results - Takes up less space (130MB/15k files vs 190MB/23k files) - nicer to user (has better help)
…ndencies (apache#6844) It is: - quicker to install - easier to get repeatable results - Takes up less space (130MB/15k files vs 190MB/23k files) - nicer to user (has better help) (cherry picked from commit 2a157e3)
…ndencies (apache#6844) It is: - quicker to install - easier to get repeatable results - Takes up less space (130MB/15k files vs 190MB/23k files) - nicer to user (has better help)
Make sure you have checked all steps below.
Jira
Description
It is: