Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat(eslint-plugin): [prefer-nullish-coalescing] fix detection ofignoreConditionalTests involving boolean! operator#10299

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation

developer-bandi
Copy link
Contributor

@developer-bandideveloper-bandi commentedNov 7, 2024
edited
Loading

PR Checklist

Overview

Since we maintain the same logic as the ignoreBooleanCoercion option, should we add the same logic to this option as well?

leta:string|undefined;letb:string|undefined;Boolean(!!(a||b))Boolean(!(a||b))

@typescript-eslint
Copy link
Contributor

Thanks for the PR,@developer-bandi!

typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community.

The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately.

Thanks again!


🙏Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently onhttps://opencollective.com/typescript-eslint.

@netlifyNetlify
Copy link

netlifybot commentedNov 7, 2024
edited
Loading

Deploy Preview fortypescript-eslint ready!

NameLink
🔨 Latest commit8bd626d
🔍 Latest deploy loghttps://app.netlify.com/sites/typescript-eslint/deploys/67347e1ad386df0008191153
😎 Deploy Previewhttps://deploy-preview-10299--typescript-eslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 99 (no change from production)
Accessibility: 100 (no change from production)
Best Practices: 92 (no change from production)
SEO: 98 (no change from production)
PWA: 80 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to yourNetlify site configuration.

@nx-cloudNx Cloud
Copy link

nx-cloudbot commentedNov 7, 2024
edited
Loading

☁️ Nx Cloud Report

CI is running/has finished running commands for commit8bd626d. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 2 targets

Sent with 💌 fromNxCloud.

@codecovCodecov
Copy link

codecovbot commentedNov 7, 2024
edited
Loading

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 86.60%. Comparing base(90617a6) to head(8bd626d).
Report is 15 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@##             main   #10299      +/-   ##==========================================+ Coverage   86.57%   86.60%   +0.02%==========================================  Files         431      432       +1       Lines       15198    15166      -32       Branches     4421     4428       +7     ==========================================- Hits        13158    13134      -24+ Misses       1683     1675       -8  Partials      357      357
FlagCoverage Δ
unittest86.60% <100.00%> (+0.02%)⬆️

Flags with carried forward coverage won't be shown.Click here to find out more.

Files with missing linesCoverage Δ
...lint-plugin/src/rules/prefer-nullish-coalescing.ts95.59% <100.00%> (+0.08%)⬆️

... and27 files with indirect coverage changes

@kirkwaiblingerkirkwaiblinger changed the titlefeat(eslint-plugin): [prefer-nullish-coalescing] modifies the unaryExpression type to run recursively.feat(eslint-plugin): [prefer-nullish-coalescing] modifies the unaryExpression type to run recursivelyNov 7, 2024
@kirkwaiblinger
Copy link
Member

Hey! merging from main for ya to fix the build errors

developer-bandi reacted with thumbs up emoji

Copy link
Member

@kirkwaiblingerkirkwaiblinger left a comment

Choose a reason for hiding this comment

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

thanks!

@kirkwaiblingerkirkwaiblinger added the 1 approval>=1 team member has approved this PR; we're now leaving it open for more reviews before we merge labelNov 11, 2024
@kirkwaiblinger
Copy link
Member

Since we maintain the same logic as the ignoreBooleanCoercion option, should we add the same logic to this option as well?

leta:string|undefined;letb:string|undefined;Boolean(!!(a||b))Boolean(!(a||b))

Yeah, probably a good idea to do this tbh.

Copy link
Member

@kirkwaiblingerkirkwaiblinger left a comment

Choose a reason for hiding this comment

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

What you have looks good, but I think it would be good to implement your suggestion in#10299 (comment)

developer-bandi reacted with thumbs up emoji
@kirkwaiblingerkirkwaiblinger removed the 1 approval>=1 team member has approved this PR; we're now leaving it open for more reviews before we merge labelNov 11, 2024
@kirkwaiblingerkirkwaiblinger changed the titlefeat(eslint-plugin): [prefer-nullish-coalescing] modifies the unaryExpression type to run recursivelyfeat(eslint-plugin): [prefer-nullish-coalescing] fix detection ofignoreConditionalTests involving boolean! operatorNov 11, 2024
Copy link
Member

@kirkwaiblingerkirkwaiblinger left a comment

Choose a reason for hiding this comment

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

salute gif

@kirkwaiblingerkirkwaiblinger added the 1 approval>=1 team member has approved this PR; we're now leaving it open for more reviews before we merge labelNov 11, 2024
let a: string | undefined;
let b: string | undefined;

Boolean(!(a || b));

Choose a reason for hiding this comment

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

oh, hmm. I hate to do this. But actually, now that I'm thinking harder about this, I don't think we want this. This would be unambiguously better to write as!Boolean(a || b), so the! really is the sort of implicit coercion thatignoreBooleanCoercion constructor is trying to force you to useBoolean on instead.

So sorry to change request changes one way and then request they be undone, but would you mind reverting theignoreBooleanCoercion changes?

developer-bandi reacted with thumbs up emoji
Copy link
Member

@kirkwaiblingerkirkwaiblinger left a comment
edited
Loading

Choose a reason for hiding this comment

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

Changed my mind about#10299 (review), sorry! 🫣

See#10299 (comment)

developer-bandi reacted with thumbs up emoji
@kirkwaiblingerkirkwaiblinger removed the 1 approval>=1 team member has approved this PR; we're now leaving it open for more reviews before we merge labelNov 11, 2024
@developer-bandi
Copy link
ContributorAuthor

Thank you. I have reflected this.

Copy link
Member

@kirkwaiblingerkirkwaiblinger left a comment

Choose a reason for hiding this comment

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

Great! And sorry again for my previous mistaken review!

developer-bandi reacted with thumbs up emoji
@kirkwaiblingerkirkwaiblinger added the 1 approval>=1 team member has approved this PR; we're now leaving it open for more reviews before we merge labelNov 15, 2024
@bradzacherbradzacher added the bugSomething isn't working labelNov 16, 2024
@bradzacherbradzacher merged commita7746fb intotypescript-eslint:mainNov 16, 2024
63 of 67 checks passed
renovatebot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull requestNov 18, 2024
##### [v8.15.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8150-2024-11-18)##### 🚀 Features-   **eslint-plugin:** \[prefer-nullish-coalescing] fix detection of `ignoreConditionalTests` involving boolean `!` operator ([#10299](typescript-eslint/typescript-eslint#10299))-   **eslint-plugin:** new rule `no-unsafe-type-assertion` ([#10051](typescript-eslint/typescript-eslint#10051))-   **eslint-plugin:** added related-getter-setter-pairs rule ([#10192](typescript-eslint/typescript-eslint#10192))##### 🩹 Fixes-   **utils:** add defaultOptions to meta in rule ([#10339](typescript-eslint/typescript-eslint#10339))-   **eslint-plugin:** report deprecations used in default export ([#10330](typescript-eslint/typescript-eslint#10330))-   **eslint-plugin:** \[explicit-module-boundary-types] and \[explicit-function-return-type] don't report on `as const satisfies` ([#10315](typescript-eslint/typescript-eslint#10315))-   **eslint-plugin:** \[await-thenable, return-await] don't flag awaiting unconstrained type parameter as unnecessary ([#10314](typescript-eslint/typescript-eslint#10314))-   **eslint-plugin:** \[consistent-indexed-object-style] handle circular mapped types ([#10301](typescript-eslint/typescript-eslint#10301))##### ❤️  Thank You-   Josh Goldberg ✨-   Kim Sang Du [@developer-bandi](https://github.com/developer-bandi)-   Luis Sebastian Urrutia Fuentes [@LuisUrrutia](https://github.com/LuisUrrutia)-   Phillip Huang-   Ronen Amiel-   Szydlak [@wszydlak](https://github.com/wszydlak)You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
renovatebot added a commit to andrei-picus-tink/auto-renovate that referenced this pull requestNov 19, 2024
| datasource | package                          | from   | to     || ---------- | -------------------------------- | ------ | ------ || npm        | @typescript-eslint/eslint-plugin | 8.14.0 | 8.15.0 || npm        | @typescript-eslint/parser        | 8.14.0 | 8.15.0 |## [v8.15.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8150-2024-11-18)##### 🚀 Features-   **eslint-plugin:** \[prefer-nullish-coalescing] fix detection of `ignoreConditionalTests` involving boolean `!` operator ([#10299](typescript-eslint/typescript-eslint#10299))-   **eslint-plugin:** new rule `no-unsafe-type-assertion` ([#10051](typescript-eslint/typescript-eslint#10051))-   **eslint-plugin:** added related-getter-setter-pairs rule ([#10192](typescript-eslint/typescript-eslint#10192))##### 🩹 Fixes-   **utils:** add defaultOptions to meta in rule ([#10339](typescript-eslint/typescript-eslint#10339))-   **eslint-plugin:** report deprecations used in default export ([#10330](typescript-eslint/typescript-eslint#10330))-   **eslint-plugin:** \[explicit-module-boundary-types] and \[explicit-function-return-type] don't report on `as const satisfies` ([#10315](typescript-eslint/typescript-eslint#10315))-   **eslint-plugin:** \[await-thenable, return-await] don't flag awaiting unconstrained type parameter as unnecessary ([#10314](typescript-eslint/typescript-eslint#10314))-   **eslint-plugin:** \[consistent-indexed-object-style] handle circular mapped types ([#10301](typescript-eslint/typescript-eslint#10301))##### ❤️  Thank You-   Josh Goldberg ✨-   Kim Sang Du [@developer-bandi](https://github.com/developer-bandi)-   Luis Sebastian Urrutia Fuentes [@LuisUrrutia](https://github.com/LuisUrrutia)-   Phillip Huang-   Ronen Amiel-   Szydlak [@wszydlak](https://github.com/wszydlak)You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
@github-actionsgithub-actionsbot locked asresolvedand limited conversation to collaboratorsNov 26, 2024
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.
Reviewers

@bradzacherbradzacherbradzacher approved these changes

@kirkwaiblingerkirkwaiblingerkirkwaiblinger approved these changes

Assignees
No one assigned
Labels
1 approval>=1 team member has approved this PR; we're now leaving it open for more reviews before we mergebugSomething isn't working
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

Bug: [prefer-nullish-coalescing]ignoreConditionalTests doesn't ignore the boolean! operator in a condition
3 participants
@developer-bandi@kirkwaiblinger@bradzacher

[8]ページ先頭

©2009-2025 Movatter.jp