Skip to content

Prettier and node v6 support #1108

@bradzacher

Description

@bradzacher

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions