Description
The ESLint rule gh-aw-custom/no-core-exportvariable-non-string only matches callee.object.name === "core", making it blind to coreObj.exportVariable(...) calls. This diverges from the plugin's own CORE_ALIASES = {core, coreObj} convention used by sibling rules require-return-after-core-setfailed and require-await-core-summary-write.
Grounded blind call sites in actions/setup/js/parse_mcp_gateway_log.cjs:214 and :220 currently pass strings (.toFixed/String), so this is a coverage/consistency gap, not a live bug.
Suggested Changes
- Update the rule implementation to match
CORE_ALIASES (both core and coreObj)
- Add test cases covering
coreObj.exportVariable(nonString) to the rule's test suite
Files Affected
- ESLint rule file for
no-core-exportvariable-non-string (in actions/setup/js/ or eslint-plugin-gh-aw-custom/)
- Corresponding rule test file
Success Criteria
- Rule triggers on
coreObj.exportVariable(nonString) the same as core.exportVariable(nonString)
- Existing passing tests still pass
- New test cases added and passing
Source
Extracted from ESLint Refiner Daily Report #45651
Priority
Low — consistency gap, not a live bug; prevents future false negatives as coreObj usage grows
🔍 Task mining by Discussion Task Miner - Code Quality Improvement Agent · 88 AIC · ⌖ 7.45 AIC · ⊞ 7K · ◷
Description
The ESLint rule
gh-aw-custom/no-core-exportvariable-non-stringonly matchescallee.object.name === "core", making it blind tocoreObj.exportVariable(...)calls. This diverges from the plugin's ownCORE_ALIASES = {core, coreObj}convention used by sibling rulesrequire-return-after-core-setfailedandrequire-await-core-summary-write.Grounded blind call sites in
actions/setup/js/parse_mcp_gateway_log.cjs:214and:220currently pass strings (.toFixed/String), so this is a coverage/consistency gap, not a live bug.Suggested Changes
CORE_ALIASES(bothcoreandcoreObj)coreObj.exportVariable(nonString)to the rule's test suiteFiles Affected
no-core-exportvariable-non-string(inactions/setup/js/oreslint-plugin-gh-aw-custom/)Success Criteria
coreObj.exportVariable(nonString)the same ascore.exportVariable(nonString)Source
Extracted from ESLint Refiner Daily Report #45651
Priority
Low — consistency gap, not a live bug; prevents future false negatives as coreObj usage grows