58 lines
1.8 KiB
JavaScript
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',
|
|
},
|
|
},
|
|
])
|