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

fix: allow * 1 when followed by / in no-implicit-coercion #16522

Merged
merged 2 commits into from Nov 11, 2022
Merged

Conversation

mdjermanovic
Copy link
Member

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[x] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

Fixes #16373

What changes did you make? (Give an overview)

A minimal change in no-implicit-coercion behavior to allow special case described in #16373:

I'd like a special case/exception made to the rule's checks that if the * 1 is immediately followed by a / then it is not an error.

Is there anything you'd like reviewers to focus on?

For example, `foo * 1 / bar` will be allowed as it can be logically
interpreted as `foo * (1 / bar)`, although it's technically
`(foo * 1) / bar` where `foo * 1` would be flagged as implicit coercion.

Fixes #16373
@mdjermanovic mdjermanovic added bug ESLint is working incorrectly rule Relates to ESLint's core rules accepted There is consensus among the team that this change meets the criteria for inclusion labels Nov 8, 2022
@netlify
Copy link

netlify bot commented Nov 8, 2022

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit 254de1a
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/636a9b16ebbca0000a30ca68

Copy link
Contributor

@snitin315 snitin315 left a comment

Choose a reason for hiding this comment

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

Looks great.

I'll leave this open for some time in case anyone else wants to review it.

@snitin315 snitin315 merged commit e76c382 into main Nov 11, 2022
21 checks passed
@snitin315 snitin315 deleted the issue16373 branch November 11, 2022 00:54
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Nov 28, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.27.0` -> `8.28.0`](https://renovatebot.com/diffs/npm/eslint/8.27.0/8.28.0) |

---

### Release Notes

<details>
<summary>eslint/eslint</summary>

### [`v8.28.0`](https://github.com/eslint/eslint/releases/tag/v8.28.0)

[Compare Source](eslint/eslint@v8.27.0...v8.28.0)

#### Features

-   [`63bce44`](eslint/eslint@63bce44) feat: add `ignoreClassFieldInitialValues` option to no-magic-numbers ([#&#8203;16539](eslint/eslint#16539)) (Milos Djermanovic)
-   [`8385ecd`](eslint/eslint@8385ecd) feat: multiline properties in rule `key-spacing` with option `align` ([#&#8203;16532](eslint/eslint#16532)) (Francesco Trotta)
-   [`a4e89db`](eslint/eslint@a4e89db) feat: `no-obj-calls` support `Intl` ([#&#8203;16543](eslint/eslint#16543)) (Sosuke Suzuki)

#### Bug Fixes

-   [`c50ae4f`](eslint/eslint@c50ae4f) fix: Ensure that dot files are found with globs. ([#&#8203;16550](eslint/eslint#16550)) (Nicholas C. Zakas)
-   [`9432b67`](eslint/eslint@9432b67) fix: throw error for first unmatched pattern ([#&#8203;16533](eslint/eslint#16533)) (Milos Djermanovic)
-   [`e76c382`](eslint/eslint@e76c382) fix: allow `* 1` when followed by `/` in no-implicit-coercion ([#&#8203;16522](eslint/eslint#16522)) (Milos Djermanovic)

#### Documentation

-   [`34c05a7`](eslint/eslint@34c05a7) docs: Language Options page intro and tweaks ([#&#8203;16511](eslint/eslint#16511)) (Ben Perlmutter)
-   [`3e66387`](eslint/eslint@3e66387) docs: add intro and edit ignoring files page ([#&#8203;16510](eslint/eslint#16510)) (Ben Perlmutter)
-   [`436f712`](eslint/eslint@436f712) docs: fix Header UI inconsistency ([#&#8203;16464](eslint/eslint#16464)) (Tanuj Kanti)
-   [`f743816`](eslint/eslint@f743816) docs: switch to wrench emoji for auto-fixable rules ([#&#8203;16545](eslint/eslint#16545)) (Bryan Mishkin)
-   [`bc0547e`](eslint/eslint@bc0547e) docs: improve styles for versions and languages page ([#&#8203;16553](eslint/eslint#16553)) (Nitin Kumar)
-   [`6070f58`](eslint/eslint@6070f58) docs: clarify esquery issue workaround ([#&#8203;16556](eslint/eslint#16556)) (Milos Djermanovic)
-   [`b48e4f8`](eslint/eslint@b48e4f8) docs: Command Line Interface intro and tweaks ([#&#8203;16535](eslint/eslint#16535)) (Ben Perlmutter)
-   [`b92b30f`](eslint/eslint@b92b30f) docs: Add Rules page intro and content tweaks ([#&#8203;16523](eslint/eslint#16523)) (Ben Perlmutter)
-   [`1769b42`](eslint/eslint@1769b42) docs: Integrations page introduction ([#&#8203;16548](eslint/eslint#16548)) (Ben Perlmutter)
-   [`a8d0a57`](eslint/eslint@a8d0a57) docs: make table of contents sticky on desktop ([#&#8203;16506](eslint/eslint#16506)) (Sam Chen)
-   [`a01315a`](eslint/eslint@a01315a) docs: fix route of japanese translation site ([#&#8203;16542](eslint/eslint#16542)) (Tanuj Kanti)
-   [`0515628`](eslint/eslint@0515628) docs: use emoji instead of svg for deprecated rule ([#&#8203;16536](eslint/eslint#16536)) (Bryan Mishkin)
-   [`68f1288`](eslint/eslint@68f1288) docs: set default layouts ([#&#8203;16484](eslint/eslint#16484)) (Percy Ma)
-   [`776827a`](eslint/eslint@776827a) docs: init config about specifying shared configs ([#&#8203;16483](eslint/eslint#16483)) (Percy Ma)
-   [`5c39425`](eslint/eslint@5c39425) docs: fix broken link to plugins ([#&#8203;16520](eslint/eslint#16520)) (Ádám T. Nagy)
-   [`c97c789`](eslint/eslint@c97c789) docs: Add missing no-new-native-nonconstructor docs code fence ([#&#8203;16503](eslint/eslint#16503)) (Brandon Mills)

#### Chores

-   [`e94a4a9`](eslint/eslint@e94a4a9) chore: Add tests to verify [#&#8203;16038](eslint/eslint#16038) is fixed ([#&#8203;16538](eslint/eslint#16538)) (Nicholas C. Zakas)
-   [`e13f194`](eslint/eslint@e13f194) chore: stricter validation of `meta.docs.description` in core rules ([#&#8203;16529](eslint/eslint#16529)) (Milos Djermanovic)
-   [`72dbfbc`](eslint/eslint@72dbfbc) chore: use `pkg` parameter in `getNpmPackageVersion` ([#&#8203;16525](eslint/eslint#16525)) (webxmsj)

</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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yOS4xIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMCJ9-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1652
Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion bug ESLint is working incorrectly rule Relates to ESLint's core rules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bug: no-implicit-coercion errors when multiplied by fractions with numerator of 1
2 participants