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(eslint-plugin): [strict-bool-expr] add fixes and suggestions #2847

Merged
merged 17 commits into from Mar 8, 2021
Merged

feat(eslint-plugin): [strict-bool-expr] add fixes and suggestions #2847

merged 17 commits into from Mar 8, 2021

Conversation

phaux
Copy link
Contributor

@phaux phaux commented Dec 4, 2020

Added automatic fixes and suggestions to make this rule more easy to use.

I added following fixes and suggestions for particular types in boolean context (also added to docs):

  • boolean - Always allowed - no fix needed.
  • string - (when allowString is false) - Provides following suggestions:
    • Change condition to check string's length (strstr.length > 0)
    • Change condition to check for empty string (strstr !== "")
    • Explicitly cast value to a boolean (strBoolean(str))
  • number - (when allowNumber is false) - Provides following suggestions:
    • Change condition to check for 0 (numnum !== 0)
    • Change condition to check for NaN (num!Number.isNaN(num))
    • Explicitly cast value to a boolean (numBoolean(num))
  • object | null | undefined - (when allowNullableObject is false) - Provides autofix:
    • Change condition to check for null/undefined (maybeObjmaybeObj != null)
  • boolean | null | undefined - Provides autofix:
    • Explicitly treat nullish value the same as false (maybeBoolmaybeBool ?? false)
  • string | null | undefined - Provides following suggestions:
    • Change condition to check for null/undefined (maybeStrmaybeStr != null)
    • Explicitly treat nullish value the same as an empty string (maybeStrmaybeStr ?? "")
    • Explicitly cast value to a boolean (maybeStrBoolean(maybeStr))
  • number | null | undefined - Provides following suggestions:
    • Change condition to check for null/undefined (maybeNummaybeNum != null)
    • Explicitly treat nullish value the same as 0 (maybeNummaybeNum ?? 0)
    • Explicitly cast value to a boolean (maybeNumBoolean(maybeNum))
  • any and unknown - Provides following suggestions:
    • Explicitly cast value to a boolean (valueBoolean(value))

Edit: updated order and messages to match the actual ones


I used the word "explicitly" where it doesn't change the runtime behavior, even when types are wrong.

The autofix for nullable object theoretically changes the behavior (e.g. if you somehow get empty string or 0 instead of null or object), but it's not enabled by default and there's only one obvious way of handling it if enabled. In practice it shouldn't make a difference when you compare object to null vs implicitly cast to boolean.

The second autofix for nullable boolean doesn't change the behavior and it's usually what the programmer wants. That's why I decided to make it automatic instead of suggestion.

