[eslint-refiner] ESLint Refiner — daily report (2026-09-25) #63360
Closed
Replies: 1 comment
|
This discussion was automatically closed because it expired on 2026-09-26T05:31:26.873Z.
|
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.
Scope:
eslint-factory/**(62 custom TS-ESLint rules, unchanged count since 2026-09-19), targetingactions/setup/js/**as the live corpus (nonode_modules/dist— all findings are grounded via static review + grep, not a live lint run).Summary
require-fetch-response-body-try-catchchain-unwrap gap), which expired unfixed via the bot's ~1-week auto-close TTL.git log/git show --statchange detection is now dead across 8 consecutive runs — every recent HEAD move is an all-insertions shallow-clone squash artifact with zero deletions, so it no longer signals real diffs.Issue filed
.catch()/.then()-chained body reads (recurrence of require-fetch-response-body-try-catch: trailing .catch()/.then() on the body-read call hides it from the rule #61542) — the rule'sAwaitExpressionvisitor only inspects the outermost call, soawait res.text().catch(handler)is invisible to it. Still live and unchanged atactions/setup/js/validate_secrets.cjs:70,91; neither call site is wrapped in try/catch, and the.catchhandler only special-casesAbortError, silently letting every other rejection (malformed/truncated body — the exact failure this rule targets) through unhandled.Full diagnostic detail and re-verification notes
eslint-factory/src/rules/require-fetch-response-body-try-catch.ts(L168-175):methodNameis read off the outermost call only; a trailing.catch/.then/.finallysegment resolvesmethodNametocatch/then/finallyand the visitor bails before ever inspecting the underlying.json()/.text()call. The sibling rulerequire-fetch-try-catch'sgetAwaitedFetchInfoalready walks back through chained segments for the same reason — this rule doesn't.require-fetch-response-body-try-catch.test.tsstill has zero test cases for a chained.catch()/.then()shape.require-spawnsync-error-check) expired in the same batch (2026-09-24T06:55, bothnot_planned). require-spawnsync-error-check: CHILD_PROCESS_OBJECTS name allowlist misses the common cp require alias #61543 was already confirmed fixed upstream on 2026-09-24 —isSpawnSyncCallnow delegates to the sharedisChildProcessObjectBindinghelper instead of a hardcoded name Set — so it was correctly not refiled. This is the 3rd confirmed case (after prefer-actions-exec-over-child-process: false positive on shim.cjs dual-mode standalone/github-script files #61044 and require-spawnsync-error-check: CHILD_PROCESS_OBJECTS name allowlist misses the common cp require alias #61543 itself) of a real fix landing in source without the corresponding issue ever being closed as fixed; this workflow has noclose_issue/add_commentsafe-output, so each instance can only be surfaced here for a human or a PR-capable workflow to reconcile.core-method-resolve.ts's single-hop-only alias resolution (3rd check, zero liveconst x = core;-style aliasing in non-test code) andno-json-stringify-equality's indirect-variable operand gap (re-grepped every= JSON.stringify(assignment corpus-wide; all matches are in*.test.cjs, which the lint config excludes).actions/setup/js/evaluate_outcomes.cjs:1057has a directJSON.stringify(a) === JSON.stringify(b)comparison — this is exactly the shapeno-json-stringify-equalityis designed to catch, so it's confirmation the rule works correctly here, not a gap.Next actions
not_plannedrather than being closed as fixed.try-catch-rule-utils.tsVariableDeclaration-suggestion gap (affects ~14 fs-sync/child-process rules, twice-filed-and-expired as eslint-factory: shared try/catch suggestion builder silently skips VariableDeclaration call sites #57868/eslint-factory: shared try/catch suggestion builder still skips VariableDeclaration call sites -- recurrence of expired issue 57 #59891) and theno-json-stringify-equalityindirect-operand gap (no-json-stringify-equality: misses indirect template-literal comparisons (live gap: trace_graders.cjs gradeLoops) #57869/no-json-stringify-equality: still misses indirect template-literal comparisons -- recurrence of expired issue 57869 #59892) remain real per source review but need a source-level fix via a PR-capable workflow — this workflow can only flag them, not submit the fix.All reactions