File: /var/www/affstore-landing/eslint.config.js
import js from '@eslint/js';
import globals from 'globals';
import eslintTs from 'typescript-eslint';
import eslintPrettier from 'eslint-config-prettier';
import eslintPrettierPlugin from 'eslint-plugin-prettier/recommended';
import eslintSvelte from 'eslint-plugin-svelte';
import svelteParser from 'svelte-eslint-parser';
import svelteConfig from './svelte.config.js';
export default eslintTs.config(
{
plugins: {
'@typescript-eslint': eslintTs.plugin,
svelte: eslintSvelte,
},
},
{
ignores: ['node_modules', 'build', '.svelte-kit', 'package', '.env'],
},
js.configs.recommended,
eslintTs.configs.strict,
eslintTs.configs.stylistic,
eslintPrettierPlugin,
{
languageOptions: {
parser: svelteParser,
globals: {
...globals.node,
...globals.browser,
...globals.es2021,
},
parserOptions: {
project: ['tsconfig.json', 'svelte.config.js'],
extraFileExtensions: ['.svelte'],
},
},
},
{
files: ['**/*.{js, ts}'],
rules: {
...eslintPrettier.rules,
'prefer-const': 'error',
},
},
{
files: ['**/*.svelte', '*.svelte'],
languageOptions: {
parser: svelteParser,
parserOptions: {
// Specify the `svelte.config.js`.
svelteConfig,
},
},
rules: {
...eslintPrettier.rules,
...eslintSvelte.configs.recommended.rules,
},
}
);