8000 fix(linter/switch-case-braces): align the logic with `unicorn` by shulaoda · Pull Request #11405 · oxc-project/oxc · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fix(linter/switch-case-braces): align the logic with unicorn #11405

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

shulaoda
Copy link
Member
@shulaoda shulaoda commented May 30, 2025

In the case of switch(foo){ case 1: {}; break; }, only a "Missing braces in case clause" diagnostic should be reported.

However, the current behavior incorrectly reports below:

  ⚠ eslint-plugin-unicorn(switch-case-braces): Unexpected braces in empty case clause.
   ╭─[switch_case_braces.tsx:1:22]
 1 │ switch(foo){ case 1: {}; break; }
   ·                      ──
   ╰────
  help: Remove braces in empty case clause.

  ⚠ eslint-plugin-unicorn(switch-case-braces): Missing braces in case clause.
   ╭─[switch_case_braces.tsx:1:22]
 1 │ switch(foo){ case 1: {}; break; }
   ·                      ──────────
   ╰────
  help: Add Braces for case clause.

@github-actions github-actions bot added A-linter Area - Linter C-bug Category - Bug labels May 30, 2025
Copy link
Member Author
shulaoda commented May 30, 2025

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@shulaoda shulaoda changed the title fix(unicorn/switch-case-braces): align empty case clause logic fix(linter/switch-case-braces): align empty case clause logic May 30, 2025
@shulaoda shulaoda marked this pull request as ready for review May 30, 2025 19:30
@shulaoda shulaoda requested a review from camc314 as a code owner May 30, 2025 19:30
Copy link
codspeed-hq bot commented May 30, 2025

CodSpeed Instrumentation Performance Report

Merging #11405 will not alter performance

Comparing 05-31-fix_unicorn_switch-case-braces_align_empty_case_clause_logic (616b613) with main (bf974da)

Summary

✅ 38 untouched benchmarks

@shulaoda shulaoda force-pushed the 05-31-fix_unicorn_switch-case-braces_align_empty_case_clause_logic branch from 25454b0 to c71f8e6 Compare May 30, 2025 19:34
@shulaoda shulaoda changed the title fix(linter/switch-case-braces): align empty case clause logic fix(linter/switch-case-braces): align the logic with unicorn May 30, 2025
@shulaoda shulaoda changed the title fix(linter/switch-case-braces): align the logic with unicorn fix(linter/switch-case-braces): align the logic with unicorn May 30, 2025
@camc314 camc314 added the 0-merge Merge with Graphite Merge Queue label Jun 2, 2025
Copy link
Contributor
camc314 commented Jun 2, 2025

Merge activity

In the case of `switch(foo){ case 1: {}; break; }`, only a "Missing braces in case clause" diagnostic should be reported.

However, the current behavior incorrectly reports below:

```bash
  ⚠ eslint-plugin-unicorn(switch-case-braces): Unexpected braces in empty case clause.
   ╭─[switch_case_braces.tsx:1:22]
 1 │ switch(foo){ case 1: {}; break; }
   ·                      ──
   ╰────
  help: Remove braces in empty case clause.

  ⚠ eslint-plugin-unicorn(switch-case-braces): Missing braces in case clause.
   ╭─[switch_case_braces.tsx:1:22]
 1 │ switch(foo){ case 1: {}; break; }
   ·                      ──────────
   ╰────
  help: Add Braces for case clause.
```
@graphite-app graphite-app bot force-pushed the 05-31-fix_unicorn_switch-case-braces_align_empty_case_clause_logic branch from c71f8e6 to 616b613 Compare June 2, 2025 11:17
@graphite-app graphite-app bot merged commit 616b613 into main Jun 2, 2025
23 checks passed
@graphite-app graphite-app bot removed the 0-merge Merge with Graphite Merge Queue label Jun 2, 2025
@graphite-app graphite-app bot deleted the 05-31-fix_unicorn_switch-case-braces_align_empty_case_clause_logic branch June 2, 2025 11:20
graphite-app bot pushed a commit that referenced this pull request Jun 2, 2025
This got fixed with #11405.
Now the fix will not delete comments
This was referenced Jun 6, 2025
camc314 added a commit that referenced this pull request Jun 6, 2025
## [0.18.0] - 2025-06-06

- bd9dd88 linter: [**BREAKING**] Add more info to json reporter (#11524)
(camc314)

### Features

- 825d40c linter: Fix casing in
unicorn/no-useless-promise-resolve-reject (#11528) (camc314)
- 2faee3d linter: Fix grammer in react/exhaustive-deps (#11527)
(camc314)

### Bug Fixes

- 1a71d7c linter: Misplaced backtick in unicorn/no-array-for-each
diagnostic (#11529) (camc314)
- 7430b14 linter: Grammer in jest/valid-expect diagnostic (#11522)
(camc314)
- b92ac41 linter: Grammer in eslint/no-redeclare diagnostic (#11521)
(camc314)
- 17883e3 linter: Improve eslint/no-unsafe-negation diagnostic (#11520)
(camc314)
- 8c89937 linter: Improve eslint/no-shadow-restricted-names diagnostic
(#11519) (camc314)
- 3f0d889 linter: Add missing article to
oxc/bad-array-method-on-arguments diagnostic (#11518) (camc314)
- cf0c24c linter: Improve message in react/prefer-es6-class diagnostic
(#11516) (camc314)
- 91855df linter: Fix message in react/rules-of-hooks diagnostic
(#11515) (camc314)
- b272194 linter: Misplaced backtick in jest/no-conditional-expect
diagnostic (#11514) (camc314)
- 3403303 linter: Misplaced backtick in unicorn/prefer-dom-node-dataset
diagnostic (#11513) (camc314)
- d5ca872 linter: Misplaced backtick in eslint/radix diagnostic (#11512)
(camc314)
- 2dcf8be linter: Improve diagnostic message when function name is
referenced (#11509) (camc314)
- 0de0c9c linter: Improve diagnostic message for
no-unsafe-declaration-merging (#11508) (camc314)
- 0946dac linter: Correctly inherit categories when plugins are enabled
(#11353) (Cameron)
- 510c1c6 linter: Add missing `allowArrowFunctions` option for
eslint/func-style (#11455) (yefan)
- c77787c linter: Improve `eslint/no-loss-of-precision` (#11437)
(magic-akari)
- 11d4523 linter: False positive in react/exhaustive-deps (#11438)
(camc314)
- 616b613 linter/switch-case-braces: Align the logic with `unicorn`
(#11405) (shulaoda)

### Refactor

- db0b099 language_server: Convert only once uri to path when creating
`ServerLinter` (#11503) (Sysix)
- ccceb52 language_server: Simplify `workspace/didChangeConfiguration`
call (#11462) (Sysix)
- 0fdc51e linter: Simplify `OxlintRules::override_rules` (#11510)
(camc314)

### Testing

- 2ba2893 editor: Fix test for auto `fixAll` on save (#11448) (Sysix)

Co-authored-by: camc314 <18101008+camc314@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linter Area - Linter C-bug Category - Bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0