51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
import js from '@eslint/js';
|
|
import globals from 'globals';
|
|
import tseslint from 'typescript-eslint';
|
|
import pluginVue from 'eslint-plugin-vue';
|
|
import { defineConfig } from 'eslint/config';
|
|
import prettierConfig from 'eslint-config-prettier';
|
|
|
|
export default defineConfig([
|
|
// Global ignores - these apply to all configurations
|
|
{
|
|
ignores: [
|
|
'dist/**',
|
|
'.output/**',
|
|
'.wxt/**',
|
|
'node_modules/**',
|
|
'logs/**',
|
|
'*.log',
|
|
'.cache/**',
|
|
'.temp/**',
|
|
'.vscode/**',
|
|
'!.vscode/extensions.json',
|
|
'.idea/**',
|
|
'.DS_Store',
|
|
'Thumbs.db',
|
|
'*.zip',
|
|
'*.tar.gz',
|
|
'stats.html',
|
|
'stats-*.json',
|
|
'libs/**',
|
|
'workers/**',
|
|
'public/libs/**',
|
|
],
|
|
},
|
|
js.configs.recommended,
|
|
{
|
|
files: ['**/*.{js,mjs,cjs,ts,vue}'],
|
|
languageOptions: { globals: globals.browser },
|
|
},
|
|
...tseslint.configs.recommended,
|
|
{
|
|
rules: {
|
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
'@typescript-eslint/no-unused-vars': 'off',
|
|
},
|
|
},
|
|
pluginVue.configs['flat/essential'],
|
|
{ files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser } } },
|
|
// Prettier configuration - must be placed last to override previous rules
|
|
prettierConfig,
|
|
]);
|