46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
const globals = require('globals');
|
|
const js = require('@eslint/js');
|
|
const unicorn = require('eslint-plugin-unicorn');
|
|
const jsdoc = require('eslint-plugin-jsdoc');
|
|
const noUnsanitized = require('eslint-plugin-no-unsanitized');
|
|
|
|
module.exports = [
|
|
{
|
|
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,
|
|
},
|
|
},
|
|
];
|