[No QA] Isolate Jest TypeScript project - #100124
Conversation
|
The Jest failure is unrelated to this PR and reproduces locally on unchanged Failing test: Expected CI: https://github.com/Expensify/App/actions/runs/33595331926/job/100137520826 |
|
Tracked the unrelated date-boundary failure in https://github.com/Expensify/Expensify/issues/677843. Knip is fixed and passing on the latest run. |
|
@youssef-lr 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] |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 roryabraham has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
@roryabraham the PR causes the test files to show red squiggly lines.
|
|
🚀 Deployed to staging by https://github.com/roryabraham in version: 9.4.70-0 🚀
|
|
Oh, sorry about that @bernhardoj. In #99291 I was planning to reconfigure these separate TS projects back into a single project using Project References, with a root config owning all the subprojects. I think that will probably integrate better with IDEs. |
|
🚀 Deployed to staging by https://github.com/roryabraham in version: 9.4.72-0 🚀
|

Explanation of Change
Create a dedicated
tsconfig.jest.json, move the Jest type reference and matcher augmentation intotests/globals.d.ts, and point TypeScript/ESLint test paths at the new project. The root app project no longer loads Jest types or Jest test roots; its unrelated include paths remain unchanged.This intentionally lands the project boundary before phase 2. Adding
moduleSuffixes: [".web", ""]still exposes the same source resolution errors addressed by #99495, so that option remains deferred rather than adding temporary ESLint restrictions or source backstops here.Fixed Issues
For #99289
PROPOSAL: N/A
Tests
npm run typecheck.tsconfig.json,tsconfig.jest.json,tsconfig.bun.json,tsconfig.node.json, and the Victory Chart Renderer project all pass.npm run lint-changed.npm run spell-changed.npm test -- --runInBand --silent tests/unit/parseAndCollectJSONsTest.ts tests/unit/retryWithBackoffTests.ts.Offline tests
Not applicable: tooling-only change.
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionScreenshots/Videos
Android: Native
Not applicable: tooling-only change.
Android: mWeb Chrome
Not applicable: tooling-only change.
iOS: Native
Not applicable: tooling-only change.
iOS: mWeb Safari
Not applicable: tooling-only change.
MacOS: Chrome / Safari
Not applicable: tooling-only change.