module.exports = { parser: '@typescript-eslint/parser', extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', ], parserOptions: { ecmaVersion: 2020, sourceType: 'module', tsconfigRootDir: __dirname, project: ['./tsconfig.json'], extraFileExtensions: ['.svelte'], }, env: { es6: true, browser: true, }, overrides: [ { files: ['*.svelte'], processor: 'svelte3/svelte3', }, ], settings: { 'svelte3/typescript': require('typescript'), // ignore style tags in Svelte because of Tailwind CSS // See https://github.com/sveltejs/eslint-plugin-svelte3/issues/70 'svelte3/ignore-styles': () => true, }, plugins: ['svelte3', '@typescript-eslint'], ignorePatterns: ['node_modules'], rules: { 'no-prototype-builtins': 'warn', '@typescript-eslint/no-unused-vars': 'warn', '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-unsafe-assignment': 'warn', '@typescript-eslint/no-unsafe-argument': 'warn', '@typescript-eslint/no-unsafe-member-access': 'warn', '@typescript-eslint/no-unsafe-call': 'warn', '@typescript-eslint/no-unsafe-return': 'warn', '@typescript-eslint/no-floating-promises': 'warn', '@typescript-eslint/restrict-plus-operands': 'warn', '@typescript-eslint/no-empty-function': 'warn', }, };