121 lines
3.4 KiB
JavaScript
121 lines
3.4 KiB
JavaScript
import globals from 'globals';
|
|
import jsdoc from 'eslint-plugin-jsdoc';
|
|
|
|
export default [
|
|
jsdoc.configs['flat/recommended'],
|
|
{
|
|
languageOptions: {
|
|
ecmaVersion: 'latest',
|
|
sourceType: 'module',
|
|
globals: {
|
|
...globals.commonjs,
|
|
...globals.es2021,
|
|
},
|
|
},
|
|
plugins: {
|
|
jsdoc,
|
|
},
|
|
rules: {
|
|
'no-cond-assign': 'off',
|
|
'no-irregular-whitespace': 'error',
|
|
'no-unexpected-multiline': 'error',
|
|
'curly': ['error', 'multi-line'],
|
|
'guard-for-in': 'error',
|
|
'no-caller': 'error',
|
|
'no-extend-native': 'error',
|
|
'no-extra-bind': 'error',
|
|
'no-invalid-this': 'error',
|
|
'no-multi-spaces': 'error',
|
|
'no-multi-str': 'error',
|
|
'no-new-wrappers': 'error',
|
|
'no-throw-literal': 'error',
|
|
'no-with': 'error',
|
|
'prefer-promise-reject-errors': 'error',
|
|
'no-unused-vars': ['error', { args: 'none' }],
|
|
'array-bracket-newline': 'off',
|
|
'array-bracket-spacing': ['error', 'never'],
|
|
'array-element-newline': 'off',
|
|
'block-spacing': ['error', 'never'],
|
|
'brace-style': 'error',
|
|
'camelcase': ['error', { properties: 'never' }],
|
|
'comma-dangle': ['error', 'always-multiline'],
|
|
'comma-spacing': 'error',
|
|
'comma-style': 'error',
|
|
'computed-property-spacing': 'error',
|
|
'eol-last': 'error',
|
|
'func-call-spacing': 'error',
|
|
|
|
'camelcase': 'off',
|
|
'indent': [
|
|
'error',
|
|
2,
|
|
{
|
|
'SwitchCase': 1,
|
|
},
|
|
],
|
|
'key-spacing': 'error',
|
|
'keyword-spacing': 'error',
|
|
'linebreak-style': 'error',
|
|
'max-len': [
|
|
'error',
|
|
{
|
|
code: 160,
|
|
ignoreComments: true,
|
|
ignoreUrls: true,
|
|
ignoreStrings: true,
|
|
},
|
|
],
|
|
'new-cap': 'error',
|
|
'no-array-constructor': 'error',
|
|
'no-mixed-spaces-and-tabs': 'error',
|
|
'no-multiple-empty-lines': ['error', { max: 2 }],
|
|
'no-new-object': 'error',
|
|
'no-tabs': 'error',
|
|
'no-trailing-spaces': 'error',
|
|
'object-curly-spacing': 'error',
|
|
'one-var': ['error', {
|
|
var: 'never',
|
|
let: 'never',
|
|
const: 'never',
|
|
}],
|
|
'operator-linebreak': ['error', 'after'],
|
|
'padded-blocks': ['error', 'never'],
|
|
'quote-props': ['error', 'consistent'],
|
|
'quotes': ['error', 'single', { allowTemplateLiterals: true }],
|
|
'semi': 'error',
|
|
'semi-spacing': 'error',
|
|
'space-before-blocks': 'error',
|
|
'space-before-function-paren': ['error', {
|
|
asyncArrow: 'always',
|
|
anonymous: 'never',
|
|
named: 'never',
|
|
}],
|
|
'spaced-comment': [
|
|
'error',
|
|
'always',
|
|
{
|
|
line: {
|
|
markers: ['/'],
|
|
},
|
|
},
|
|
],
|
|
'switch-colon-spacing': 'error',
|
|
'arrow-parens': 'off',
|
|
'constructor-super': 'error',
|
|
'generator-star-spacing': ['error', 'after'],
|
|
'no-new-symbol': 'error',
|
|
'no-this-before-super': 'error',
|
|
'no-var': 'error',
|
|
'prefer-const': ['error', { destructuring: 'all' }],
|
|
'prefer-rest-params': 'error',
|
|
'prefer-spread': 'error',
|
|
'rest-spread-spacing': 'error',
|
|
'yield-star-spacing': ['error', 'after'],
|
|
'jsdoc/no-undefined-types': 'off',
|
|
'jsdoc/require-param-description': 'off',
|
|
'jsdoc/require-returns-description': 'off',
|
|
'jsdoc/require-returns': 'off',
|
|
'jsdoc/tag-lines': ['error', 'any', { startLines: 1 }],
|
|
},
|
|
},
|
|
];
|