-
-
Notifications
You must be signed in to change notification settings - Fork 533
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
📎 Implement nursery/useExplicitTypes
- typescript-eslint/explicit-module-boundary-types
and typescript-eslint/explicit-function-return-type
#2017
Comments
lint/useExplicitTypes
- typescript-eslint/explicit-module-boundary-types
and typescript-eslint/explicit-function-return-type
nursery/useExplicitTypes
- typescript-eslint/explicit-module-boundary-types
and typescript-eslint/explicit-function-return-type
This is exactly the what I'm missing, is there any prospect on when this might be implemented? |
We refrain from giving dates, deadlines and such because we aren't a company and we develop things using the small resources we have. If you're willing to see this shipped "faster" than the others, you can always help us financially: https://github.com/biomejs/biome/blob/main/GOVERNANCE.md#financial-contributions Or willing to implement the feature yourself. |
Hi @ematipico - about the sponsorship:
I can't commit to it yet, but having a discrete amount and timeline would definitely help me make a case. |
@dreamorosi I believe we document everything inside our governance document. I suggest to reach out to us in |
Hi @ematipico thanks for the reply - None of the links to Discord in the Governance document worked for me, maybe the invite link has expired. I was able to join through another link in the Contributing doc. |
+1 for explicit-function-return-type |
No kidding the explicit-function-return-type rule is the singlemost important blocker from me not ditching eslint entirely for biomejs... that plus better monorepo support but I know that's in the works. I tried biome and it is amazingly fast and nice. Importance TypeScript runs better and faster with explicit return types especially in large codebases, and its been known to make unexpected random performance issues disappear. Stylistically I love it, it brings the rigour of strong-typed languages like java and makes code much easier to review and test when every function signature is a declaration of the "data in + data out" and an explicit statement of the developer's intent. I've even watched it prevent bugs in React components during pair sessions (where this rule is sometimes accused of being annoying) e.g. if a component may conditionally return Suggestions I understand the first priority is getting this rule in. IMHO to take it to another level would be to have some more customization capabilities for it beyond what eslint provides and perhaps a "lever or knob" to control it for trivial arrow functions. Perhaps dreaming now: a level of React awareness would be fantastic e.g. as I don't think cleanup callbacks and the like (always Perhaps to pull some of the dream requirements off as a general feature there could be a way to configure with custom patterns/regexes. |
I have implemented the base cases of
|
I implemented Would suggest to include it as an additional feature than eslint-rule parity. #4233 What would you think? |
@nazarhussain |
When an object is composed with functions, the You will notice that |
@nazarhussain Thanks for the details. I think it is worth adding these cases to the rule. However, this doesn't require an option, this should be the default behavior. |
@Conaclos Thanks for feedback. I will update my PR accordingly and extend the rule without adding a new option. |
IMO this rule should allow some configuration. Use case: When working with tsx components, having to define the return type for every component is kinda tedious. I understand that some people may want to do this, but I think it would be beneficial to have an option to ignore certain user-defined return types (like |
I know I can use the |
While I agree with @aripalo that more granular customizability would be a nice feature, I think it should be a separate issue / PR and not hold up this one, which adds a really important eslint feature for many teams and users. When it comes to the idea of the potential for finer grained control, my mind also spins with ideas of how this could look...
Such ideas and implementations are ultimately tangential to reaching the goal of a solid eslint replacement with explicit module boundaries and explicit function return types. Its not a blocker if extra frills are not there! Many thanks to nazarhussain for pushing this forward. |
Description
The rule will cover:
Cover explicit-module-boundary-types
This rule must not conflict with noInferrableTypes.
Some context here.
The text was updated successfully, but these errors were encountered: