Skip to content
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

feat(linter) oxc: erasing op #1834

Merged
merged 1 commit into from
Dec 28, 2023
Merged

Conversation

camc314
Copy link
Collaborator

@camc314 camc314 commented Dec 26, 2023

No description provided.

Copy link
Collaborator Author

camc314 commented Dec 26, 2023

Copy link
Member

@Boshen Boshen left a comment

Choose a reason for hiding this comment

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

I think we need to polish the help messages a bit.

This is most likely not the intended outcome.

Probably need some guidance on the action? How does clippy warn about this?

@camc314 camc314 force-pushed the c/12-26-feat_linter_oxc_only_used_in_recurion branch from f339139 to 7592e5b Compare December 27, 2023 09:38
@camc314 camc314 force-pushed the c/12-26-feat_linter_oxc_erasing_op branch from ae3aa7e to 9169428 Compare December 27, 2023 09:39
@Boshen Boshen force-pushed the c/12-26-feat_linter_oxc_only_used_in_recurion branch from 7592e5b to 6fefe3e Compare December 27, 2023 14:27
Base automatically changed from c/12-26-feat_linter_oxc_only_used_in_recurion to main December 27, 2023 14:32
@camc314 camc314 force-pushed the c/12-26-feat_linter_oxc_erasing_op branch 2 times, most recently from 0d3817a to 636ff32 Compare December 27, 2023 19:22
@camc314
Copy link
Collaborator Author

camc314 commented Dec 27, 2023

I think we need to polish the help messages a bit.

This is most likely not the intended outcome.

Probably need some guidance on the action? How does clippy warn about this?

From clippy:

warning: this operation will always return zero. This is likely not the intended outcome
  --> crates/oxc_linter/src/rules/oxc/erasing_op.rs:57:17
   |
57 |         let b = a * 0;
   |                 ^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#erasing_op
   = note: `-W clippy::erasing-op` implied by `-W clippy::all`
   = help: to override `-W clippy::all` add `#[allow(clippy::erasing_op)]`

I updated the diagnostic to be:

  ⚠ oxc(erasing-op): Unexpected erasing operation. This expression will always evaluate to zero.
   ╭─[erasing_op.tsx:1:1]
 1 │ x * 0;
   · ─────
   ╰────
  help: This is most likely not the intended outcome. Consider removing the operation, or directly assigning zero to the variable

@camc314 camc314 force-pushed the c/12-26-feat_linter_oxc_erasing_op branch from 636ff32 to 58ce7a6 Compare December 28, 2023 09:23
@camc314 camc314 enabled auto-merge (squash) December 28, 2023 09:23
@camc314 camc314 merged commit 00ba96a into main Dec 28, 2023
18 of 32 checks passed
@camc314 camc314 deleted the c/12-26-feat_linter_oxc_erasing_op branch December 28, 2023 09:26
Brooooooklyn added a commit to toeverything/AFFiNE that referenced this pull request Jan 7, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc-project.github.io) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.0.22` -> `0.1.2`](https://renovatebot.com/diffs/npm/oxlint/0.0.22/0.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.0.22/0.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.0.22/0.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.1.2`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.1.2): oxlint v0.1.2

