From 978d59087926e8abafa7bc7d30e0fd04e18a89df Mon Sep 17 00:00:00 2001 From: Aleksey Kovalevsky Date: Thu, 11 Apr 2024 08:52:53 +0300 Subject: [PATCH] seekingalpha-javascript-style ver. 5.38.13 --- .eslintrc.cjs | 5 ++- .../rules/eslint-plugin-import/index.js | 7 +++- .../rules/eslint-plugin-import/style-guide.js | 11 +++++- .../rules/eslint/index.js | 6 ++- .../rules/eslint/suggestions.js | 6 ++- .../rules/eslint-plugin-jsx-a11y/index.js | 38 +++++++++++++++++-- .../rules/eslint-plugin-react/react.js | 14 ++++++- .../rules/typescript-eslint/index.js | 5 ++- package.json | 8 ++-- 9 files changed, 83 insertions(+), 17 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index f146b7c7..913b9b30 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -3,5 +3,8 @@ module.exports = { node: true, }, reportUnusedDisableDirectives: true, - extends: ['eslint-config-seekingalpha-base/prettier', 'eslint-config-seekingalpha-node'], + extends: [ + 'eslint-config-seekingalpha-base/prettier', + 'eslint-config-seekingalpha-node', + ], }; diff --git a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/index.js b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/index.js index 558f19f5..da57b32d 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/index.js +++ b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/index.js @@ -1,7 +1,12 @@ // eslint-plugin-import rules (https://github.com/benmosher/eslint-plugin-import) module.exports = { - extends: ['./helpful-warnings.js', './module-systems.js', './static-analysis.js', './style-guide.js'], + extends: [ + './helpful-warnings.js', + './module-systems.js', + './static-analysis.js', + './style-guide.js', + ], plugins: ['import'], diff --git a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/style-guide.js b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/style-guide.js index 6d39db1b..bb731641 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/style-guide.js +++ b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint-plugin-import/style-guide.js @@ -32,7 +32,16 @@ module.exports = { 'import/order': [ 'error', { - groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'unknown', 'index', 'type'], + groups: [ + 'builtin', + 'external', + 'internal', + 'parent', + 'sibling', + 'unknown', + 'index', + 'type', + ], 'newlines-between': 'always', }, diff --git a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/index.js b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/index.js index 68709295..5c4635b0 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/index.js +++ b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/index.js @@ -1,3 +1,7 @@ module.exports = { - extends: ['./possible-problems.js', './suggestions.js', './layout-and-formatting.js'], + extends: [ + './possible-problems.js', + './suggestions.js', + './layout-and-formatting.js', + ], }; diff --git a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/suggestions.js b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/suggestions.js index e8e8b31f..a9820f86 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/suggestions.js +++ b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/suggestions.js @@ -437,7 +437,8 @@ module.exports = { 'no-restricted-syntax': [ 'error', { - selector: 'CallExpression[callee.name="setTimeout"][arguments.length!=2]', + selector: + 'CallExpression[callee.name="setTimeout"][arguments.length!=2]', message: 'setTimeout must always be invoked with two arguments.', }, { @@ -446,7 +447,8 @@ module.exports = { }, { selector: 'LabeledStatement', - message: 'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.', + message: + 'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.', }, { selector: 'WithStatement', diff --git a/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-jsx-a11y/index.js b/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-jsx-a11y/index.js index d6f17f5a..5f150a05 100644 --- a/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-jsx-a11y/index.js +++ b/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-jsx-a11y/index.js @@ -166,7 +166,14 @@ module.exports = { 'jsx-a11y/no-noninteractive-element-interactions': [ 'error', { - handlers: ['onClick', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'], + handlers: [ + 'onClick', + 'onMouseDown', + 'onMouseUp', + 'onKeyPress', + 'onKeyDown', + 'onKeyUp', + ], }, ], @@ -174,8 +181,24 @@ module.exports = { 'jsx-a11y/no-noninteractive-element-to-interactive-role': [ 'error', { - ul: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'], - ol: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'], + ul: [ + 'listbox', + 'menu', + 'menubar', + 'radiogroup', + 'tablist', + 'tree', + 'treegrid', + ], + ol: [ + 'listbox', + 'menu', + 'menubar', + 'radiogroup', + 'tablist', + 'tree', + 'treegrid', + ], li: ['menuitem', 'option', 'row', 'tab', 'treeitem'], table: ['grid'], td: ['gridcell'], @@ -206,7 +229,14 @@ module.exports = { 'jsx-a11y/no-static-element-interactions': [ 'error', { - handlers: ['onClick', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'], + handlers: [ + 'onClick', + 'onMouseDown', + 'onMouseUp', + 'onKeyPress', + 'onKeyDown', + 'onKeyUp', + ], }, ], diff --git a/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-react/react.js b/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-react/react.js index 70f6c058..261c5ca6 100644 --- a/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-react/react.js +++ b/eslint-configs/eslint-config-seekingalpha-react/rules/eslint-plugin-react/react.js @@ -8,7 +8,8 @@ module.exports = { { propTypeNames: ['bool', 'mutuallyExclusiveTrueProps'], rule: '^(is|has|should)[A-Z]([A-Za-z0-9]?)+', - message: 'It is better if your prop ({{ propName }}) matches this pattern: ({{ pattern }})', + message: + 'It is better if your prop ({{ propName }}) matches this pattern: ({{ pattern }})', }, ], @@ -302,7 +303,16 @@ module.exports = { 'react/sort-comp': [ 'error', { - order: ['static-methods', 'lifecycle', '/^on.+$/', 'getters', 'setters', 'instance-methods', 'everything-else', 'rendering'], + order: [ + 'static-methods', + 'lifecycle', + '/^on.+$/', + 'getters', + 'setters', + 'instance-methods', + 'everything-else', + 'rendering', + ], groups: { lifecycle: [ 'displayName', diff --git a/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/index.js b/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/index.js index ab68a617..8a6a04cb 100644 --- a/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/index.js +++ b/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/index.js @@ -124,7 +124,10 @@ module.exports = { '@typescript-eslint/class-literal-property-style': ['error', 'fields'], - '@typescript-eslint/consistent-generic-constructors': ['error', 'constructor'], + '@typescript-eslint/consistent-generic-constructors': [ + 'error', + 'constructor', + ], '@typescript-eslint/consistent-indexed-object-style': ['error', 'record'], diff --git a/package.json b/package.json index 3b846d8d..47c68a8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "seekingalpha-javascript-style", - "version": "5.38.12", + "version": "5.38.13", "description": "Set of linting rules, guides and best practices for best Javascript code", "main": "index.js", "type": "module", @@ -45,16 +45,16 @@ ] }, "devDependencies": { - "@seekingalpha/prettier-config-samw": "1.2.0", + "@seekingalpha/prettier-config-samw": "2.0.0", "eslint": "8.57.0", - "eslint-config-seekingalpha-base": "7.16.0", + "eslint-config-seekingalpha-base": "8.0.0", "eslint-config-seekingalpha-node": "5.54.0", "eslint-plugin-array-func": "4.0.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-no-use-extend-native": "0.5.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "6.1.1", - "eslint-plugin-unicorn": "51.0.1", + "eslint-plugin-unicorn": "52.0.0", "husky": "9.0.11", "lint-staged": "15.2.2", "prettier": "3.2.5"