2025-03-20 19:21:52 +00:00
|
|
|
import javascript from '@eslint/js'
|
|
|
|
|
import jsdoc from 'eslint-plugin-jsdoc'
|
|
|
|
|
|
|
|
|
|
export default [
|
|
|
|
|
{
|
|
|
|
|
plugins: {
|
|
|
|
|
jsdoc,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
languageOptions: {
|
|
|
|
|
globals: {
|
2025-03-25 17:27:15 +00:00
|
|
|
'TextDecoder': false,
|
|
|
|
|
'TextEncoder': false,
|
2025-04-08 07:53:45 +00:00
|
|
|
// for benchmark:
|
|
|
|
|
'console': false,
|
|
|
|
|
'fetch': false,
|
|
|
|
|
'performance': false,
|
2025-03-20 19:21:52 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
rules: {
|
|
|
|
|
...javascript.configs.recommended.rules,
|
|
|
|
|
'arrow-spacing': 'error',
|
|
|
|
|
camelcase: 'off',
|
|
|
|
|
'comma-spacing': 'error',
|
|
|
|
|
'comma-dangle': ['error', {
|
|
|
|
|
arrays: 'always-multiline',
|
|
|
|
|
objects: 'always-multiline',
|
|
|
|
|
imports: 'always-multiline',
|
|
|
|
|
exports: 'always-multiline',
|
|
|
|
|
functions: 'never',
|
|
|
|
|
}],
|
|
|
|
|
'eol-last': 'error',
|
|
|
|
|
eqeqeq: 'error',
|
|
|
|
|
'func-style': ['error', 'declaration'],
|
|
|
|
|
indent: ['error', 2],
|
|
|
|
|
'jsdoc/check-param-names': 'error',
|
|
|
|
|
'jsdoc/check-property-names': 'error',
|
|
|
|
|
'jsdoc/check-tag-names': 'error',
|
|
|
|
|
'jsdoc/require-param': 'error',
|
|
|
|
|
'jsdoc/require-param-type': 'error',
|
|
|
|
|
'jsdoc/require-returns': 'error',
|
|
|
|
|
'jsdoc/require-returns-type': 'error',
|
|
|
|
|
'jsdoc/sort-tags': 'error',
|
2025-05-10 04:49:42 +00:00
|
|
|
'key-spacing': 'error',
|
2025-03-20 19:21:52 +00:00
|
|
|
'no-constant-condition': 'off',
|
2025-04-21 06:20:32 +00:00
|
|
|
'no-extra-parens': 'warn',
|
2025-03-20 19:21:52 +00:00
|
|
|
'no-multi-spaces': 'error',
|
|
|
|
|
'no-trailing-spaces': 'error',
|
|
|
|
|
'no-undef': 'error',
|
|
|
|
|
'no-unused-vars': 'error',
|
|
|
|
|
'no-useless-concat': 'error',
|
|
|
|
|
'no-useless-rename': 'error',
|
|
|
|
|
'no-useless-return': 'error',
|
|
|
|
|
'no-var': 'error',
|
|
|
|
|
'object-curly-spacing': ['error', 'always'],
|
|
|
|
|
'prefer-const': 'error',
|
|
|
|
|
'prefer-promise-reject-errors': 'error',
|
|
|
|
|
quotes: ['error', 'single'],
|
|
|
|
|
'require-await': 'warn',
|
|
|
|
|
semi: ['error', 'never'],
|
|
|
|
|
'sort-imports': ['error', {
|
|
|
|
|
ignoreDeclarationSort: true,
|
|
|
|
|
ignoreMemberSort: false,
|
|
|
|
|
memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
|
|
|
|
|
}],
|
|
|
|
|
'space-infix-ops': 'error',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
]
|