-
-
Notifications
You must be signed in to change notification settings - Fork 57
feat: clear console before ready log #683
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
Conversation
| import { loadTsconfig } from './utils/tsconfig'; | ||
|
|
||
| rsbuildLogger.override({ | ||
| start: (message) => { |
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.
Overriding logger.start is not a good idea, how about using a hook like onBeforeBuild
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.
We cannot guarantee that logger.start will not be called from somewhere else
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 tried onBeforeBuild before, but when multiple environments presents. It will be called multiple times. I think I should re-implement something like Building... with Rspack watchRun and done hook in Rslib side.
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.
onBeforeBuild is a global hook, are you registering plugins in global?
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.
onBeforeBuild is a global hook, are you registering plugins in global?
Yes. 🤡
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.
@chenjiahan 🤔 Does Rsbuild interest in embed this clear so Rslib can inherit? The usage are same. It's better to align with Rsbuild.
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.
Rsbuild will not clear the logs before rebuilding, as this will likely cause useful logs to be cleared and make troubleshooting more difficult.
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'd like to give a try on Rslib, hoping it fit with the simpler lib scenario. 😀
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.
In fact, Rsbuild early versions will clear the log by default, but we later found that this caused more trouble than benefit, so we canceled it. However, for Rslib scenarios it is still worth a try.
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.
Can't find an elegant way to archive this, I'm heading to close for now.
onBeforeBuildwill run afterBuilding...and clear it, so it's not an option.watchRunis good, but can't find a way to register the plugin for only once. Register to the first environment only is also an ugly workaround.
Summary
Previously, Rslib's logs have continuously accumulated results from previous builds, which can make it challenging to observe the outcomes of the most recent builds, particularly when there were errors in earlier builds.
In this PR, soft clear on watch mode.
Before:
before.mp4
After:
after.mp4
Related Links
Checklist