You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The require-fetch-try-catch ESLint rule in eslint-factory/src/index.ts has a false negative: isAwaitFetchCall only matches an awaited CallExpression whose callee is the bare fetch Identifier. Any member-expression chain (await fetch(url).then(...), await fetch(url).catch(...), await fetch(url).json()) has a MemberExpression callee and is silently ignored.
This means bare .then() chains with no rejection handler escape detection and could crash on network TypeError.
Grounded example: validate_secrets.cjs:65,85 — await fetch(...).catch(rethrowAbortError) escapes the rule.
Suggested Changes
Update isAwaitFetchCall to recognize member-expression chains on fetch as fetch calls
Recognize terminal .catch(...) or 2-arg .then(onFulfilled, onRejected) as satisfying the try-catch requirement (do not flag these as violations)
Activity
github-actions commentedon Jul 26, 2026
This issue was automatically closed because it expired on 2026-07-26T13:14:35.013Z.