See: prettier/prettier#6595 (comment)
Prettier currently uses 1.13.0 of @typescript-eslint/typescript-estree.
In order to support the new syntax in TS 3.7.0, they will need to upgrade to >=2.4.0.
However in 2.0.0, we dropped support for node 6 (following eslint's lead, as the version was EOL in April).
Prettier is currently stuck supporting node v6 until they do their 2.0 major release.
We need to figure out a solution for this, or else our users will suffer in not being able to use optional chaining / nullish coalescing with prettier + TS.
I see a few choices:
- We add explicit support for it back to typescript-estree.
- We publish a v6 clone of typescript-estree, which is no different, apart from the supported node versions (i.e. it would just be a build step to copy the
dist folder across).
- A little more overhead for us as it's another package to publish. Avoids the breaking change problem.
- Prettier maintains a separate fork of the package with explicit support.
- A lot of overhead and will cause frustration. Do not recommend.
- Prettier documents that you must have node 8+ if you want typescript support.
- Could cause some issues/misunderstandings for users, increasing maintenance overhead for both packages.
- Users don't understand the separation between the packages. Case in point the bug reports we received when
3.7.0-beta released, because eslint-plugin-prettier errored out.
This issue is to discuss the best course of action.
Tagging some additional folks just to get some input from people who have more experience maintaining open source packages than I do (please, and thank you in advance 😄)
@JamesHenry, @thorn0, @platinumazure, @kaicataldo, @j-f1
See: prettier/prettier#6595 (comment)
Prettier currently uses
1.13.0of@typescript-eslint/typescript-estree.In order to support the new syntax in TS
3.7.0, they will need to upgrade to>=2.4.0.However in
2.0.0, we dropped support for node 6 (following eslint's lead, as the version was EOL in April).Prettier is currently stuck supporting node v6 until they do their 2.0 major release.
We need to figure out a solution for this, or else our users will suffer in not being able to use optional chaining / nullish coalescing with prettier + TS.
I see a few choices:
distfolder across).3.7.0-betareleased, becauseeslint-plugin-prettiererrored out.This issue is to discuss the best course of action.
Tagging some additional folks just to get some input from people who have more experience maintaining open source packages than I do (please, and thank you in advance 😄)
@JamesHenry, @thorn0, @platinumazure, @kaicataldo, @j-f1