Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@vue/eslint-config-prettier

vuejs3.4mMIT10.2.0TypeScript support: included

eslint-config-prettier for create-vue

vue, create-vue, create-eslint-config, eslint, prettier

readme

@vue/eslint-config-prettier

A wrapper around eslint-config-prettier designed to work more intuitively with create-vue setups.

This config is specifically designed to be used by create-vue setups and is not meant for outside use (it can be used but some adaptations on the user side might be needed - for details see the config file).

A part of its design is that this config may implicitly depend on other parts of create-vue setups.

Installation

npm add --dev @vue/eslint-config-prettier

Please also make sure that you have prettier and eslint installed.

Usage

Note: the current version doesn't support the legacy .eslintrc* configuration format. For that you need to use version 9 or earlier. See the corresponding README for more usage instructions.

Import @vue/eslint-config-prettier in eslint.config.js (or eslint.config.mjs), and put it in the configuration array – after other configs that you want to override.

import someConfig from "some-other-config-you-use";
import prettierConfig from "@vue/eslint-config-prettier";

export default [someConfig, prettierConfig];

Make sure to put it last, so it gets the chance to override other configs.

This configuration is the most straightward way to use ESLint with Prettier.

It disables all rules that are unnecessary or might conflict with Prettier. It also enables the eslint-plugin-prettier plugin, which runs Prettier as an ESLint rule and reports differences as individual ESLint issues.

By default all formatting issues are reported as warnings, and will be automatically fixed during eslint --fix.

Use Separate Commands for Linting and Formatting

While the above setup is very straightforward, it is not necessarily the best way.

Running prettier inside the linter slows down the linting process, might clutter the editor with annoying warnings, and adds one layer of indirection where things may break. Prettier's official documentation recommends using separate commands for linting and formatting, i.e., Prettier for code formatting concerns and ESLint for code-quality concerns.

So we offered an additional ruleset to support this workflow:

import someConfig from "some-other-config-you-use";
import skipFormattingConfig from "@vue/eslint-config-prettier/skip-formatting";

export default [someConfig, skipFormattingConfig];

Formatting issues won't be reported with this config.

You can run prettier --check . separately to check for formatting issues, or prettier --write . to fix them.

Further Reading

The default config is based on the recommended configuration of eslint-plugin-prettier, which also depends on eslint-config-prettier. Please refer to their corresponding documentations for more implementation details.

changelog

8.0.0 (2023-07-20)

Breaking Changes

  • Upgraded to Prettier v3; please check out the Prettier release blog for more details
  • Requires Node.js >= v14
  • Requires ESLint >= v8

7.1.0 (2023-02-21)

New Features

  • Added a skip-formatting ruleset b5933a9

7.0.0 (2021-12-23)

Breaking Changes

  • Updated the dependencies and simplified the usage
  • We now recommend using this package along with @rushstack/eslint-patch

6.0.0 (2019-11-18)

Breaking Changes

  • feat!: move eslint:recommended to a separate recommended config, fixes #3. (de7a518)

eslint:recommended is no longer included in the default configuration. Users of old versions need to update their extends to use @vue/prettier/recommended, or ['eslint:recommended', '@vue/prettier].

5.1.0 (2019-11-17)

New Features

  • Re-exports @typescript-eslint and standard configs, so that this config can be used in combination with @vue/typescript/recommended or @vue/standard (939f722)

5.0.0 (2019-07-22)

Breaking Changes

4.0.1 (2018-11-12)

Bug Fixes

  • Also extend eslint-config-prettier/vue, disable eslint-plugin-vue rules that are not compatible with prettier

4.0.0 (2018-10-31)

Beaking Changes

  • Update base configs and plugins, now requires ESLint v5 as a peer dependency