-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
feat(eslint-plugin): [block-spacing] extending base rule for TS related blocks #6195
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): [block-spacing] extending base rule for TS related blocks #6195
Conversation
Thanks for the PR, @omril1! 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. |
✅ Deploy Preview for typescript-eslint ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
// This is the only change made here from the base rule | ||
return sourceCode.getFirstToken(node, { | ||
filter: token => | ||
token.type === AST_TOKEN_TYPES.Punctuator && token.value == '{', | ||
}) as TSESTree.PunctuatorToken; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only significant change from the base rule, it worked flawlessly for interface and object type literal.
Added a filter for punctuator because enums don't have a body node in the AST
TSInterfaceBody: baseRules.BlockStatement as never, | ||
TSTypeLiteral: baseRules.BlockStatement as never, | ||
TSEnumDeclaration: checkSpacingInsideBraces, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kept the base rule for interface and type literal, though changing to checkSpacingInsideBraces
will work as well
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #6195 +/- ##
==========================================
+ Coverage 91.53% 91.55% +0.02%
==========================================
Files 371 372 +1
Lines 12662 12701 +39
Branches 3721 3733 +12
==========================================
+ Hits 11590 11629 +39
Misses 754 754
Partials 318 318
Flags with carried forward coverage won't be shown. Click here to find out more.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looks great to me! Just some touchups around untested code, and a few nitpicks. Thanks for sending this in & working on it! ✨
276aef1
to
725d8a9
Compare
Sorry for the force push, something in vscode messed up my commits again |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me, thanks for sending this in!
Because this is an extension of a base rule, I'd feel more comfortable getting a review from another maintainer. Just to be safe 😄 .
ab3911e
to
6fd6ffb
Compare
…nd-base-block-spacing
…nd-base-block-spacing
…nd-base-block-spacing
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`5.51.0` -> `5.52.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.51.0/5.52.0) | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`5.51.0` -> `5.52.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.51.0/5.52.0) | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v5.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#​5520-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5510v5520-2023-02-13) [Compare Source](typescript-eslint/typescript-eslint@v5.51.0...v5.52.0) ##### Bug Fixes - **eslint-plugin:** \[no-import-type-side-effects] correctly ignore zero-specifier imports ([#​6444](typescript-eslint/typescript-eslint#6444)) ([d5a6688](typescript-eslint/typescript-eslint@d5a6688)) - **eslint-plugin:** \[no-unnecessary-condition] account for optional chaining on potentially void values ([#​6432](typescript-eslint/typescript-eslint#6432)) ([e1d9c67](typescript-eslint/typescript-eslint@e1d9c67)), closes [#​5255](typescript-eslint/typescript-eslint#5255) - **eslint-plugin:** \[no-unnecessary-condition] fix false positive when checking indexed access types ([#​6452](typescript-eslint/typescript-eslint#6452)) ([d569924](typescript-eslint/typescript-eslint@d569924)) - **eslint-plugin:** fix key-spacing when type starts on next line ([#​6412](typescript-eslint/typescript-eslint#6412)) ([3eb2eed](typescript-eslint/typescript-eslint@3eb2eed)) ##### Features - **eslint-plugin:** \[block-spacing] extending base rule for TS related blocks ([#​6195](typescript-eslint/typescript-eslint#6195)) ([b2db3f5](typescript-eslint/typescript-eslint@b2db3f5)) - **eslint-plugin:** \[explicit-function-return-type] add allowFunctionsWithoutTypeParameters option ([#​6105](typescript-eslint/typescript-eslint#6105)) ([113640e](typescript-eslint/typescript-eslint@113640e)) - **eslint-plugin:** \[explicit-function-return-type] add allowIIFEs option ([#​6237](typescript-eslint/typescript-eslint#6237)) ([a1b3f7b](typescript-eslint/typescript-eslint@a1b3f7b)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v5.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#​5520-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5510v5520-2023-02-13) [Compare Source](typescript-eslint/typescript-eslint@v5.51.0...v5.52.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) </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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMzMuMCIsInVwZGF0ZWRJblZlciI6IjM0LjEzNi4wIn0=--> Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1784 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>
PR Checklist
Overview