Skip to content

Fix bracket-notation handling in no-printing-tojson rule#1642

Open
holly-agyei wants to merge 1 commit intomongodb:masterfrom
holly-agyei:fix-eslint-no-printing-tojson-bracket-notation
Open

Fix bracket-notation handling in no-printing-tojson rule#1642
holly-agyei wants to merge 1 commit intomongodb:masterfrom
holly-agyei:fix-eslint-no-printing-tojson-bracket-notation

Conversation

@holly-agyei
Copy link
Copy Markdown

Summary

  • normalize member-expression callees without mutating the AST
  • detect jsTest log helpers when they are accessed through bracket notation
  • add a regression test that covers both bracket-notation detection and autofix behavior

Testing

  • node --test buildscripts/eslint-plugin-mongodb/tests/no-printing-tojson.test.mjs

Copilot AI review requested due to automatic review settings May 5, 2026 21:33
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the no-printing-tojson ESLint rule to correctly recognize jsTest logging helpers accessed via bracket notation (e.g., jsTest["log"].info(...) / jsTest.log["info"](...)) while avoiding AST mutation, and adds regression tests for both detection and autofix behavior.

Changes:

  • Refactor callee-name normalization to be non-mutating and to support computed (bracket-notation) member expressions.
  • Extend detection so bracket-notation access paths resolve to the same canonical names as dot notation.
  • Add node:test-based regression tests covering bracket-notation detection and autofix output.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
buildscripts/eslint-plugin-mongodb/rules/no-printing-tojson.js Refactors callee flattening to handle bracket notation and avoid mutating the AST, enabling correct matching against known print/log targets.
buildscripts/eslint-plugin-mongodb/tests/no-printing-tojson.test.mjs Adds regression tests validating bracket-notation detection and the autofix replacement to toJsonForLog.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants