-
Notifications
You must be signed in to change notification settings - Fork 2.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
Speed up webpack build and rebuild times #12160
Speed up webpack build and rebuild times #12160
Conversation
Without Changes
With changes
I'm on an Intel laptop still, can't wait to upgrade! Very nice improvement 👍 |
|
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.
Great improvement
@Julesssss looks like this was merged without the checklist test passing. Please add a note explaining why this was done and remove the |
No it wasn't. Stupid bot |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
// @react-navigation for web uses the legacy modules (related to react-native-reanimated) | ||
// This results in 33 warnings with stack traces that appear during build and each time we make a change | ||
// We can't do anything about the warnings, and they only get in the way, so we suppress them | ||
'./node_modules/@react-navigation/drawer/lib/module/views/legacy/Drawer.js', |
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.
Not sure we should suppress these. Yes they're annoying but if we suppress them we won't remember to upgrade and fix them. We also won't notice when they're gone and thus will never think to remove this code (which will be zombie code by then)
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.
@react-navigation for web uses the legacy modules
Is this likely to change? The logs add a bunch of unactionable junk to the output which makes it more difficult to parse the output. But I get the point about hiding this permanently, so I'm happy to add them back.
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.
I'm not sure how such problem are managed here
On other projects we'll capture an outstanding "to-do" ticket linking to commit/lines of code as a reminder
I see your point, I can revert the change in my next PR on webpack config.
Maybe there's a way to log this crap just once, instead for every change made, so many warnings just make a habit of ignoring output altogether...
Hey, I noticed you changed some webpack configuration files. This can break production builds. Did you remember to run a production build locally to verify they still work? |
🚀 Deployed to staging by @Julesssss in version: 1.2.22-0 🚀
|
🚀 Deployed to production by @Julesssss in version: 1.2.22-3 🚀
|
Details
Update webpack configuration to speed up bundling
Removing
eslint-loader
halves the build time: #11724 (comment)Adding FS cache boost
npm run web
andnpm run desktop
next usageFixed Issues
$ #11724
PROPOSAL: N/A
Tests
npm run web
npm run desktop
npm run build
&npm run build-staging
npm run desktop-build
&npm run desktop-build-staging
npm run web
on themain
branch and check the output forwebpack 5.74.0 compiled successfully in .... ms
npm run web
from this PR and check the same - now you see the effects of removingeslint-loader
npm run web
again - now you see the effects of cacheQA Steps
PR Review Checklist
PR Author Checklist
### Fixed Issues
section aboveTests
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
filesWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed
### Fixed Issues
section aboveTests
sectionQA steps
sectiontoggleReport
and notonIconClick
).src/languages/*
filesWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
have been tested & I retested again)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Screenshots
Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android