tt-rss/eslint.config.js

44 lines
1.2 KiB
JavaScript

import globals from 'globals';
import js from '@eslint/js';
import stylistic from '@stylistic/eslint-plugin';
export default [
js.configs.recommended,
{
files: ['js/**/*.js', 'plugins/**/*.js'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'script',
globals: {
...globals.browser,
// Dojo
dojo: 'readonly',
dijit: 'readonly'
}
},
plugins: {
'@stylistic/js': stylistic
},
rules: {
'no-console': 'off',
'prefer-const': 'error',
'eqeqeq': ['error', 'always'],
'no-empty': ['error', { 'allowEmptyCatch': true }],
// Stylistic rules (replacing those deprecated in ESLint)
'@stylistic/js/linebreak-style': ['error', 'unix'],
'@stylistic/js/eol-last': 'error',
'@stylistic/js/no-trailing-spaces': 'error',
'@stylistic/js/no-multiple-empty-lines': ['error', { 'max': 2 }],
'@stylistic/js/keyword-spacing': ['error', { 'after': true, 'before': true }],
'@stylistic/js/block-spacing': ['error', 'always'],
'@stylistic/js/computed-property-spacing': ['error', 'never'],
'@stylistic/js/max-statements-per-line': ['warn', { 'max': 2 }]
}
}
];