module.exports = { extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', 'prettier' ], parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 'latest', sourceType: 'module', tsconfigRootDir: __dirname, project: ['./tsconfig.json', './tsconfig.node.json'], extraFileExtensions: ['.svelte', '.cjs'] }, env: { es6: true, browser: true }, overrides: [ { files: ['*.svelte'], parser: 'svelte-eslint-parser', parserOptions: { parser: '@typescript-eslint/parser' } } ], settings: { 'svelte3/typescript': () => require('typescript'), 'svelte3/ignore-styles': () => true }, plugins: ['@typescript-eslint', 'prettier'], ignorePatterns: ['node_modules'], rules: { indent: 'off', 'linebreak-style': ['error', 'unix'], quotes: ['error', 'single'], 'prefer-const': ['error'], semi: ['error', 'always'], 'max-len': [ 'warn', { code: 80 } ], 'no-constant-condition': ['error', { checkLoops: false }], 'prettier/prettier': 2, '@typescript-eslint/no-floating-promises': 'off', '@typescript-eslint/no-unsafe-return': 'off', '@typescript-eslint/ban-ts-comment': 'off', '@typescript-eslint/restrict-template-expressions': 'off', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-empty-function': 'off', '@typescript-eslint/no-unnecessary-type-assertion': 'off', 'no-self-assign': 'off' } };