Checks aren't catching deprecation warnings #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
We should at least get a warning for these. I only see this in my IDE but the checks don't catch it:
screenshot:

@claude work on a fix pls
Pushed to
claude/deprecation-warnings-11.Summary
The root cause:
tsc --noEmitnever fails on@deprecated-tagged APIs — that's purely an editor/IDE hint — andeslint-config-expo's TypeScript rules don't include type-aware linting, so the@typescript-eslint/no-deprecatedrule (which needs type info) was never active.Fix (
eslint.config.js): enabled type-aware linting for.ts/.tsxfiles viaprojectService: trueand turned on@typescript-eslint/no-deprecatedas awarn(consistent with the other rules in that config — it surfaces innpm run checks:lintoutput without failing the build, matching the "at least get a warning" ask).Running this against the current codebase immediately caught two real deprecations (not the exact
runOnJSone from the screenshot — that wasn't present in this code — but the same class of problem):SegmentedControl.tsx:TouchableOpacityfromreact-native-gesture-handleris deprecated → switched toPressablefromreact-native.NotificationsScreen.tsx:DateTimePicker'sonChangeprop is deprecated → split intoonValueChange(applies the selected time) andonDismiss(closes the picker without a change).Verified
npm run checks:pr(lint + tsc + format) passes clean with 0 errors/warnings after the fixes.@claude nice create a Pr i'll test it, fix a small thing and merge it
The PR was created successfully. No file changes were needed on my end since the fix was already committed to
claude/deprecation-warnings-11by a previous run.Summary
Opened PR #13:
fix(lint): surface deprecation warnings in CI checks, fromclaude/deprecation-warnings-11intomain.The branch already contained the fix from the earlier run:
eslint.config.js: enabled type-aware linting (projectService: true) for.ts/.tsxfiles and turned on@typescript-eslint/no-deprecatedas awarn, so deprecated-API usage now surfaces innpm run checks:lintinstead of only in the IDE.SegmentedControl.tsx: replaced deprecatedTouchableOpacity(fromreact-native-gesture-handler) withPressable(fromreact-native).NotificationsScreen.tsx: replacedDateTimePicker's deprecatedonChangewithonValueChange/onDismiss.Branch was already up to date with
main, so no new commits or pushes were needed — just the PR itself. Ready for you to test and merge.