
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
svelte-eslint-parser
Advanced tools
Svelte parser for ESLint.
You can check it on Online DEMO.
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 for Svelte.
It provides many unique check rules by using the template AST.
ESLint plugin for internationalization (i18n) with Svelte.
It provides rules to help internationalization your application created with Svelte.
The svelte-eslint-parser can not be used with the eslint-plugin-svelte3.
npm install --save-dev eslint svelte-eslint-parser
overrides.parser
option into your .eslintrc.*
file.--ext .svelte
CLI option.{
"extends": "eslint:recommended",
"overrides": [
{
"files": ["*.svelte"],
"parser": "svelte-eslint-parser"
}
]
}
$ eslint "src/**/*.{js,svelte}"
# or
$ eslint src --ext .svelte
parserOptions
has the same properties as what espree, the default parser of ESLint, is supporting.
For example:
{
"parser": "svelte-eslint-parser",
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2021,
"ecmaFeatures": {
"globalReturn": false,
"impliedStrict": false,
"jsx": false
}
}
}
You can use parserOptions.parser
property to specify a custom parser to parse <script>
tags.
Other properties than parser would be given to the specified parser.
For example:
{
"parser": "svelte-eslint-parser",
"parserOptions": {
"parser": "@typescript-eslint/parser"
}
}
For example, if you are using the "@typescript-eslint/parser"
, and if you want to use TypeScript in <script>
of .svelte
, you need to add more parserOptions
configuration.
module.exports = {
// ...
parser: "@typescript-eslint/parser",
parserOptions: {
// ...
project: "path/to/your/tsconfig.json",
extraFileExtensions: [".svelte"], // This is a required setting in `@typescript-eslint/parser` v4.24.0.
},
overrides: [
{
files: ["*.svelte"],
parser: "svelte-eslint-parser",
// Parse the `<script>` in `.svelte` as TypeScript by adding the following configuration.
parserOptions: {
parser: "@typescript-eslint/parser",
},
},
// ...
],
// ...
}
If you want to switch the parser for each lang, specify the object.
{
"parser": "svelte-eslint-parser",
"parserOptions": {
"parser": {
"ts": "@typescript-eslint/parser",
"js": "espree",
"typescript": "@typescript-eslint/parser"
}
}
}
When using JavaScript configuration (.eslintrc.js
), you can also give the parser object directly.
const tsParser = require("@typescript-eslint/parser")
const espree = require("espree")
module.exports = {
parser: "svelte-eslint-parser",
parserOptions: {
// Single parser
parser: tsParser,
// Multiple parser
parser: {
js: espree,
ts: tsParser,
}
},
}
This is an experimental feature. It may be changed or removed in minor versions without notice.
If you install Svelte v5 the parser will be able to parse runes, and will also be able to parse *.js
and *.ts
files.
When using this mode in an ESLint configuration, it is recommended to set it per file pattern as below.
{
"overrides": [
{
"files": ["*.svelte"],
"parser": "svelte-eslint-parser",
"parserOptions": {
"parser": "...",
...
}
},
{
"files": ["*.svelte.js"],
"parser": "svelte-eslint-parser",
"parserOptions": {
...
}
},
{
"files": ["*.svelte.ts"],
"parser": "svelte-eslint-parser",
"parserOptions": {
"parser": "...(ts parser)...",
...
}
}
]
}
Use the dbaeumer.vscode-eslint extension that Microsoft provides officially.
You have to configure the eslint.validate
option of the extension to check .svelte
files, because the extension targets only *.js
or *.jsx
files by default.
Example .vscode/settings.json:
{
"eslint.validate": [
"javascript",
"javascriptreact",
"svelte"
]
}
eslint-plugin-svelte
. The source code for these rules will be helpful to you.Welcome contributing!
Please use GitHub's Issues/PRs.
See also the documentation for the internal mechanism.
See the LICENSE file for license rights and limitations (MIT).
0.34.0-next.6
168f920
Thanks @ota-meshi! - feat: add support for $inspect
and $effect.root
FAQs
Svelte parser for ESLint
The npm package svelte-eslint-parser receives a total of 273,417 weekly downloads. As such, svelte-eslint-parser popularity was classified as popular.
We found that svelte-eslint-parser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.