[eslint-refiner] ESLint Refiner — Daily Report 2026-07-03 #43131
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by ESLint Refiner. A newer discussion is available at Discussion #43327. |
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
Focus this run: first analysis of the newly added
require-async-entrypoint-catchrule, plus re-verification of prior open issues. The factory grew from 6 → 7 rules since the last run.Key metrics
require-async-entrypoint-catchIssues filed
Both target the newest rule, whose detection is currently the narrowest of the family:
FunctionDeclarations and bareIdentifier()statements, soconst main = async () => {}; main();andmain().then(...)without.catch()escape it.Set<string>, so a shadowed same-named sync function is misflagged as an unhandled async rejection (.catch(...)suggestion would be wrong at runtime).Live grounding
Corpus check over
actions/setup/js/**/*.cjsparse_mcp_scripts_logs.cjs:415andparse_token_usage.cjs:238— asyncfunction main()invoked bare underif (require.main === module). The rule works well for the dominant idiom.function main()entrypoints (e.g.convert_gateway_config_copilot.cjs:97,evaluate_outcomes.cjs:1934).runMain,replayMain,runHandlerManager,substitutePlaceholders) are allawait-guarded inside async wrappers. So issue rejig docs #1 is a preventive robustness/parity refinement, not a live defect — mirroring how the sibling error-property rules were hardened.Prior open issues — still valid, deliberately not refiled
Re-verified against current source
no-core-setoutput-non-stringstill misses unary/negative numeric literals (nonStringKindmatchesLiteral, notUnaryExpression). Confirmed..length, not.number/.size. Confirmed.no-unsafe-*-catch-error-propertyrules. Still present.Close-recommendation note: this workflow cannot close issues (safe outputs are limited to create/report only). Maintainers may want to sweep the parseInt/json set — several ask for alias/computed handling that the rules intentionally exclude to keep false-positive risk low.
Next actions
no-unsafe-*-catch-error-propertyrules to stop the recurring drift between them (maintainability).core.setFailednon-string arguments (mirrorsno-core-setoutput-non-string). Missing-awaitclasses are attractive but hard to make low-false-positive without type information.References: §28642396258
Beta Was this translation helpful? Give feedback.
All reactions