From 559d5e54a52f33d74eeb0207e6eb358f3bb679ad Mon Sep 17 00:00:00 2001 From: Fractal-Tess Date: Wed, 24 Jan 2024 04:31:40 +0200 Subject: [PATCH] update eslint to comply with shadcn-svelte --- .eslintrc.cjs | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 1b203ba..1d42b6b 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -11,20 +11,65 @@ module.exports = { plugins: ['@typescript-eslint'], parserOptions: { sourceType: 'module', - ecmaVersion: 2020, + ecmaVersion: 'latest', extraFileExtensions: ['.svelte'] }, env: { browser: true, - es2017: true, + es2024: true, node: true }, + globals: { $$Generic: 'readable', NodeJS: true }, + rules: { + 'no-console': 'warn', + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_' + } + ], + 'svelte/no-target-blank': 'error', + 'svelte/no-immutable-reactive-statements': 'error', + 'svelte/prefer-style-directive': 'error', + 'svelte/no-reactive-literals': 'error', + 'svelte/no-useless-mustaches': 'error', + 'svelte/button-has-type': 'off', + 'svelte/require-each-key': 'off', + 'svelte/no-at-html-tags': 'off', + 'svelte/no-unused-svelte-ignore': 'off', + 'svelte/require-stores-init': 'off' + }, overrides: [ { files: ['*.svelte'], parser: 'svelte-eslint-parser', parserOptions: { parser: '@typescript-eslint/parser' + }, + rules: { + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^\\$\\$(Props|Events|Slots|Generic)$' + } + ] + } + }, + { + files: ['*.ts'], + parser: '@typescript-eslint/parser', + rules: { + '@typescript-eslint/ban-types': [ + 'error', + { + extendDefaults: true, + types: { + '{}': false + } + } + ] } } ]