NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #663 most downloaded on npm
Turns off all rules that are unnecessary or might conflict with Prettier.
Last release 1 years ago
18 Jul 2025
Ships unpredictably
gaps range from 8 days to 1.1 years
Nearly every release is documented
notes for 58 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
85 releases · first in 2017
republish latest version Full Changelog : v10.1.5...v10.1.8
republish latest version
Full Changelog: v10.1.5...v10.1.8
Patch Changes #332 60fef02 Thanks @JounQin ! - chore: add funding field into package.json Full Changelog : v10.1.4...v10.1.5
Full Changelog: v10.1.4...v10.1.5
One column per quarter.
Patch Changes #328 94b4799 Thanks @silvenon ! - fix(cli): do not crash on no rules configured Full Changelog : v10.1.3...v10.1.4
Full Changelog: v10.1.3...v10.1.4
@pilikan made their first contribution in #325
Patch Changes #321 a8768bf Thanks @Fdawgs ! - chore(package): add homepage for some 3rd-party registry - see #321 for more details
For flat config users, the previous "eslint-config-prettier" entry still works, but "eslint-config-prettier/flat" adds a new name property for config-
#309 eb56a5e Thanks @JounQin! - fix: separate the /flat entry for compatibility
For flat config users, the previous "eslint-config-prettier" entry still works, but "eslint-config-prettier/flat" adds a new name property for config-inspector, we just can't add it for the default entry for compatibility.
See also #308
// before
import eslintConfigPrettier from "eslint-config-prettier";
// after
import eslintConfigPrettier from "eslint-config-prettier/flat";Minor Changes #306 56e2e34 Thanks @JounQin ! - feat: migrate to exports field
@zanminkian made their first contribution in #280
#294 8dbbd6d Thanks @FloEdelmann! - feat: add name to config
#280 cba5737 Thanks @zanminkian! - feat: add declaration file
Full Changelog: v10.0.2...v10.0.3
Patch Changes #299 e750edc Thanks @Fdawgs ! - chore(package): explicitly declare js module type
chore: migrate to changeset for automatically releasing by @JounQin in #278
@stylistic/eslint-plugin by @abrahamguo in #272Full Changelog: v9.1.0...v10.0.1
### Major Changes - #272 `5be64be` Thanks @abrahamguo! - add support for @stylistic formatting rules
Nothing published for this version
Changed: All the [formatting rules that were deprecated in ESLint 8.53.0][deprecated-8.53.0] are now excluded if you set the ESLINT_CONFIG_PRETTIER_NO…
ESLINT_CONFIG_PRETTIER_NO_DEPRECATED environment variable.Added: The CLI helper tool now works with eslint.config.js (flat config). Just like ESLint itself, the CLI tool automatically first tries eslint.confi
"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)!Nothing published for this version
Added: [max-statements-per-line]. Thanks to @Zamiell!
Added: [vue/array-element-newline]. Thanks to @xcatliu!
Added: [@typescript-eslint/lines-around-comment]. Thanks to @ttionya!
Added: [@typescript-eslint/block-spacing]. Thanks to @ttionya!
Added: [vue/multiline-ternary]. Thanks to @xcatliu!
Added: [@typescript-eslint/space-before-blocks]. Thanks to Masafumi Koba (@ybiquitous)!
Added: [vue/quote-props]. Thanks to @xcatliu!
Added: Support for [@babel/eslint-plugin]. Thanks to Chip Zhang (@ChipZhang) for the heads-up! ([eslint-plugin-babel] is still supported, too.)
Added: [flowtype/quotes]. Thanks to Martin Zlámal (@mrtnzlml)!
Added: [flowtype/object-type-curly-spacing].
Changed: All configs have been merged into one!
Changed: All configs have been merged into one!
To upgrade, change:
{
"extends": [
"some-other-config-you-use",
"prettier",
"prettier/@typescript-eslint",
"prettier/babel",
"prettier/flowtype",
"prettier/react",
"prettier/standard",
"prettier/unicorn",
"prettier/vue"
]
}
Into:
<!-- prettier-ignore -->
{
"extends": [
"some-other-config-you-use",
"prettier"
]
}
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]:
<!-- prettier-ignore -->
{
"extends": [
"some-other-config-you-use",
"plugin:prettier/recommended"
]
}
(The ["prettier/prettier" config][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).
Added: [@typescript-eslint/object-curly-spacing].
Added: [unicorn/empty-brace-spaces]. Thanks to fisker Cheung (@fisker)!
Changed: At least ESLint 7.0.0 is now required.
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.
Before:
npx eslint --print-config index.js | npx eslint-config-prettier-check
After:
npx eslint-config-prettier index.js
Improved: The npm package is now 75% smaller.
Added: [@typescript-eslint/space-infix-ops]. Thanks to Masafumi Koba (@ybiquitous)!
Added: New [eslint-plugin-vue] rules: [vue/array-bracket-newline] and [vue/block-tag-newline]. Thanks to @xcatliu!
Added: New rules in [eslint-plugin-vue] 7.0 (which supports Vue 3.0). Thanks to @xcatliu!
Added: [@typescript-eslint/comma-dangle]. Thanks to Masafumi Koba (@ybiquitous)!
Added: [@typescript-eslint/keyword-spacing]. Thanks to Hans Bergren (@hbergren)!
Improved: Recommend using npx when running the CLI helper tool.
npx when running the CLI helper tool.Added: [@typescript-eslint/comma-spacing]. Thanks to Masafumi Koba (@ybiquitous)!
Added: [vue/max-len]. Thanks to @xcatliu!
Added: [@typescript-eslint/no-extra-semi]. Thanks to @xcatliu!
Added: [@typescript-eslint/space-before-function-paren]. Thanks to Masafumi Koba (@ybiquitous)!
Added: New [eslint-plugin-vue] rules: [vue/dot-location] and [vue/keyword-spacing]. Thanks to @xcatliu!
Added: Support for [excluding deprecated rules]. Thanks to Alex Ilyaev (@alexilyaev)!
Added: [unicorn/no-nested-ternary]. Thanks to Yang Mingshan (@yangmingshan)!
Added: [@typescript-eslint/brace-style]. Thanks to Masafumi Koba (@ybiquitous)!
Added: [@typescript-eslint/quotes] (as a [special rule][@typescript-eslint/quotes-special]). Thanks to Masafumi Koba (@ybiquitous)!
Added: [function-call-argument-newline] \(new in ESLint 6.2.0). Thanks to Masafumi Koba (@ybiquitous)!
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 ch
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.)
Added: [react/jsx-curly-newline]. Thanks to Masafumi Koba (@ybiquitous)!
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 usin
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][prettier-self-closing]. 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:
eslint --fix if you prefer to enforce self-closing elements where possible. This should fix all the errors."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][prettier-self-closing].Changed: Node.js 6 is no longer officially supported, but v5.0.0 should still work with it.
Added: New [eslint-plugin-vue] rules: [vue/arrow-spacing], [vue/block-spacing], [vue/brace-style] and [vue/comma-dangle].
Added: [@typescript-eslint/no-extra-parens]. Thanks to Keiichiro Amemiya (@Hoishin) and Jen Gorfine (@jgorfine)!
Added: [linebreak-style]. Use Prettier’s [end-of-line] option instead.
Breaking change: Support for [eslint-plugin-typescript] has been removed and replaced with support for its successor [@typescript-eslint/eslint-plugin…
--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.Added: Support for [eslint-plugin-babel]. Thanks to Matija Marohnić (@silvenon)!
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 thinki…
vue/no-layout-rules list, since there can be layout rules that don’t conflict with but rather complement Prettier.Added: Support for [eslint-plugin-typescript]. Thanks to Jed Fox (@j-f1)!
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)!Added: The [vue/html-self-closing] rule (as a [special rule][vue/html-self-closing-special]). Thanks to Yamagishi Kazutoshi (@ykzts)!
Added: Support for [eslint-plugin-vue].
Added: Support for [eslint-plugin-unicorn]. Thanks to John Mars (@j0hnm4r5)!
Improved: eslint --print-config usage instructions.
eslint --print-config usage instructions.Breaking change: Dropped Node.js 4 support.
Your coding agent can read these notes before it upgrades. Set up the MCP server →