[eslint-refiner] ESLint Factory Refinement Report — 2026-06-30 #42436
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by ESLint Refiner. A newer discussion is available at Discussion #42683. |
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
Daily refinement pass over the four custom rules in
eslint-factory(targets:actions/setup/js/**, 720.cjsfiles). This run was a static review of rule sources and their test suites — the livenpm run lint:setup-jspass could not run in this session (build/lint commands were blocked by sandbox approval), so findings come from reading the rule logic against the spec and the existing fixtures rather than fresh diagnostics.Key metrics
Refinement tasks filed
require-parseInt-radixaccepts radix0/undefined(high, false negative). Thearguments.length >= 2short-circuit treats any second argument as a valid radix, butparseInt(x, 0)andparseInt(x, undefined)still trigger implicit base detection (0x→ hex) — exactly what the rule targets. Also flags a broken autofix for spread calls (parseInt(...args)→parseInt(...args, 10)).require-json-parse-try-catchautofix emits a uselesscatch (err) { throw err; }(high, weak autofix). The suggestion adds zero handling and is itself ano-useless-catch(eslint:recommended) violation — applying our fix trades one warning for another and teaches a no-op idiom.no-unsafe-catch-error-propertybaretypeof err === 'object'guard is unsound (medium, false negative).typeof null === 'object', so the null-unchecked guard suppresses warnings onerr.statuswherenull.statuswould throw. Tighten to require a companion null check; mirror in the promise variant.Duplicates / already-addressed items skipped
parseInt/JSON.parsecallee tracking. Computed access is already implemented; aliased/destructured remains intentionally out of scope.isDeferredCallbacklogic..status/.cause/.nameand add computed access + suggestions. Already present in the current rule (UNSAFE_PROPERTIES, computed-literal handling,wrapWithInstanceofsuggestion).require-parseInt-radixtest suite and suggestion fix. Both present in current sources.Continuity / repo-memory note
Repo-memory reads are sandbox-blocked this session (only writes succeed), so this run wrote a self-contained dated snapshot (
state.json,findings-2026-06-30.json) rather than appending to prior history. If future runs also cannot read prior memory, the persistence pattern should move to dated, non-colliding snapshot files keyed by run date.Next actions
npm run lint:setup-jsbaseline in a future run to quantify real-world hit counts per rule and prioritize by violation volume.References: §28425177261
Beta Was this translation helpful? Give feedback.
All reactions