[eslint-refiner] ESLint Refiner — Daily Report 2026-07-02 #42916
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by ESLint Refiner. A newer discussion is available at Discussion #43131. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
Today's run focused on the last unanalyzed rule,
no-unsafe-promise-catch-error-property, and ran live diagnostics over every.catch(err => ...)callback inactions/setup/js. The rule has drifted behind its try/catch siblingno-unsafe-catch-error-property, which received refinements (from #42190/#42188/#42189) the promise rule never got. Three non-duplicate issues were filed. A triage pass also confirmed several older issues are now fixed in source and can be closed.Key metrics
no-unsafe-promise-catch-error-property(first review).catch(err=>...)sites inspectederr.message)claude_harness.cjs:538,codex_harness.cjs:593,copilot_harness.cjs:1185,emit_outcome_spans.cjs:317apply_samples.cjs:651(err && err.stack ? ... : String(err))New issues filed
err && err.stack ? err.stack : String(err)idiom (live atapply_samples.cjs:651). Truthiness-gated access with aString(err)fallback is safe and should not be reported.err["message"]and gives no suggestion for non-messageprops (stack/code/status/cause/name). Port both fromno-unsafe-catch-error-property(ref eslint-factory: no-unsafe-catch-error-property — add suggestions for stack/code and cover computed access #42190).err.messagetextually before a laterinstanceof Errorslips through. Mirrors sibling issue eslint-factory: no-unsafe-catch-error-property guard is whole-block, causing branch-order false negatives #42189.Live diagnostics detail (16 sites)
Correctly silent (guarded by
instanceof Errorin-expression):start_mcp_gateway.cjs:940-941,mcp_cli_bridge.cjs:1262,copilot_sdk_driver.cjs:157,pi_agent_core_driver.cjs:392,copilot_sdk_session.cjs:400.safe_outputs_mcp_server_http.cjs:362&mcp_scripts_mcp_server_http.cjs:220already usegetErrorMessage().True positives (genuine unguarded access the rule would catch):
${err.message}inclaude_harness.cjs:538,codex_harness.cjs:593,copilot_harness.cjs:1185;${err.message || err}inemit_outcome_spans.cjs:317.False positive:
apply_samples.cjs:651— 2 reports onerr && err.stack ? err.stack : String(err).Triage — prior issues verified fixed in current source (recommend closing)
This workflow cannot close issues; maintainers should verify and close:
require-parseInt-radixnow has a test suite (require-parseInt-radix.test.ts). ✅require-parseInt-radixnow has anaddRadix10suggestion + fix. ✅require-parseInt-radixnow handles computedNumber["parseInt"]. ✅ (aliased bindings remain intentionally out of scope)no-unsafe-catch-error-propertyUNSAFE_PROPERTIESnow coversstatus/cause/name. ✅wrapWithInstanceofsuggestions + computed access. ✅require-json-parse-try-catchnow handles computedJSON["parse"]. ✅ (aliased out of scope)require-json-parse-try-catchnow models deferred-callback boundaries (DEFERRED_SINK_NAMES). ✅Still valid — keep open
no-core-setoutput-non-stringmisses negative/unary numeric literals (-1,+5):nonStringKindonly matchesLiteral, notUnaryExpression.no-core-setoutput-non-stringonly recognizes.length;.number/.sizestill slip through.Next actions
no-unsafe-*-catch-error-propertyrules to stop future drift.actions/setup/jsand re-verify eslint-factory: no-core-setoutput-non-string misses negative/unary numeric literals (e.g. -1, +5) #42680/eslint-factory: no-core-setoutput-non-string only recognizes .length; misses .number/.size (live FN in close_entity_helpers.cjs) #42682 fixes land.Beta Was this translation helpful? Give feedback.
All reactions