60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
module.exports = {
|
|
extends: 'eslint-config-ali/typescript/react',
|
|
parserOptions: {
|
|
project: [], // for lint performance
|
|
createDefaultProgram: false, // for lint performance
|
|
},
|
|
rules: {
|
|
'react/no-multi-comp': 0,
|
|
'no-unused-expressions': 0,
|
|
'implicit-arrow-linebreak': 1,
|
|
'no-nested-ternary': 1,
|
|
'no-mixed-operators': 1,
|
|
'@typescript-eslint/ban-types': 1,
|
|
'no-shadow': 1,
|
|
'no-prototype-builtins': 1,
|
|
'no-useless-constructor': 1,
|
|
'no-empty-function': 1,
|
|
'lines-between-class-members': 0,
|
|
'no-await-in-loop': 0,
|
|
'no-plusplus': 0,
|
|
'@typescript-eslint/no-parameter-properties': 0,
|
|
'no-restricted-exports': ['error'],
|
|
'no-multi-assign': 1,
|
|
'no-dupe-class-members': 1,
|
|
'react/no-deprecated': 1,
|
|
'no-useless-escape': 1,
|
|
'brace-style': 1,
|
|
'@typescript-eslint/no-inferrable-types': 0,
|
|
'no-proto': 0,
|
|
'prefer-const': 0,
|
|
'eol-last': 0,
|
|
'react/no-find-dom-node': 0,
|
|
'no-case-declarations': 0,
|
|
'@typescript-eslint/indent': 0,
|
|
'import/no-cycle': 0,
|
|
'@typescript-eslint/no-shadow': 0,
|
|
'@typescript-eslint/method-signature-style': 0,
|
|
'@typescript-eslint/consistent-type-assertions': 0,
|
|
'@typescript-eslint/no-useless-constructor': 0,
|
|
'@typescript-eslint/dot-notation': 0, // for lint performance
|
|
'@typescript-eslint/restrict-plus-operands': 0, // for lint performance
|
|
'no-unexpected-multiline': 1,
|
|
'no-multiple-empty-lines': ['error', { max: 1 }],
|
|
'lines-around-comment': ['error', {
|
|
beforeBlockComment: true,
|
|
afterBlockComment: false,
|
|
afterLineComment: false,
|
|
allowBlockStart: true,
|
|
}],
|
|
'comma-dangle': ['error', 'always-multiline'],
|
|
'@typescript-eslint/member-ordering': [
|
|
'error',
|
|
{ default: ['signature', 'field', 'constructor', 'method'] }
|
|
],
|
|
'@typescript-eslint/no-unused-vars': ['error'],
|
|
'no-redeclare': 0,
|
|
'@typescript-eslint/no-redeclare': 1,
|
|
},
|
|
};
|