[Compare Source](https://togithub.com/oxc-project/oxc/compare/821cc8e9c7cfb326ff546483bb2a32d12e018e4c...4a9e0c4bf4179bf5839b690be3690163ff00e2ef)

#### Try it out!

-   Run `npx --yes oxlint@latest` from your terminal
-   Install the Vscode extension https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode
-   Read the [usage guide](https://oxc-project.github.io/docs/guide/usage/linter.html)

#### Svelte support

`<script>` tag is linted by default.

#### Features

-   feat(linter): <script> part of svelte file by [@&#8203;Boshen](https://togithub.com/Boshen) in [oxc-project/oxc#1918
-   feat(linter): disable no-unused-labels for svelte by [@&#8203;Boshen](https://togithub.com/Boshen) in [oxc-project/oxc#1919

### Fixes

-   fix(linter): change no-var to restriction [`bb6128b`](https://togithub.com/oxc-project/oxc/commit/bb6128b)
-   chore: add some useful informantion log by [@&#8203;IWANABETHATGUY](https://togithub.com/IWANABETHATGUY) in [oxc-project/oxc#1912
-   fix(linter) fix eslint config for filename case by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1913

**Full Changelog**: oxc-project/oxc@oxlint_v0.1.1...oxlint_v0.1.2

### [`v0.1.1`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.1.1): oxlint v0.1.1

[Compare Source](https://togithub.com/oxc-project/oxc/compare/v0.1.0...821cc8e9c7cfb326ff546483bb2a32d12e018e4c)

#### Try it out!

-   Run `npx --yes oxlint@latest` from your terminal
-   Install the Vscode extension https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode
-   Read the [usage guide](https://oxc-project.github.io/docs/guide/usage/linter.html)

#### Vue support

`<script>` and `<script setup>` are linted by default.

#### Astro support

Frontmatter component script `---` and all `<script>` tags are linted by default.

#### Configuration files (experimental)

`-c ./eslintrc.json` will use the `rules` field for rule configuration, as documented in [ESLint's documentation](https://eslint.org/docs/latest/use/configure/rules#using-configuration-files).

Unfortunately, only the `json` format is supported right now.

The `extends` field will not take effect; normal `-D` and `-A` flags still apply.

#### New Rules

##### Correctness

-   deepscan: bad object literal comparison by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1844
-   oxc: erasing op by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1834
-   oxc: only used in recursion by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1833
-   eslint: no irregular whitespace by [@&#8203;DeividAlmeida](https://togithub.com/DeividAlmeida) in [oxc-project/oxc#1877
-   eslint: no-unused-private-class-members rule by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [oxc-project/oxc#1820
-   eslint: no-var by [@&#8203;zhangrunzhao](https://togithub.com/zhangrunzhao) in [oxc-project/oxc#1890
-   eslint-plugin-react: jsx-no-undef for by [@&#8203;XantreGodlike](https://togithub.com/XantreGodlike) in [oxc-project/oxc#1862
-   eslint-plugin-jsx-a11y: aria-role by [@&#8203;msdlisper](https://togithub.com/msdlisper) in [oxc-project/oxc#1849
-   eslint-plugin-jsx-a11y: lang by [@&#8203;msdlisper](https://togithub.com/msdlisper) in [oxc-project/oxc#1812
-   eslint-plugin-jsx-a11y: media-has-caption by [@&#8203;poteboy](https://togithub.com/poteboy) in [oxc-project/oxc#1822
-   eslint-plugin-jsx-a11y: mouse-events-have-key-events(correctness) by [@&#8203;Ken-HH24](https://togithub.com/Ken-HH24) in [oxc-project/oxc#1867
-   eslint-plugin-jsx-a11y: prefer-tag-over-role rule by [@&#8203;yossydev](https://togithub.com/yossydev) in [oxc-project/oxc#1831
-   eslint-plugin-jsx-a11y: aria-unsupported-elements by [@&#8203;re-taro](https://togithub.com/re-taro) in [oxc-project/oxc#1855
-   eslint-plugin-jsx-a11y: html_has_lang by [@&#8203;msdlisper](https://togithub.com/msdlisper) in [oxc-project/oxc#1843

##### Suspicious

-   oxc: approx constant by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1818
-   oxc: misrefactored assign op by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1832

##### Restriction

-   react: button has type by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1785
-   unicorn: prefer modern math apis by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1620

#### Fixes

-   fix(linter): ignore anonymous functional components in arrays for eslint-plugin-react(jsx-key) by [@&#8203;maurice](https://togithub.com/maurice) in [oxc-project/oxc#1858
-   Prioritize ignored paths when linting by [@&#8203;clarkf](https://togithub.com/clarkf) in [oxc-project/oxc#1878
-   feat(linter): handle more cases for `const-comparisons` by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1817
-   feat(semantic): allow reserved keyword defined in ts module block by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [oxc-project/oxc#1907
-   fix(parser): error on source larger than 4 GiB by [@&#8203;overlookmotel](https://togithub.com/overlookmotel) in [oxc-project/oxc#1860
-   fix(parser): fix incorrectly identified directives by [@&#8203;overlookmotel](https://togithub.com/overlookmotel) in [oxc-project/oxc#1885
-   fix(parser): terminate parsing if an EmptyParenthesizedExpression error occurs by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [oxc-project/oxc#1874
-   fix(semantic): remove duplicate errors in ModuleDeclaration::ImportDeclaration by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [oxc-project/oxc#1846
-   perf(linter): reduce the number of diagnostics for no_sparse_arrays by [@&#8203;camc314](https://togithub.com/camc314) in [oxc-project/oxc#1895

#### New Contributors

-   [@&#8203;maurice](https://togithub.com/maurice) made their first contribution in [oxc-project/oxc#1858
-   [@&#8203;re-taro](https://togithub.com/re-taro) made their first contribution in [oxc-project/oxc#1855
-   [@&#8203;DeividAlmeida](https://togithub.com/DeividAlmeida) made their first contribution in [oxc-project/oxc#1835
-   [@&#8203;XantreGodlike](https://togithub.com/XantreGodlike) made their first contribution in [oxc-project/oxc#1862
-   [@&#8203;Qix-](https://togithub.com/Qix-) made their first contribution in [oxc-project/oxc#1861
-   [@&#8203;yossydev](https://togithub.com/yossydev) made their first contribution in [oxc-project/oxc#1831
-   [@&#8203;clarkf](https://togithub.com/clarkf) made their first contribution in [oxc-project/oxc#1878
-   [@&#8203;zhangrunzhao](https://togithub.com/zhangrunzhao) made their first contribution in [oxc-project/oxc#1890

**Full Changelog**: oxc-project/oxc@oxlint_v0.0.22...oxlint_v0.1.1

### [`v0.1.0`](https://togithub.com/oxc-project/oxc/releases/tag/v0.1.0): CLI v0.1.0 Ezno Type Checker

[Compare Source](https://togithub.com/oxc-project/oxc/compare/a1accdca7f83694a6ea520d5cbfd090ea5dd271a...v0.1.0)

`npx oxidation-compiler@latest check ./test.ts`

![image](https://togithub.com/Boshen/oxc/assets/1430279/c7308395-1856-43fa-b4b8-b239886ec259)

#### New Contributors

-   [@&#8203;anonrig](https://togithub.com/anonrig) made their first contribution in [oxc-project/oxc#388
-   [@&#8203;kaleidawave](https://togithub.com/kaleidawave) made their first contribution in [oxc-project/oxc#413

**Full Changelog**: https://github.com/Boshen/oxc/compare/v0.0.7...

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linter Area - Linter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants