Skip to content

chore(eslint): use eslint's native bulk suppressions instead of custom - #8587

Merged
serhalp merged 5 commits into
mainfrom
serhalp/chore/eslint-bulk-suppressions
Oct 8, 2026
Merged

serhalp merged 5 commits into
mainfrom
serhalp/chore/eslint-bulk-suppressions

Conversation

@serhalp

@serhalp serhalp commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Summary

We seemingly came up with the same strategy that was later added to eslint itself: "bulk suppressions".

This PR replaces our custom approach with the native one. As a bonus, eslint now fails when the suppressions become stale.

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 6e349e3b-5016-4b51-ae69-28466bf8b1c2
📥 Commits

Reviewing files that changed from the base of the PR and between bc007d2 and bc007d2.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 84fab626-2412-497e-b20d-cd5243f2607a
📥 Commits

Reviewing files that changed from the base of the PR and between 1789f8c and 93f3021.

📒 Files selected for processing (16)
  • eslint-suppressions.json
  • eslint.config.js
  • src/commands/base-command.ts
  • src/commands/env/env-clone.ts
  • src/commands/env/env-set.ts
  • src/commands/env/env-unset.ts
  • src/commands/functions/functions-create.ts
  • src/commands/sites/sites-list.ts
  • src/commands/unlink/unlink.ts
  • src/lib/exec-fetcher.ts
  • src/recipes/ai-context/context.ts
  • src/utils/env/index.ts
  • src/utils/get-repo-data.ts
  • src/utils/proxy.ts
  • tests/integration/commands/deploy/deploy.test.ts
  • tests/integration/commands/dev/dev-miscellaneous.test.ts
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

Included review availability: This review used your included allowance. 9 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour. Your free on-demand review promotion remains active until October 9, 2026 at 6:00 PM UTC.


📝 Summary

Summary by CodeRabbit

  • Documentation
    • Updated contributor guidance for resolving existing lint suppressions, removing stale entries, and avoiding new suppressions.
  • Chores
    • Updated lint and formatting settings to track existing suppressions and exclude their record from formatting.
    • Expanded checks for unsupported Node.js features, with specified exceptions.
    • Removed the previous temporary lint-suppression configuration and recorded existing suppressions for ongoing cleanup. No changes to command behavior or user-facing features are included.

Walkthrough

The ESLint configuration removes the temporary suppression configuration and adds built-in rule settings and exceptions. A suppression-count map is added. Contributor guidance explains how to fix and prune existing suppressions, and the formatter excludes the map. Source and test code also receive lint-related updates, including optional chaining and regular-expression execution. One environment check now excludes empty-string values.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Suggested reviewers: ndhoule

Merge Risk: ⚪ Minimal · up to 93f30

The suppression migration retains stale-entry checks, and no merge-blocking issue is established. Merge after normal checks.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: replacing the custom ESLint suppression approach with ESLint's native bulk suppressions.
Description check ✅ Passed The description directly explains the replacement of the custom ESLint suppression approach with ESLint's native bulk suppressions and notes stale-suppression failures.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

We seeingly came up with the same strategy that was later added to eslint itself: "bulk
suppressions".

This replaces our custom approach with the native one. As a bonus, eslint now fails when the
suppressions become stale,
@serhalp
serhalp force-pushed the serhalp/chore/eslint-bulk-suppressions branch from a404ef9 to 1789f8c Compare October 7, 2026 12:34
@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

📊 Benchmark results

Comparing with d71cb9e

  • Dependency count: 1,019 (no change)
  • Package size: 380 MB ⬇️ 0.00% decrease vs. d71cb9e
  • Number of ts-expect-error directives: 331 (no change)

@pkg-pr-new

pkg-pr-new Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/netlify-cli@8587

commit: bc007d2

Comment thread eslint-suppressions.json

@serhalp serhalp Oct 7, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

File generated with eslint --suppress-all (after deleting our custom suppressions thing). No need to review this.

Comment thread eslint.config.js
ignores: ['.github/styles/', '**/__fixtures__/', 'functions-templates/**', 'site/**'],
},
{
rules: {

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is not new. I'm just moving it out of the custom suppressions file (it didn't belong there anyway).

@serhalp
serhalp marked this pull request as ready for review October 7, 2026 12:37
@serhalp
serhalp requested a review from a team as a code owner October 7, 2026 12:37
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@seancdavis seancdavis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

One inline comment

Comment thread eslint-suppressions.json Outdated
@serhalp
serhalp requested a review from seancdavis October 7, 2026 17:39
@serhalp
serhalp added this pull request to stack #8595 October 7, 2026 20:06
@serhalp
serhalp merged commit 6509eba into main Oct 8, 2026
37 checks passed
@serhalp
serhalp deleted the serhalp/chore/eslint-bulk-suppressions branch October 8, 2026 14:38
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