eslint-config-4catalyzer
Version:
4Catalyzer ESLint config
117 lines (115 loc) • 2.51 kB
JavaScript
module.exports = {
'default-param-last': 'off',
'arrow-body-style': 'off',
'prefer-arrow-callback': 'off',
'class-methods-use-this': 'off',
'no-promise-executor-return': 'off',
'max-len': [
'error',
79,
{
ignorePattern: ' // eslint-disable-line ',
},
],
'no-continue': 'off',
'no-param-reassign': 'off',
'no-mixed-operators': [
'error',
{
groups: [
// Allow arithmetic operator grouping given well-known precedence.
['&', '|', '^', '~', '<<', '>>', '>>>'],
['==', '!=', '===', '!==', '>', '>=', '<', '<='],
['&&', '||'],
['in', 'instanceof'],
],
allowSamePrecedence: false,
},
],
'no-plusplus': 'off',
'no-restricted-syntax': [
'error',
'ForInStatement',
// We use iterables, so allow for-of.
'LabeledStatement',
'WithStatement',
],
'no-underscore-dangle': [
'error',
{
allow: [],
allowAfterThis: true,
allowAfterSuper: false,
enforceInMethodNames: false,
},
],
'no-unused-vars': [
'error',
{
vars: 'all',
varsIgnorePattern: '^_',
args: 'after-used',
ignoreRestSiblings: false,
argsIgnorePattern: '^_',
},
],
// allow `let foo, bar;`, but not `let foo = 1, bar ='hi';`
'one-var': ['error', { initialized: 'never' }],
'prefer-destructuring': [
'error',
{
VariableDeclarator: {
array: false,
object: true,
},
AssignmentExpression: {
array: false,
object: false,
},
},
{ enforceForRenamedProperties: false },
],
'prefer-const': ['error', { destructuring: 'all' }],
// We very seldom intentionally use async functions without await.
'require-await': 'error',
'sort-imports': [
'error',
{
ignoreDeclarationSort: true,
},
],
'import/extensions': [
'error',
'ignorePackages',
{
js: 'never',
mjs: 'never',
jsx: 'never',
ts: 'never',
tsx: 'never',
},
],
'import/order': [
'error',
{
groups: [
'builtin',
['unknown', 'external'],
'internal',
['parent', 'sibling', 'index'],
],
pathGroups: [
{
pattern: './*.module.{css,scss,less}',
group: 'sibling',
position: 'after',
},
],
'newlines-between': 'always',
alphabetize: {
order: 'asc',
},
},
],
'import/prefer-default-export': 'off',
};