Skip to content

Commit

Permalink
refactor: reorganize rules structure
Browse files Browse the repository at this point in the history
  • Loading branch information
anantoghosh committed Feb 23, 2021
1 parent 83a96f3 commit c9710af
Show file tree
Hide file tree
Showing 10 changed files with 239 additions and 191 deletions.
156 changes: 0 additions & 156 deletions common-rules.js

This file was deleted.

20 changes: 5 additions & 15 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,33 +1,23 @@
'use strict';

const commonRules = require('./common-rules');
const jsxRules = require('./jsx-rules');

module.exports = {
overrides: [
{
files: ['**/*.{ts,tsx}'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'sonarjs', 'unicorn'],
parserOptions: {
project: './tsconfig.json',
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:unicorn/recommended',
'plugin:sonarjs/recommended',
'eslint-config-good-code/rules/eslint-rules',
'eslint-config-good-code/rules/typescript-rules',
'eslint-config-good-code/rules/unicorn-rules',
'eslint-config-good-code/rules/sonarjs-rules',
],
rules: {
...commonRules,
},
overrides: [
{
files: ['**/*.tsx'],
rules: {
...jsxRules,
},
extends: ['./rules/jsx-rules'],
},
],
},
Expand Down
18 changes: 0 additions & 18 deletions jsx-rules.js

This file was deleted.

24 changes: 24 additions & 0 deletions mit.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
'use strict';

module.exports = {
overrides: [
{
files: ['**/*.{ts,tsx}'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
},
extends: [
'eslint-config-good-code/rules/eslint-rules',
'eslint-config-good-code/rules/typescript-rules',
'eslint-config-good-code/rules/unicorn-rules',
],
overrides: [
{
files: ['**/*.tsx'],
extends: ['./rules/jsx-rules'],
},
],
},
],
};
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
},
"homepage": "https://github.com/anantoghosh/eslint-config-good-code#readme",
"files": [
"common-rules.js",
"jsx-rules.js",
"rules/**",
"mit.js",
"index.js"
],
"keywords": [
Expand Down
26 changes: 26 additions & 0 deletions rules/eslint-rules.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
module.exports = {
rules: {
/* eslint extra rules */
'max-lines': [
'error',
{ max: 300, skipBlankLines: true, skipComments: true },
],
'max-nested-callbacks': ['error', { max: 4 }],
'max-params': ['error', { max: 4 }],
'max-depth': ['error', 5],
'max-statements': ['error', 15, { ignoreTopLevelFunctions: true }],
'no-lonely-if': 'error',
'no-unneeded-ternary': 'error',
'no-var': 'error',
'eqeqeq': 'error',
'no-else-return': 'error',
'no-implicit-coercion': 'error',
'no-extra-bind': 'error',
'no-unmodified-loop-condition': 'error',
'radix': 'error',
'yoda': 'error',
'prefer-const': 'error',
'no-nested-ternary': 'error',
},
extends: ['eslint:recommended'],
};
20 changes: 20 additions & 0 deletions rules/jsx-rules.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
module.exports = {
rules: {
'max-lines': [
'error',
{ max: 350, skipBlankLines: true, skipComments: true },
],
'max-nested-callbacks': ['error', { max: 5 }],
'max-depth': ['error', 6],

'@typescript-eslint/naming-convention': [
'error',
{
selector: 'variable',
format: ['camelCase', 'UPPER_CASE', 'PascalCase'],
leadingUnderscore: 'allow',
trailingUnderscore: 'allow',
},
],
},
};
10 changes: 10 additions & 0 deletions rules/sonarjs-rules.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module.exports = {
rules: {
'sonarjs/prefer-immediate-return': 'off',
'sonarjs/no-redundant-boolean': 'off',
'sonarjs/prefer-object-literal': 'off',
'sonarjs/no-collapsible-if': 'off',
},
plugins: ['sonarjs'],
extends: ['plugin:sonarjs/recommended'],
};
Loading

0 comments on commit c9710af

Please sign in to comment.