f7cloud_client/apps/mail/eslint.config.mjs
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

58 lines
1.8 KiB
JavaScript

/*
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { recommendedVue2 } from '@f7cloud/eslint-config'
import pluginImport from 'eslint-plugin-import'
import pluginPerfectionist from 'eslint-plugin-perfectionist'
import pluginVitest from 'eslint-plugin-vitest-globals'
import { defineConfig } from 'eslint/config'
export default defineConfig([
...recommendedVue2,
{
plugins: {
perfectionist: pluginPerfectionist,
import: pluginImport,
vitest: pluginVitest,
},
languageOptions: {
globals: {
...pluginVitest.environments.env.globals,
__webpack_public_path__: 'writable',
},
},
rules: {
'no-console': 'warn',
'no-unused-vars': 'warn',
// 'jsdoc/no-undefined-types': 'error',
'jsdoc/require-jsdoc': 'off',
// 'jsdoc/require-param': 'off',
'perfectionist/sort-enums': 'error',
'perfectionist/sort-interfaces': 'error',
'perfectionist/sort-object-types': 'error',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'vue/multi-word-component-names': 'off',
// 'sort-imports': ['error', { ignoreDeclarationSort: true }],
// 'import/order': ['error', { groups: ['builtin', 'external', 'internal'], alphabetize: { order: 'asc', caseInsensitive: true } }],
// // Relax some rules for now. Can be improved later one (baseline).
//
// // JSDocs are welcome but lint:fix should not create empty ones
// 'jsdoc/require-jsdoc': 'off',
// 'jsdoc/require-param': 'off',
// Forbid empty JSDocs
// TODO: Enable this rule once @f7cloud/eslint-config was updated and pulls the
// newest version of eslint-plugin-jsdoc (is a recent feature/rule).
// 'jsdoc/no-blank-blocks': 'error',
},
},
])