import pluginJs from '@eslint/js' import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended' import unusedImports from 'eslint-plugin-unused-imports' import pluginVue from 'eslint-plugin-vue' import globals from 'globals' import tseslint from 'typescript-eslint' export default [ { files: ['src/**/*.{js,mjs,cjs,ts,vue}'] }, { ignores: [ 'src/scripts/*', 'src/extensions/core/*', 'src/types/vue-shim.d.ts' ] }, { languageOptions: { globals: { ...globals.browser, __COMFYUI_FRONTEND_VERSION__: 'readonly' }, parser: tseslint.parser, parserOptions: { project: './tsconfig.json', ecmaVersion: 2020, sourceType: 'module', extraFileExtensions: ['.vue'] } } }, pluginJs.configs.recommended, ...tseslint.configs.recommended, ...pluginVue.configs['flat/recommended'], eslintPluginPrettierRecommended, { files: ['src/**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser } } }, { plugins: { 'unused-imports': unusedImports }, rules: { '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-unused-vars': 'off', '@typescript-eslint/prefer-as-const': 'off', 'unused-imports/no-unused-imports': 'error', 'vue/no-v-html': 'off' } } ]