Skip to content

Function type parameters spacing issues #24

Open
@hsimah

Description

@hsimah

I have noticed two issues around type parameters:

  1. Function type parameters get spaces
  2. Utility functions such as $NonMaybeType and indexed accessor

My .eslintrc
image

Issue 1

When using a React state hook I want to explicitly type the state property useState<?string>(null). This is being formatted as useState < ?string > (null); by the plugin. This causes no linting warnings or errors based on recommended settings.
image

Issue 2

When using $NonMaybeType with indexed types I get a trailing space added $NonMaybeType<SomeType['someNestedArray'][0]> comes out like $NonMaybeType<SomeType['someNestedArray'][0] >. This now throws a linting warning (recommended settings) that the generic parameter should not have trailing spaces.
image

I would love to contribute, if I have time to take a look. Let me know if this is expected behaviour.

Activity

Brianzchen

Brianzchen commented on Jan 5, 2022

@Brianzchen
Member

Thanks for submitting the issue. Happy for you to raise some fixes if they make sense. I haven't come across this issue myself probably because I don't use those rules.

But as I'm trying to test this issue though it looks like the rule doesn't even work on my environment and I have no clue why, might be some other issues in this rule after all.

But if you can figure out what's wrong with your usage happy for you to raise a PR.

hsimah

hsimah commented on Jan 5, 2022

@hsimah
Author

I created a new rule type-annotation-spacing and raised a PR. This was the most complex linting rule I've authored, so it may need some refinement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @hsimah@Brianzchen

      Issue actions

        Function type parameters spacing issues · Issue #24 · flow-typed/eslint-plugin-ft-flow