jellyfin-vue/frontend/.eslintrc.bak

89 lines
2.6 KiB
Plaintext
Raw Normal View History

/**
* This file will be here for a while while we get accostumed to ESLint v9.
* The running ESLint configuration is currently at eslint.config.js
*
* The rules here have not been migrated to the new flat config format, and
* here are some reasons why.
*
* Lots of the rules were not defined in the flat config file because they were
* already using the default values (tested using ESLint Config Inspector).
*/
module.exports = {
rules: {
// Only that option was different from the default values
'@stylistic/indent': ['error', 2, {
'VariableDeclarator': 2,
}],
// This rule is annoying when commenting code pieces
'capitalized-comments': [
'error', 'always',
{
'ignoreInlineComments': true,
ignoreConsecutiveComments: true
}],
// This rule should be enforced by properly setting the env var in the flat config file.
'no-restricted-globals': ['error', ...restrictedGlobals],
// Promise plugin is still not working with ESLint v9
'promise/no-nesting': 'error',
'promise/no-return-in-finally': 'error',
'promise/prefer-await-to-callbacks': 'error',
'promise/prefer-await-to-then': 'error',
// This rule made sense in Options API, but atm is really verbose
'@typescript-eslint/explicit-function-return-type': 'error'
},
/**
* Overrides allows us to omit the --ext CLI argument, simplifying package.json scripts section
*/
overrides: [
{
files: ['*.md'],
rules: {
'@stylistic/no-trailing-spaces': ['off'],
'no-secrets/no-secrets': 'error'
}
},
// This parser configuration doesn't work correctly in ESLint v9
{
files: ['*.ts', '*.tsx'],
parser: 'typescript-eslint-parser-for-extra-files',
parserOptions: {
parser: '@typescript-eslint/parser',
sourceType: 'module',
project: 'tsconfig.json',
extraFileExtensions: ['.vue']
},
...commonTSAndVueConfig
},
{
files: ['*.vue'],
parser: 'vue-eslint-parser',
parserOptions: {
parser: 'typescript-eslint-parser-for-extra-files',
project: 'tsconfig.json',
sourceType: 'module'
},
...commonTSAndVueConfig
},
// import plugin is still not working with ESLint v9
{
files: ['vite.config.ts', 'scripts/**/*.ts'],
rules: {
'import/no-nodejs-modules': 'off'
}
},
{
files: ['*.d.ts'],
rules: {
'multiline-comment-style': 'off'
}
}
],
settings: {
'import/resolver': {
typescript: true,
node: false
}
}
};