From 4a1f38ff2452f9555203e9ff301fc3b90be6854c Mon Sep 17 00:00:00 2001 From: Guz013 <43732358+Guz013@users.noreply.github.com> Date: Tue, 5 Sep 2023 12:22:20 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20new=20rules=20inspired=20by?= =?UTF-8?q?=20standardjs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/honest-flies-laugh.md | 5 +++++ configs/js/src/configs/formatting.js | 11 +++++++++++ configs/js/src/configs/problems.js | 3 ++- configs/js/src/configs/suggestions.js | 14 ++++++++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 .changeset/honest-flies-laugh.md diff --git a/.changeset/honest-flies-laugh.md b/.changeset/honest-flies-laugh.md new file mode 100644 index 0000000..d150a17 --- /dev/null +++ b/.changeset/honest-flies-laugh.md @@ -0,0 +1,5 @@ +--- +"@eslegant/js": minor +--- + +Added new ESLint rules inspired by StandardJS. diff --git a/configs/js/src/configs/formatting.js b/configs/js/src/configs/formatting.js index 0f7a5f8..2e77541 100644 --- a/configs/js/src/configs/formatting.js +++ b/configs/js/src/configs/formatting.js @@ -24,8 +24,17 @@ const recommended = createVariations({ 'arrow-parens': ['error', 'as-needed', { requireForBlockBody: true }], 'comma-style': 'error', 'curly': ['error', 'multi-or-nest', 'consistent'], + 'dot-location': 'error', + 'eol-last': 'error', 'generator-star-spacing': ['error', 'before'], 'no-mixed-spaces-and-tabs': 'error', + 'no-multi-spaces': 'error', + 'no-whitespace-before-property': 'error', + 'padded-blocks': 'error', + 'rest-spread-spacing': 'error', + 'semi-spacing': 'error', + 'space-in-parens': 'error', + 'space-unary-ops': 'error', 'spaced-comment': ['error', 'always', { block: { balanced: true, @@ -46,6 +55,7 @@ const recommended = createVariations({ }], '@typescript-eslint/comma-dangle': ['error', 'always-multiline'], '@typescript-eslint/comma-spacing': 'error', + '@typescript-eslint/dot-notation': 'error', '@typescript-eslint/func-call-spacing': 'error', '@typescript-eslint/indent': ['error', 'tab', { ArrayExpression: 1, CallExpression: { arguments: 1 }, @@ -120,6 +130,7 @@ const recommended = createVariations({ 'brace-style': 'off', 'comma-dangle': 'off', 'comma-spacing': 'off', + 'dot-notation': 'off', 'func-call-spacing': 'off', 'indent': 'off', 'key-spacing': 'off', diff --git a/configs/js/src/configs/problems.js b/configs/js/src/configs/problems.js index d9ffbc9..218378b 100644 --- a/configs/js/src/configs/problems.js +++ b/configs/js/src/configs/problems.js @@ -43,7 +43,6 @@ const recommended = createVariations({ 'no-invalid-regexp': 'error', 'no-irregular-whitespace': 'error', 'no-misleading-character-class': 'error', - 'no-new-symbol': 'error', 'no-nonoctal-decimal-escape': 'error', 'no-obj-calls': 'error', 'no-octal': 'error', @@ -90,9 +89,11 @@ const strict = createVariations({ ...{}, // ESLint rules 'no-constant-binary-expression': 'error', + 'no-duplicate-imports': 'error', 'no-new-native-nonconstructor': 'error', 'no-promise-executor-return': 'error', 'no-self-compare': 'error', + 'no-sequences': 'error', 'no-template-curly-in-string': 'error', 'no-unmodified-loop-condition': 'error', 'no-unreachable-loop': 'error', diff --git a/configs/js/src/configs/suggestions.js b/configs/js/src/configs/suggestions.js index 1790e00..c37b991 100644 --- a/configs/js/src/configs/suggestions.js +++ b/configs/js/src/configs/suggestions.js @@ -23,6 +23,8 @@ const recommended = createVariations({ 'no-delete-var': 'error', 'no-empty': 'error', 'no-lonely-if': 'error', + 'no-new-symbol': 'error', + 'no-redeclare': 'error', 'no-useless-catch': 'error', 'no-useless-escape': 'error', 'no-var': 'error', @@ -271,6 +273,7 @@ const strict = createVariations({ 'func-names': ['error', 'as-needed'], 'func-style': ['error', 'declaration'], 'grouped-accessor-pairs': ['error', 'setBeforeGet'], + 'handle-callback-err': 'error', 'logical-assignment-operators': ['error', 'always', { enforceForIfStatements: true, }], @@ -287,6 +290,7 @@ const strict = createVariations({ 'max-statements': ['error', 10], 'multiline-comment-style': ['error', 'starred-block'], 'new-cap': 'error', + 'new-parens': 'error', 'no-alert': 'error', 'no-await-in-loop': 'error', 'no-bitwise': 'error', @@ -306,15 +310,21 @@ const strict = createVariations({ }], 'no-floating-decimal': 'error', 'no-implicit-coercion': 'error', + 'no-implied-eval': 'error', + 'no-iterator': 'error', 'no-labels': 'error', + 'no-lone-blocks': 'error', 'no-mixed-operators': 'error', 'no-multi-assign': 'error', 'no-multi-str': 'error', + 'no-multiple-empty-lines': 'error', 'no-negated-condition': 'error', 'no-new': 'error', 'no-new-func': 'error', 'no-new-object': 'error', 'no-new-wrappers': 'error', + 'no-path-concat': 'error', + 'no-proto': 'error', 'no-return-assign': 'error', 'no-script-url': 'error', 'no-sequences': 'error', @@ -324,9 +334,12 @@ const strict = createVariations({ 'no-unused-expressions': 'error', 'no-use-before-define': 'error', 'no-useless-call': 'error', + 'no-useless-computed-key': 'error', 'no-useless-rename': 'error', 'no-useless-return': 'error', + 'one-var': ['error', 'never'], 'operator-assignment': ['error', 'always'], + 'operator-linebreak': 'error', 'prefer-arrow-callback': 'error', 'prefer-const': 'error', 'prefer-named-capture-group': 'error', @@ -338,6 +351,7 @@ const strict = createVariations({ 'radix': ['error', 'always'], 'require-unicode-regexp': 'error', 'symbol-description': 'error', + 'wrap-iife': 'error', 'yoda': ['error', 'never'], ...{}, // Plugin: @typescript-eslint/eslint-plugin