-
-
Notifications
You must be signed in to change notification settings - Fork 459
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
Prettier removes Promise<void> type and other annotations in TypeScript arrow functions #3578
Comments
Same issue here. |
I also have noticed this. I have a repo with a reproduction here: https://github.com/ianmitchell/tailwind-example If you open the repro and navigate to the page.tsx file and save, the extension will change the If I can do anything else to help debug this, happy to help! |
+1 here |
1 similar comment
+1 here |
I meet in the same issue after packages.json libraries update. Restarting Prettier VScode extension worked for me. |
I had to remove this line of my vscode |
Summary
Prettier removes Promise type annotations in TypeScript arrow functions, even with "arrowParens": "always" configured, making it impossible to satisfy TypeScript's requirement for generic type parameters on Promises.
Steps To Reproduce:
Expected result
Prettier should preserve the Promise type annotation when formatting TypeScript files, especially when "arrowParens": "always" is set.
Example:
Actual result
Prettier removes the type parameter, resulting in invalid TypeScript:
This causes TypeScript to error with "Generic type 'Promise' requires 1 type argument(s)".
Additional information
The only current workarounds are
// @ts-ignore
or// prettier-ignore
Neither solution is ideal for maintaining clean, type-safe code.
VS Code Version: 1.95.3
Prettier Extension Version: 11.0.0
OS and version: Ubuntu 24.04
Prettier Log Output
The text was updated successfully, but these errors were encountered: