diff --git a/README.md b/README.md index 3a2146e1..b4d1a580 100644 --- a/README.md +++ b/README.md @@ -19,20 +19,19 @@ npm install --save-dev eslint vue-eslint-parser ## 📖 Usage -1. Write `parser` option into your `.eslintrc.*` file. -2. Use glob patterns or `--ext .vue` CLI option. +Write `parser` option into your `eslint.config.*` file. -```json -{ - "extends": "eslint:recommended", - "parser": "vue-eslint-parser" -} -``` - -```console -$ eslint "src/**/*.{js,vue}" -# or -$ eslint src --ext .vue +```js +import vueParser from "vue-eslint-parser" +export default [ + js.configs.recommended, + { + files: ["*.vue", "**/*.vue"], + languageOptions: { + parser: vueParser, + }, + } +] ``` ## 🔧 Options @@ -40,19 +39,25 @@ $ eslint src --ext .vue `parserOptions` has the same properties as what [espree](https://github.com/eslint/espree#usage), the default parser of ESLint, is supporting. For example: -```json -{ - "parser": "vue-eslint-parser", - "parserOptions": { - "sourceType": "module", - "ecmaVersion": "latest", - "ecmaFeatures": { - "globalReturn": false, - "impliedStrict": false, - "jsx": false - } +```js +import vueParser from "vue-eslint-parser" +export default [ + { + files: ["*.vue", "**/*.vue"], + languageOptions: { + parser: vueParser, + sourceType: "module", + ecmaVersion: "latest", + parserOptions: { + ecmaFeatures: { + globalReturn: false, + impliedStrict: false, + jsx: false + } + } + }, } -} +] ``` ### parserOptions.parser @@ -61,66 +66,65 @@ You can use `parserOptions.parser` property to specify a custom parser to parse Other properties than parser would be given to the specified parser. For example: -```json -{ - "parser": "vue-eslint-parser", - "parserOptions": { - "parser": "@babel/eslint-parser", - "sourceType": "module" +```js +import vueParser from "vue-eslint-parser" +import babelParser from "@babel/eslint-parser" +export default [ + { + files: ["*.vue", "**/*.vue"], + languageOptions: { + parser: vueParser, + parserOptions: { + parser: babelParser, + } + }, } -} +] ``` -```json -{ - "parser": "vue-eslint-parser", - "parserOptions": { - "parser": "@typescript-eslint/parser", - "sourceType": "module" +```js +import vueParser from "vue-eslint-parser" +import tsParser from "@typescript-eslint/parser" +export default [ + { + files: ["*.vue", "**/*.vue"], + languageOptions: { + parser: vueParser, + parserOptions: { + parser: tsParser, + } + }, } -} +] ``` You can also specify an object and change the parser separately for `