Skip to content

Latest commit



544 lines (364 loc) · 27.7 KB

File metadata and controls

544 lines (364 loc) · 27.7 KB

Version 9.1.0 (2023-12-02)

Version 9.0.0 (2023-08-05)

  • Added: The CLI helper tool now works with eslint.config.js (flat config). Just like ESLint itself, the CLI tool automatically first tries eslint.config.js and then eslintrc, and you can force which one to use by setting the ESLINT_USE_FLAT_CONFIG environment variable. Note that the config of eslint-config-prettier has always been compatible with eslint.config.js (flat config) – it was just the CLI tool that needed updating. On top of that, the docs have been updated to mention how to use both eslint.config.js (flat config) and eslintrc, and the tests now test both config systems.
  • Changed: unicode-bom is no longer turned off. Prettier preserves the BOM if you have one, and does not add one if missing. It was wrong of eslint-config-prettier to disable that rule. If you get ESLint errors after upgrading, either add "unicode-bom": "off" to your config to disable it again, or run ESLint with --fix to fix all files according to the rule (add or remove BOM). Thanks to Nicolas Stepien (@nstepien)!

Version 8.10.0 (2023-08-03)

Version 8.9.0 (2023-07-27)

Version 8.8.0 (2023-03-20)

Version 8.7.0 (2023-03-06)

Version 8.6.0 (2023-01-02)

Version 8.5.0 (2022-03-02)

Version 8.4.0 (2022-02-19)

Version 8.3.0 (2021-04-24)

Version 8.2.0 (2021-04-13)

Version 8.1.0 (2021-02-24)