I left some TODO comments about suggestions which are wrong for bigint (it's treated the same as number in the rule). They shouldn't cause a huge breakage when applied (in worst case TypeScript should report error after applying the suggestions). I think they can be fixed separately in a followup PR.

@typescript-eslint
Copy link
Contributor

Thanks for the PR, @phaux!

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 on https://opencollective.com/typescript-eslint. As a thank you, your profile/company logo will be added to our main README which receives thousands of unique visitors per day.

@codecov
Copy link

codecov bot commented Dec 4, 2020

Codecov Report

Merging #2847 (03fe065) into master (c32f803) will increase coverage by 0.04%.
The diff coverage is 98.11%.

@@            Coverage Diff             @@
##           master    #2847      +/-   ##
==========================================
+ Coverage   92.89%   92.94%   +0.04%     
==========================================
  Files         315      316       +1     
  Lines       10704    10802      +98     
  Branches     3036     3065      +29     
==========================================
+ Hits         9944    10040      +96     
  Misses        344      344              
- Partials      416      418       +2     
Flag Coverage Δ
unittest 92.94% <98.11%> (+0.04%) ⬆️

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

Impacted Files Coverage Δ
...ackages/eslint-plugin/src/util/getWrappingFixer.ts 93.93% <93.93%> (ø)
...int-plugin/src/rules/strict-boolean-expressions.ts 98.70% <100.00%> (+0.81%) ⬆️
.../eslint-plugin/src/rules/member-delimiter-style.ts 94.91% <0.00%> (+0.47%) ⬆️

@bradzacher bradzacher added the enhancement New feature or request label Dec 4, 2020
Copy link
Member

@bradzacher bradzacher left a comment

Choose a reason for hiding this comment

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

Logic itself LGTM.
One thing that needs to be addressed


I agree with all of the fixes except for the autofix for nullable boolean.

Explicitly treat nullish value the same as false (maybeBool → maybeBool ?? false)

two reasons:

  1. I think that it's a stylistic choice here and a lot of people won't like the autofix to ??.
  2. (the big one which blocks this) Not everyone is on TS 3.7, which would make this a breaking change because we'd be autofixing to unsupported syntax and break their code.

Suggested solution:
make it a suggestion fixer with the following choices:

  • maybeBool ?? false
  • maybeBool === true

Side note for a (potential) future enhancement (not saying lets do it now - god no! - just saying someone might like it in the future).

Additional fixer for the verbose and explicit:
x !== null && x !== undefined
and the super verbose but super explicit and always safe:
x !== null && typeof x !== 'undefined'

@bradzacher bradzacher added the awaiting response Issues waiting for a reply from the OP or another party label Dec 21, 2020
@bradzacher bradzacher removed the awaiting response Issues waiting for a reply from the OP or another party label Feb 28, 2021
@phaux
Copy link
Contributor Author

phaux commented Feb 28, 2021

Done!

I changed the suggestions for nullable boolean as you suggested.

I also added a special case for number in boolean context when the number is array.length in which case it provides autofix instead of suggestion.

In addition, I moved getWrappingFixer to utils because it might be useful in other rules.

Then I also fixed a bug with getWrappingFixer so that it adds a semicolon if it detects that it inserted parens at the beginning of an ExpressionStatement.

Copy link
Member

@bradzacher bradzacher left a comment

Choose a reason for hiding this comment

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

thanks so much for your work on this!
This is a really valuable set of changes.

kodiakhq bot added a commit to NateRadebaugh/react-datetime that referenced this pull request Mar 18, 2021
… 4.18.0 (#1776)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.16.1 to 4.18.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin's releases</code></a>.</em></p>
<blockquote>
<h2>v4.18.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h2>v4.17.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin's changelog</code></a>.</em></p>
<blockquote>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f4e9be8f89639319b1d97a54d69a5a7c07e1ff5"><code>3f4e9be</code></a> chore: publish v4.18.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b"><code>55e1fba</code></a> fix(eslint-plugin): [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/2864">#2864</a> related to f...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f"><code>08b058a</code></a> feat(eslint-plugin): add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3164">#3164</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5"><code>a148673</code></a> fix(eslint-plugin): [no-extran-class] allowWithDecorator should ignore other ...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/d3086d8acc6092964d98747d782417225871cb0b"><code>d3086d8</code></a> docs(eslint-plugin): [no-floating-promises] correct typo in 'allowAsStatement...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/dd25790a435edef78f6e972ab197b0bd0cfac0f4"><code>dd25790</code></a> chore: publish v4.17.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5"><code>cb22561</code></a> fix(eslint-plugin): [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3133">#3133</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402"><code>3f9e9a1</code></a> feat(eslint-plugin): [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/2847">#2847</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ae0271cd8d6406e2fa54403f49e5072bd729bddd"><code>ae0271c</code></a> docs(eslint-plugin): correct no longer valid references and examples (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3152">#3152</a>)</li>
<li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v4.18.0/packages/eslint-plugin">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@typescript-eslint/eslint-plugin&package-manager=npm_and_yarn&previous-version=4.16.1&new-version=4.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
This was referenced Mar 18, 2021
mergify bot pushed a commit to cdklabs/jsii-docgen that referenced this pull request Mar 18, 2021
… 4.18.0 (#276)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.16.1 to 4.18.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin's releases</code></a>.</em></p>
<blockquote>
<h2>v4.18.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h2>v4.17.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin's changelog</code></a>.</em></p>
<blockquote>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f4e9be8f89639319b1d97a54d69a5a7c07e1ff5"><code>3f4e9be</code></a> chore: publish v4.18.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b"><code>55e1fba</code></a> fix(eslint-plugin): [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/2864">#2864</a> related to f...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f"><code>08b058a</code></a> feat(eslint-plugin): add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3164">#3164</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5"><code>a148673</code></a> fix(eslint-plugin): [no-extran-class] allowWithDecorator should ignore other ...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/d3086d8acc6092964d98747d782417225871cb0b"><code>d3086d8</code></a> docs(eslint-plugin): [no-floating-promises] correct typo in 'allowAsStatement...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/dd25790a435edef78f6e972ab197b0bd0cfac0f4"><code>dd25790</code></a> chore: publish v4.17.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5"><code>cb22561</code></a> fix(eslint-plugin): [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3133">#3133</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402"><code>3f9e9a1</code></a> feat(eslint-plugin): [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/2847">#2847</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ae0271cd8d6406e2fa54403f49e5072bd729bddd"><code>ae0271c</code></a> docs(eslint-plugin): correct no longer valid references and examples (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3152">#3152</a>)</li>
<li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v4.18.0/packages/eslint-plugin">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@typescript-eslint/eslint-plugin&package-manager=npm_and_yarn&previous-version=4.16.1&new-version=4.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually


</details>
mergify bot pushed a commit to cdklabs/jsii-docgen that referenced this pull request Mar 18, 2021
…#284)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.15.0 to 4.18.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/parser's releases</code></a>.</em></p>
<blockquote>
<h2>v4.18.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h2>v4.17.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
<h2>v4.16.1</h2>
<h2><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1">4.16.1</a> (2021-03-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>typescript-estree:</strong> update TS version range (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3127">#3127</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/0473674c58df5039a2de3c63ad7494fc6be7487e">0473674</a>)</li>
</ul>
<h2>v4.16.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0">4.16.0</a> (2021-03-01)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [consistent-indexed-object-style] do not autofix if interface has extends (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3009">#3009</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/b0475aff3920d748fa74b5a6d8a7ad5dd731aec4">b0475af</a>)</li>
<li><strong>eslint-plugin:</strong> [no-implied-eval] handle conditional expression (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3125">#3125</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/8c65d30a225a3b99e80326961d0cb0c8189b039c">8c65d30</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unused-vars] don't report nested module declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3119">#3119</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/4ca58886adf3fc0fe31c263559990c8a534205f9">4ca5888</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-function-type] apply existing comments to the fixed code (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3094">#3094</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/c32f803d4480acf5ffc88e308b4243e5185c4f48">c32f803</a>)</li>
<li><strong>eslint-plugin:</strong> [unbound-method] allow <code>super</code> expressions in <code>this</code> assignments (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3010">#3010</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/c65a1391be15bbcf3ae293b1c53686703883d546">c65a139</a>)</li>
<li><strong>scope-manager:</strong> update libs for typescript 4.2 (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3118">#3118</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/0336c798c9502fc250d2eaa045661950da55e52f">0336c79</a>)</li>
</ul>
<h3>Features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md"><code>@​typescript-eslint/parser's changelog</code></a>.</em></p>
<blockquote>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
<h2><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.0...v4.16.1">4.16.1</a> (2021-03-01)</h2>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.2...v4.16.0">4.16.0</a> (2021-03-01)</h1>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
<h2><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.1...v4.15.2">4.15.2</a> (2021-02-22)</h2>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
<h2><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.15.0...v4.15.1">4.15.1</a> (2021-02-15)</h2>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f4e9be8f89639319b1d97a54d69a5a7c07e1ff5"><code>3f4e9be</code></a> chore: publish v4.18.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/dd25790a435edef78f6e972ab197b0bd0cfac0f4"><code>dd25790</code></a> chore: publish v4.17.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/053f6f5d30d3ccde37243db16d689a6e84cc3b91"><code>053f6f5</code></a> chore: publish v4.16.1</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/79eb5bce7f1ceb678e583de04a16009647221225"><code>79eb5bc</code></a> chore: publish v4.16.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/fc774f637782f8815616592d6d18be933224c4a2"><code>fc774f6</code></a> chore: publish v4.15.2</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/f9980c25fa383b4c6ec79f1f7635102103ee27e2"><code>f9980c2</code></a> chore: publish v4.15.1</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/792623f69ecad94c19f7efac24e58152b4f9ee05"><code>792623f</code></a> test: update ast alignment tests and simplify shared fixtures (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/3045">#3045</a>)</li>
<li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v4.18.0/packages/parser">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@typescript-eslint/parser&package-manager=npm_and_yarn&previous-version=4.15.0&new-version=4.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually


</details>
mergify bot pushed a commit to cdklabs/publib that referenced this pull request Mar 19, 2021
… 4.18.0 (#58)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.16.1 to 4.18.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin's releases</code></a>.</em></p>
<blockquote>
<h2>v4.18.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h2>v4.17.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin's changelog</code></a>.</em></p>
<blockquote>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f4e9be8f89639319b1d97a54d69a5a7c07e1ff5"><code>3f4e9be</code></a> chore: publish v4.18.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b"><code>55e1fba</code></a> fix(eslint-plugin): [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/2864">#2864</a> related to f...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f"><code>08b058a</code></a> feat(eslint-plugin): add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3164">#3164</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5"><code>a148673</code></a> fix(eslint-plugin): [no-extran-class] allowWithDecorator should ignore other ...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/d3086d8acc6092964d98747d782417225871cb0b"><code>d3086d8</code></a> docs(eslint-plugin): [no-floating-promises] correct typo in 'allowAsStatement...</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/dd25790a435edef78f6e972ab197b0bd0cfac0f4"><code>dd25790</code></a> chore: publish v4.17.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5"><code>cb22561</code></a> fix(eslint-plugin): [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3133">#3133</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402"><code>3f9e9a1</code></a> feat(eslint-plugin): [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/2847">#2847</a>)</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ae0271cd8d6406e2fa54403f49e5072bd729bddd"><code>ae0271c</code></a> docs(eslint-plugin): correct no longer valid references and examples (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/3152">#3152</a>)</li>
<li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v4.18.0/packages/eslint-plugin">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@typescript-eslint/eslint-plugin&package-manager=npm_and_yarn&previous-version=4.16.1&new-version=4.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually


</details>
mergify bot pushed a commit to cdklabs/publib that referenced this pull request Mar 19, 2021
…#59)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.16.1 to 4.18.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/parser's releases</code></a>.</em></p>
<blockquote>
<h2>v4.18.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [explicit-module-boundary-types] fixes <a href="https://github.com/typescript-eslint/typescript-eslint/issues/2864">#2864</a> related to functions in nested object properties (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3178">#3178</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/55e1fbaca985b500cad1cc9ec25717b18cf5a17b">55e1fba</a>)</li>
<li><strong>eslint-plugin:</strong> [no-extran-class] allowWithDecorator should ignore other errors (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3160">#3160</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1486736d8ef3555832ddfb27fd0980368b363f5">a148673</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add package type declaration (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3164">#3164</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/08b058a7a6db3b59c28753bb322717e1fee44d1f">08b058a</a>)</li>
</ul>
<h2>v4.17.0</h2>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] handle assignment (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/3133">#3133</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/cb2256168c67e0383083673a5afe77076de49da5">cb22561</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [strict-bool-expr] add fixes and suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/issues/2847">#2847</a>) (<a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f9e9a1e9fc3e507bd01d1913ef642cd129de402">3f9e9a1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md"><code>@​typescript-eslint/parser's changelog</code></a>.</em></p>
<blockquote>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.17.0...v4.18.0">4.18.0</a> (2021-03-15)</h1>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
<h1><a href="https://github.com/typescript-eslint/typescript-eslint/compare/v4.16.1...v4.17.0">4.17.0</a> (2021-03-08)</h1>
<p><strong>Note:</strong> Version bump only for package @typescript-eslint/parser</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f4e9be8f89639319b1d97a54d69a5a7c07e1ff5"><code>3f4e9be</code></a> chore: publish v4.18.0</li>
<li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/dd25790a435edef78f6e972ab197b0bd0cfac0f4"><code>dd25790</code></a> chore: publish v4.17.0</li>
<li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v4.18.0/packages/parser">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@typescript-eslint/parser&package-manager=npm_and_yarn&previous-version=4.16.1&new-version=4.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually


</details>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants