[NO QA] Eslint9 - fix @typescript-eslint/no-base-to-string#72748
Conversation
54df7f9 to
2df27ff
Compare
|
2df27ff to
0c4825b
Compare
|
@shubham1206agra Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
…to refactor/eslint-9-no-base-to-string
|
@LukasMod Can you merge main here? |
…to refactor/eslint-9-no-base-to-string
|
|
|
@shubham1206agra Updated |
Reviewer Checklist
Screenshots/VideosScreen.Recording.2025-10-21.at.2.21.56.PM.mov |
roryabraham
left a comment
There was a problem hiding this comment.
You can merge main to fix a lot of the lint-changed errors. We can ignore remaining ones if you want to be extra cautious to keep this PR safe
f20fbca to
4524938
Compare
|
@roryabraham I added more unit tests and did your suggestions 👍 |
roryabraham
left a comment
There was a problem hiding this comment.
Sorry @LukasMod, I'd rather merge through failing checks than disable rulesdir/provide-canBeMissing-in-useOnyx. We don't disable it anywhere else and I don't think we should here either.
|
@roryabraham Sure, no problem! Commit reverted |
roryabraham
left a comment
There was a problem hiding this comment.
LGTM, but we have conflicts
…to refactor/eslint-9-no-base-to-string
|
@roryabraham Updated again 👍 |
|
@roryabraham looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
|
Ignored certain lint changed errors as discussed above |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/roryabraham in version: 9.2.38-0 🚀
|
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.2.38-5 🚀
|
Explanation of Change
This PR helps with the migration of the codebase to ESLint 9.
It is follow up to #71593 (base) to help with @typescript-eslint/no-base-to-string.
It introduce SafeString utility. For most inputs, SafeString(value) behaves exactly like String(value). It only differs for plain/default-toString objects, where it first tries JSON.stringify(value) and falls back to "[object Object]" on circular refs.
Fixed Issues
$ #67420
PROPOSAL:
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop