usrspace-browser-addon/eslint.config.mjs

46 lines
1.3 KiB
JavaScript

import globals from 'globals';
import js from '@eslint/js';
import unicorn from 'eslint-plugin-unicorn';
import jsdoc from 'eslint-plugin-jsdoc';
import noUnsanitized from 'eslint-plugin-no-unsanitized';
export default [
{
files: ['**/*.js'],
languageOptions: {
globals: {
...globals.browser,
...globals.commonjs,
...globals.webextensions,
},
},
plugins: {
unicorn,
jsdoc,
'no-unsanitized': noUnsanitized,
},
rules: {
// ### ESLint (https://eslint.org/docs/latest/rules/)
...js.configs.recommended.rules,
// ### Unicorn (https://github.com/sindresorhus/eslint-plugin-unicorn#rules)
...unicorn.configs.recommended.rules,
'unicorn/no-nested-ternary': 'off',
'unicorn/no-null': 'off',
'unicorn/prefer-module': 'off',
'unicorn/prevent-abbreviations': 'off',
// ### JSDoc (https://github.com/gajus/eslint-plugin-jsdoc/tree/main#user-content-eslint-plugin-jsdoc-rules)
...jsdoc.configs['flat/recommended-error'].rules,
'jsdoc/check-indentation': 'error',
'jsdoc/require-asterisk-prefix': 'error',
'jsdoc/require-jsdoc': ['error', { exemptEmptyFunctions: true }],
'jsdoc/require-param-description': 'off',
'jsdoc/require-returns-description': 'off',
// ### no-unsanitized (https://github.com/mozilla/eslint-plugin-no-unsanitized#rule-details)
...noUnsanitized.configs.DOM.rules,
},
},
];