-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheslint.config.js
38 lines (34 loc) · 1.2 KB
/
eslint.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import globals from 'globals';
import js from '@eslint/js';
import prettier from 'eslint-config-prettier';
import svelte from 'eslint-plugin-svelte';
import ts from 'typescript-eslint';
import { fileURLToPath } from 'node:url';
import { includeIgnoreFile } from '@eslint/compat';
import svelteConfig from './svelte.config.js';
const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));
export default ts.config(
includeIgnoreFile(gitignorePath), // skip linting for ignored files
js.configs.recommended, // baseline JavaScript config
...ts.configs.recommended, // baseline TypeScript config
...svelte.configs['flat/recommended'], // baseline Svelte config
prettier, // baseline Prettier config
...svelte.configs['flat/prettier'], // override with Svelte config for Prettier
{
languageOptions: {
globals: {
...globals.browser, // globals for browser runtime
...globals.node, // globals for Node runtime
},
},
},
{
files: ['**/*.svelte'], // apply this config only to Svelte files
languageOptions: {
parserOptions: {
parser: ts.parser, // use TypeScript parser
svelteConfig, // use custom Svelte config
},
},
},
);