Version 8.0.0 (2021-02-21)

  • Changed: All configs have been merged into one!

    To upgrade, change:

      "extends": [


      "extends": [

    The "prettier" config now includes not just ESLint core rules, but also rules from all plugins. Much simpler!

    So … what’s the catch? Why haven’t we done this earlier? Turns out it’s just a sad mistake. I (@lydell) was confused when testing, and thought that turning off unknown rules in a config was an error. Thanks to Georgii Dolzhykov (@thorn0) for pointing this out!

    If you use eslint-plugin-prettier, all you need is plugin:prettier/recommended:

      "extends": [

    (The "prettier/prettier" config still exists separately. It’s the odd one out. The main "prettier" config does not include the rules from it.)

  • Changed: The CLI helper tool now only prints warnings for arrow-body-style and prefer-arrow-callback, just like other “special rules.” This means that if you’ve decided to use those rules and eslint-plugin-prettier at the same time, you’ll get warnings but exit code zero (success).

Version 7.2.0 (2021-01-18)

Version 7.1.0 (2020-12-19)

Version 7.0.0 (2020-12-05)

  • Changed: At least ESLint 7.0.0 is now required.

  • Changed: arrow-body-style and prefer-arrow-callback are no longer turned off by default. They only need to be turned off if you use eslint-plugin-prettier. If you do, add "prettier/prettier" to your "extends" array to turn them off again.

      "extends": ["prettier", "prettier/prettier"],
      "plugins": ["prettier"],
      "rules": {
        "prettier/prettier": "error"

    Alternatively, update eslint-plugin-prettier to version 3.2.0 or later which automatically turns off these two rules in its "plugin:prettier/recommended" config.

    The CLI helper tool only warns about these rules if you have the "prettier/prettier" rule enabled for a file.

  • Changed: no-tabs is now a validatable rule. If you use it, you should enable allowIndentationTabs so that the rule works regardless of your Prettier config:

      "rules": {
        "no-tabs": ["error", { "allowIndentationTabs": true }]
  • Changed: The CLI helper tool is now called just eslint-config-prettier instead of eslint-config-prettier-check. This is so that npx eslint-config-prettier always works regardless of whether you have already installed eslint-config-prettier or not: If you have, the local installation is used; if you haven’t, npx downloads a temporary copy.

  • Changed: The CLI helper tool no longer requires you to pipe the output of eslint --print-config to it. Instead, it does that automatically for you via ESLint API:s added in ESLint v7.


    npx eslint --print-config index.js | npx eslint-config-prettier-check


    npx eslint-config-prettier index.js
  • Improved: The npm package is now 75% smaller.

Version 6.15.0 (2020-10-27)

Version 6.14.0 (2020-10-21)

  • Added: New eslint-plugin-vue rules: [vue/array-bracket-newline] and [vue/block-tag-newline]. Thanks to @xcatliu!

Version 6.13.0 (2020-10-16)

  • Added: New rules in eslint-plugin-vue 7.0 (which supports Vue 3.0). Thanks to @xcatliu!

Version 6.12.0 (2020-09-25)

Version 6.11.0 (2020-04-21)

Version 6.10.1 (2020-03-22)

  • Improved: Recommend using npx when running the CLI helper tool.
  • Updated: Mention that eslint-config-prettier has been tested with Prettier 2.0 and the latest versions of plugins.

Version 6.10.0 (2020-01-28)

Version 6.9.0 (2019-12-27)

Version 6.8.0 (2019-12-25)

Version 6.7.0 (2019-11-19)

Version 6.6.0 (2019-11-17)

Version 6.5.0 (2019-10-26)

Version 6.4.0 (2019-10-05)

Version 6.3.0 (2019-09-10)

Version 6.2.0 (2019-09-03)

Version 6.1.0 (2019-08-19)

Version 6.0.0 (2019-06-25)

  • Changed: The CLI helper tool now considers no-confusing-arrow to conflict if you use the default value of its allowParens option. The default was changed to true in ESLint 6, which conflicts with Prettier.

    If the CLI helper tool gives you errors about this after upgrading, the solution is to change this:

      "rules": {
        "no-confusing-arrow": ["error"]

    Into this:

      "rules": {
        "no-confusing-arrow": ["error", { "allowParens": false }]

    The latter works in both ESLint 6 as well as in ESLint 5 and older.

  • Improved: eslint --print-config usage instructions. The CLI tool help text as well as the documentation has been updated to suggest commands that work in ESLint 6.0 as well as in ESLint 5 and older. (Instead of eslint --print-config ., use eslint --print-config path/to/main.js.)

Version 5.1.0 (2019-06-25)

Version 5.0.0 (2019-06-15)

  • Removed: react/self-closing-comp. This rule was added in v4.1.0 not because it conflicted with Prettier but because it was unnecessary when using Prettier. However, in v1.18.0 Prettier stopped converting empty elements to self-closing elements. So the rule is not unnecessary anymore.

    If you use Prettier v1.17.1 or older you should be able to upgrade eslint-config-prettier to v5.0.0 without having to do anything else.

    If you use Prettier v1.18.0 or newer, you might get lint errors about for example changing <div></div> into <div />. You have two options:

    • Run eslint --fix if you prefer to enforce self-closing elements where possible. This should fix all the errors.
    • Add "react/self-closing-comp": "off" to your ESLint config if you use autofix from your editor and you face the same issue as Prettier did.
  • Changed: Node.js 6 is no longer officially supported, but v5.0.0 should still work with it.

Version 4.3.0 (2019-05-16)

Version 4.2.0 (2019-04-25)

Version 4.1.0 (2019-02-26)

Version 4.0.0 (2019-01-26)

  • Breaking change: Support for eslint-plugin-typescript has been removed and replaced with support for its successor @typescript-eslint/eslint-plugin. Thanks to TANIGUCHI Masaya (@ta2gch) and everyone else who helped with this!
  • Changed: arrow-body-style and prefer-arrow-callback are now marked as special rules, since they might cause problems if using eslint-plugin-prettier and --fix. They are turned off by default, and the CLI helper tool will warn about them (but not error if you do enable them). This won’t break your linting checks, but do note that these rules will be disabled unless you explicitly enable them again, and that you might see new warnings when running the CLI helper tool.

Version 3.6.0 (2019-01-19)

Version 3.5.0 (2019-01-16)

  • Fixed: The eslint-plugin-vue change from 3.4.0 has been reverted. That change requires eslint-plugin-vue@5, while many use eslint-plugin-vue@4. In other words, it was an accidental breaking change. Also, after thinking about it some more, it makes sense to have a Prettier-specific list of rules, rather than using the vue/no-layout-rules list, since there can be layout rules that don’t conflict with but rather complement Prettier.
  • Added: New eslint-plugin-vue rules coming in the next version after 5.1.0.

Version 3.4.0 (2019-01-13)

  • Added: Support for eslint-plugin-typescript. Thanks to Jed Fox (@j-f1)!
  • Improved: The eslint-plugin-vue integration is now using the vue/no-layout-rules config behind the scenes, so it should automatically stay up-to-date when new eslint-plugin-vue versions are released. Thanks to Michał Sajnóg (@michalsnik)!

Version 3.3.0 (2018-11-11)

Version 3.2.0 (2018-11-10)

  • Added: Support for eslint-plugin-vue.
  • Fixed: The CLI helper tool should now work in Node.js 6 with npm 3 again. Thanks to Grant Snodgrass (@meeber)!
  • Improved: Updated documentation.

Version 3.1.0 (2018-09-22)

  • Added: Support for eslint-plugin-unicorn. Thanks to John Mars (@j0hnm4r5)!
  • Changed: The quotes rule is now allowed to be used to forbid unnecessary backticks. This means that the CLI helper tool no longer can automatically validate it, so you’ll need to refer the quotes special rule documentation. Thanks to Nick Petruzzelli (@npetruzzelli)!

Version 3.0.1 (2018-08-13)

  • Improved: eslint --print-config usage instructions.

Version 3.0.0 (2018-08-13)

  • Breaking change: Dropped Node.js 4 support.

Version 2.10.0 (2018-08-13)

Version 2.9.0 (2017-11-26)

Version 2.8.0 (2017-11-19)

Version 2.7.0 (2017-11-01)

Version 2.6.0 (2017-09-23)

Version 2.5.0 (2017-09-16)

Version 2.4.0 (2017-09-02)

Version 2.3.0 (2017-06-30)

  • Added: The (deprecated) indent-legacy rule. Thanks to M. Ian Graham (@miangraham)!

Version 2.2.0 (2017-06-17)

Version 2.1.1 (2017-05-20)

  • No code changes. Just updates to the readme.

Version 2.1.0 (2017-05-13)

Version 2.0.0 (2017-05-07)

  • Changed/Improved: The CLI helper tool is now more helpful.

    • The options of special rules are now validated if possible. If a special rule is enabled with non-conflicting options, the CLI no longer warns about it.
    • If only special rules that cannot be automatically checked are found, the CLI no longer exists with a non-zero exit code. Instead, it only warns about the rules.
  • Changed: The no-confusing-arrow is now a special rule again, since it might conflict with recent Prettier versions.

  • Removed: The react/wrap-multilines rule (which has been deprecated for a while), since it was removed in eslint-plugin-react@7.

Version 1.7.0 (2017-04-19)

  • Changed: The no-confusing-arrow is no longer a special rule, but simply turned off, since recent Prettier versions make it redundant.
  • Improved: The CLI helper tool now has a more helpful message for special rules, and exits with a different status code if only special rules were found. The exit codes are now documented as well.

Version 1.6.0 (2017-04-05)

  • Added: The curly rule. Thanks to Martin Rädlinger (@formatlos)!

Version 1.5.0 (2017-03-04)

Version 1.4.1 (2017-02-28)

  • Improved: eslint-config-prettier is now part of the prettier organization! This version updates all URLs to point to the new home of the project.

Version 1.4.0 (2017-02-26)

  • Added: The no-confusing-arrow rule (as a special rule). Thanks to Dominik Ferber (@dferber90)!
  • Added: Deprecated or removed rules that might conflict with prettier. Thanks to Dominik Ferber (@dferber90)!

Version 1.3.0 (2017-02-21)

Version 1.2.0 (2017-02-14)

Version 1.1.1 (2017-02-12)

  • Minor documentation tweak: Changed "Exceptions" into "Special rules".

Version 1.1.0 (2017-02-10)

  • Fixed: The eslint-plugin-react exclusion rules now actually work.
  • Fixed: The CLI helper tool now works in Node.js 4. Thanks to Nathan Friedly (@nfriedly)!
  • Added: Support for eslint-plugin-flowtype.
  • Improved: Minor things for the CLI helper tool.
  • Improved: There are now tests for everything.

Version 1.0.3 (2017-02-03)

  • Fixed: "extends": "prettier/react" now actually works.

Version 1.0.2 (2017-01-30)

  • Improved: CLI helper tool instructions.

Version 1.0.1 (2017-01-29)

  • No difference from 1.0.0. Just an npm publish mistake.

Version 1.0.0 (2017-01-29)

  • Initial release.