-
-
Notifications
You must be signed in to change notification settings - Fork 7.8k
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
Upgrade frontend dependencies (part 1) #12468
Conversation
Interesting, I can't reproduce the |
Usually the final commit should bump the provision version. Since when all the dependencies upgrade commit are merged we only have to bump the version once so others do |
tools/webpack.config.ts
Outdated
@@ -1,6 +1,7 @@ | |||
import { resolve } from 'path'; | |||
import * as BundleTracker from 'webpack-bundle-tracker'; | |||
import * as webpack from 'webpack'; | |||
import * as webpackDevServer from 'webpack-dev-server'; |
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.
This is what causes the failure in travis ci because webpack-dev-server
is a marked as a dev dependency hence not installed during the production install workflow. You can't reproduce this failure locally since tools/provision
installs webpack-dev-server
.
tools/webpack.config.ts
Outdated
@@ -16,9 +17,13 @@ function getHotCSS(bundle: any[], isProd: boolean): any[] { | |||
].concat(bundle); | |||
} | |||
|
|||
export default (env?: string): webpack.Configuration => { | |||
interface Configuration extends webpack.Configuration { | |||
devServer?: webpackDevServer.Configuration; |
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.
Does webpack types really does not have types for devServer
config? I'd expect them to have that since it part of webpack configuration.
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.
There are typescript types avalible for webpack-dev-server at @types/webpack-dev-server
. I think you can use them instead of having to import webpack-dev-server
since that's and extra dependency that we don't want to install in production.
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.
The devServer member was moved out of webpack into webpack-dev-server in one of the new versions.
@priyank-p cool thanks for the help! |
69ef362
to
36a0336
Compare
Looks like it's failing the frontend linter in CI. For the emoji thing, @HarshitOnGitHub can probably provide the backstory. |
Updated .eslintrc with new rules.
v1.41.0 introduced the {resposive: true} option, we could use it.
v7.1.0 allows the loader to use any sass implementation. The new reference implementation of sass, dart-sass, is faster than libsass in toy benchmarks but perform about the same when compiling bootstrap. So we will stay on libsass for now.
Also set it to concrete version.
The loader is not currently used.
(Just want to mention that the |
This is great, merged, thanks @tommyip and @priyank-p! Aside from continuing work on upgrading the rest, can you do a follow-up test of using testing Again, huge thanks for doing this upgrade! |
Yeah I will work on that. The stats page need some restructuring to allow the responsive option to work properly since we are currently fixing the charts to 750px wide. |
Upgrade low-impact (patch and minor level updates) frontend dependencies.
The remaining packages that need to be updated in another PR are either:
@timabbott should each commit bump the provision version or just the final one?
Testing Plan:
Read all the change logs to check if there are any breaking changes / manual testing
GIFs or Screenshots: