Files
nextcloud-spreed/eslint.config.mjs
Grigorii K. Shartsev 5815e23d2e chore(eslint): ignore generated openapi files and docs
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-06-20 23:57:24 +02:00

80 lines
2.5 KiB
JavaScript

/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { recommendedVue2 } from '@nextcloud/eslint-config'
import globals from 'globals'
export default [
...recommendedVue2,
{
name: 'talk/ignores',
ignores: [
// Generated files
'src/types/openapi/*',
// Temporary ignore code in documentation examples
'docs',
// TODO: upstream
'openapi-*.json',
],
},
{
name: 'talk/config',
languageOptions: {
globals: {
...globals.browser,
...globals.node,
IS_DESKTOP: 'readonly',
__webpack_public_path__: 'writable',
},
},
},
{
name: 'talk/jest',
files: ['src/__mocks__/*.js', '**/*.spec.js', 'src/test-setup.js'],
languageOptions: {
globals: {
...globals.jest,
},
},
},
{
name: 'talk/disabled-during-migration',
rules: {
'@nextcloud-l10n/non-breaking-space': 'off', // changes translation strings
'@stylistic/array-bracket-newline': 'off', // changes array formatting
'@stylistic/max-statements-per-line': 'off', // non-fixable
'@typescript-eslint/no-unused-expressions': 'off', // non-fixable
'@typescript-eslint/no-unused-vars': 'off', // non-fixable
'@typescript-eslint/no-use-before-define': 'off', // non-fixable
'antfu/top-level-function': 'off', // non-fixable
'jsdoc/check-param-names': 'off', // need to respect JS
'jsdoc/check-tag-names': 'off', // need to respect JS
'jsdoc/check-types': 'off', // need to respect JS
'jsdoc/no-defaults': 'off', // need to respect JS
'jsdoc/no-types': 'off', // need to respect JS
'jsdoc/require-param': 'off', // need to respect JS
'jsdoc/require-param-type': 'off', // need to respect JS
'jsdoc/require-param-description': 'off', // need to respect JS
'jsdoc/tag-lines': 'off', // need to respect JS
'no-console': 'off', // non-fixable
'no-unused-vars': 'off', // non-fixable
'no-use-before-define': 'off', // non-fixable
'object-shorthand': 'off', // changes Vue watchers
'prefer-object-has-own': 'off', // changes Objet.prototype.hasOwnProperty
'prefer-object-spread': 'off', // changes Object.assign
'vue/first-attribute-linebreak': 'off', // changes all Vue files
'vue/multi-word-component-names': 'off', // non-fixable
'vue/no-boolean-default': 'off', // non-fixable
'vue/no-required-prop-with-default': 'off', // non-fixable
'vue/no-unused-properties': 'off', // non-fixable
'vue/no-unused-refs': 'off', // non-fixable
},
},
]