# svelte-eslint-parser [Svelte] parser for [ESLint]. You can check it on [Online DEMO](https://sveltejs.github.io/svelte-eslint-parser/playground). [![NPM license](https://img.shields.io/npm/l/svelte-eslint-parser.svg)](https://www.npmjs.com/package/svelte-eslint-parser) [![NPM version](https://img.shields.io/npm/v/svelte-eslint-parser.svg)](https://www.npmjs.com/package/svelte-eslint-parser) [![NPM downloads](https://img.shields.io/badge/dynamic/json.svg?label=downloads&colorB=green&suffix=/day&query=$.downloads&uri=https://api.npmjs.org//downloads/point/last-day/svelte-eslint-parser&maxAge=3600)](http://www.npmtrends.com/svelte-eslint-parser) [![NPM downloads](https://img.shields.io/npm/dw/svelte-eslint-parser.svg)](http://www.npmtrends.com/svelte-eslint-parser) [![NPM downloads](https://img.shields.io/npm/dm/svelte-eslint-parser.svg)](http://www.npmtrends.com/svelte-eslint-parser) [![NPM downloads](https://img.shields.io/npm/dy/svelte-eslint-parser.svg)](http://www.npmtrends.com/svelte-eslint-parser) [![NPM downloads](https://img.shields.io/npm/dt/svelte-eslint-parser.svg)](http://www.npmtrends.com/svelte-eslint-parser) [![Build Status](https://github.com/sveltejs/svelte-eslint-parser/workflows/CI/badge.svg?branch=main)](https://github.com/sveltejs/svelte-eslint-parser/actions?query=workflow%3ACI) [![Coverage Status](https://coveralls.io/repos/github/sveltejs/svelte-eslint-parser/badge.svg?branch=main)](https://coveralls.io/github/sveltejs/svelte-eslint-parser?branch=main) ## โคด๏ธ Motivation The [svelte-eslint-parser] aims to make it easy to create your own ESLint rules for [Svelte]. The [`eslint-plugin-svelte`] is an ESLint plugin that uses the [svelte-eslint-parser]. I have already [implemented some rules]. [`eslint-plugin-svelte`]: https://github.com/sveltejs/eslint-plugin-svelte [implemented some rules]: https://sveltejs.github.io/eslint-plugin-svelte/rules/ ### ESLint Plugins Using svelte-eslint-parser #### [eslint-plugin-svelte](https://sveltejs.github.io/eslint-plugin-svelte/) ESLint plugin for Svelte. It provides many unique check rules by using the template AST. #### [@intlify/eslint-plugin-svelte](https://github.com/intlify/eslint-plugin-svelte) ESLint plugin for internationalization (i18n) with Svelte. It provides rules to help internationalization your application created with Svelte. ## โ— Attention The [svelte-eslint-parser] can not be used with the [eslint-plugin-svelte3]. [svelte-eslint-parser]: https://github.com/sveltejs/svelte-eslint-parser ## ๐Ÿ’ฟ Installation ```bash npm install --save-dev eslint svelte-eslint-parser ``` ## ๐Ÿ“– Usage 1. Write `overrides.parser` option into your `.eslintrc.*` file. 2. Use glob patterns or `--ext .svelte` CLI option. ```json { "extends": "eslint:recommended", "overrides": [ { "files": ["*.svelte"], "parser": "svelte-eslint-parser" } ] } ``` ```console $ eslint "src/**/*.{js,svelte}" # or $ eslint src --ext .svelte ``` ## ๐Ÿ”ง Options `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": "svelte-eslint-parser", "parserOptions": { "sourceType": "module", "ecmaVersion": 2021, "ecmaFeatures": { "globalReturn": false, "impliedStrict": false, "jsx": false } } } ``` ### parserOptions.parser You can use `parserOptions.parser` property to specify a custom parser to parse `