Merged PR 170: Add new eslint rules
- naming-convention - prefer-arrow-callback - func-style - import/no-default-export
This commit is contained in:
parent
3f58c5ba5e
commit
ad126c6c28
65 changed files with 781 additions and 784 deletions
|
@ -1,12 +1,10 @@
|
|||
// TODO: https://eslint.org/docs/latest/rules/func-names
|
||||
// TODO: https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/naming-convention.md
|
||||
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true
|
||||
},
|
||||
extends: [
|
||||
'only-warn',
|
||||
'plugin:react/recommended',
|
||||
'standard-with-typescript'
|
||||
],
|
||||
|
@ -20,22 +18,67 @@ module.exports = {
|
|||
project: './tsconfig.json'
|
||||
},
|
||||
plugins: [
|
||||
'only-warn',
|
||||
'react',
|
||||
'react-hooks',
|
||||
'@typescript-eslint'
|
||||
],
|
||||
rules: {
|
||||
'prefer-arrow-callback': 'error',
|
||||
'func-style': ['error', 'declaration'],
|
||||
'space-before-function-paren': ['error', 'never'],
|
||||
'@typescript-eslint/space-before-function-paren': ['error', 'never'],
|
||||
|
||||
// Import/export
|
||||
'import/no-default-export': 'error',
|
||||
|
||||
// Typescript overload
|
||||
indent: 'off',
|
||||
'@typescript-eslint/indent': ['warn', 2, {SwitchCase: 1}],
|
||||
semi: 'off',
|
||||
'@typescript-eslint/semi': ['warn', 'always'],
|
||||
"camelcase": "off",
|
||||
'no-unused-vars': 'off',
|
||||
|
||||
// Typescript
|
||||
'@typescript-eslint/space-before-function-paren': ['error', 'never'],
|
||||
'@typescript-eslint/indent': ['warn', 2, {SwitchCase: 1}],
|
||||
'@typescript-eslint/semi': ['warn', 'always'],
|
||||
'@typescript-eslint/no-unused-vars': 'error',
|
||||
'@typescript-eslint/ban-types': ['error'],
|
||||
'@typescript-eslint/no-floating-promises': 'off', // disabled cuz troublesome for SweetAlert since they never reject
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
"selector": "default",
|
||||
"format": ["camelCase"]
|
||||
},
|
||||
{
|
||||
'selector': 'function',
|
||||
'format': ['PascalCase']
|
||||
},
|
||||
{
|
||||
"selector": "variable",
|
||||
"format": ["camelCase", "UPPER_CASE"]
|
||||
},
|
||||
{
|
||||
"selector": "parameter",
|
||||
"format": ["camelCase"],
|
||||
"leadingUnderscore": "allow"
|
||||
},
|
||||
{
|
||||
'selector': ['enumMember', 'enum'],
|
||||
'format': ['PascalCase']
|
||||
},
|
||||
{
|
||||
"selector": "memberLike",
|
||||
"modifiers": ["private"],
|
||||
"format": ["camelCase"],
|
||||
"leadingUnderscore": "require"
|
||||
},
|
||||
{
|
||||
"selector": ['typeLike'],
|
||||
"format": ["PascalCase"],
|
||||
}
|
||||
],
|
||||
|
||||
// React
|
||||
'react-hooks/rules-of-hooks': 'error', // Checks rules of Hooks
|
||||
'react-hooks/exhaustive-deps': 'warn' // Checks effect dependencies
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue