-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Update JS dependencies and webpack #14118
Conversation
silverwind
commented
Dec 22, 2020
•
edited
Loading
edited
- Update all JS dependencies
- Adapt webpack config for version 5
- Update to Less 4.0, adapting usage of removed mixin syntax
- Enable new ESLint rules and fix discovered issues
eab206b
to
e5c7d70
Compare
|
cli flags seem to have changed in an incompatible way and it also seems compilation gets slower with the upgraded cli. I'll check thought.
|
I don't think we can upgrade |
It looks like there's actually no more blockers for webpack 5, monaco plugin does not specify compatibilty but seems to work, so I'll try putting that update in here. |
Upgrade to webpack 5 is now included as well as some changes regarding nicer monaco language chunk filenames. The stats output has changed considerably and I've tried to replicate what we had before (e.g. just a list of output assets). |
Prod build is failing, it looks like we're blocked by xz64/license-webpack-plugin#67 with webpack 5. |
Switched to a different license generation plugin that is compatible with webpack 5. Output should be nearly identical but that plugin does not offer a way to manually add modules so octicons is currently not featured in the output. |
Still some webpack issues. |
Ok it's ready now. I had to overwrite one module for license generation because it had a non-compliant |
|
Found one more issue with it: xz64/license-webpack-plugin#89 |
I think we shouldn't be holding off this update until Also, I'm not totally happy with the new webpack output as it's less readable than before, but I guess we can not really change that. |
Switched back to
|
e9f9315
to
05934b8
Compare
Everything working now, squashed and ready. |
d0de68d
to
7aac353
Compare
- Update all JS dependencies - Adapt webpack config for version 5 - Update to Less 4.0, adapting usage of removed mixin syntax - Enable new ESLint rules and fix discovered issues
Gone back to the other license plugin because it performs much faster.
Overall, webpack 5 seems about 20% slower than webpack 4 but I guess it's something we have to accept for now. |
@silverwind If it's slower, but an upgrade is really necessary? |
Right now we could live with webpack 4 but it will eventually go out of support and if I recall correctly, webpack 5 will be required for certain things like #12459 because if offers additional options. I plan to look into pre-building monaco which is the biggest chunk of webpack build time, which should then get us down to probably half of what it is now. |
Actually the perf regression isn't so bad, maybe 10% and I expect it to become faster in future updates. |
Remove the dir named node_modules, and rebuild rm -rf node_modules/
TAGS="bindata sqlite sqlite_unlock_notify" make build |