[eslint-refiner] ESLint Refiner — Daily Report 2026-07-19 #46543
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by ESLint Refiner. A newer discussion is available at Discussion #46736. |
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
Reviewed the two newest, never-before-reviewed custom rules in
eslint-factoryand filed 3 grounded refinement issues. The rule inventory grew from 12 → 21 during the review gap since 2026-07-08, so memory was refreshed and 7 rules remain never-reviewed.Key metrics
index.tsIssues filed
no-core-error-then-process-exit— autofixcore.setFailed(msg); return;is not control-flow-equivalent tocore.error(msg); process.exit(nonzero):returnexits only the enclosing function, whileprocess.exitaborts the process. Grounded inconvert_gateway_config_shared.cjsvalue-returning helpers (requireEnvVar:45-52,loadGatewayContext:66-72) where the fix would returnundefinedand let callers continue with bad state. Detection is sound (3 real true-positives); the fix quality is the defect.prefer-core-logging— rewritingconsole.error/console.warn(→ stderr) tocore.error/core.warning(→ stdout::error::commands) corrupts the JSON-RPC channel of stdio MCP servers/transports that own stdout. Grounded:safe_outputs_mcp_server.cjs:101,mcp_scripts_mcp_server.cjs:87/105,mcp_http_transport.cjs:295(+ HTTP variants). All are linted.prefer-core-logging— multi-argument autofix joins args positionally, butcore.*logging methods accept a singlemessagestring, so trailing args are silently dropped (and%s/%dspecifiers are not interpolated). Grounded:mcp_http_transport.cjs:295dropserror; the rule's own test (prefer-core-logging.test.ts:180) canonizes the lossy output.Method & grounding notes
node_modules/dist, npm firewalled); findings grounded statically via ripgrep over non-testactions/setup/js/**/*.cjs(the lint config ignores only*.test.cjs) plus rule source and tests.@actions/corelogging emits workflow commands to stdout, which is why stderr-basedconsole.errorin stdio MCP servers is intentional and must not be mechanically rewritten.prefer-core-loggingorno-core-error-then-process-exit.#45206(open) tracks a different rule (no-github-request-interpolated-route).state.json+history.jsonlupdated; memory validated at the 12 KB ceiling (flagged for trimming next run).Next actions
no-throw-plain-object,no-core-exportvariable-non-string,require-return-after-core-setfailed), grounding before filing.convert_gateway_config_*sites (autofix gated) andmcp_http_transport.cjs:295(no data-loss fix;console.errorunregressed in MCP servers).References:
All reactions