diff --git a/index.js b/index.js index 5feb003..7c9ff5a 100644 --- a/index.js +++ b/index.js @@ -189,47 +189,53 @@ module.exports = { 'max-statements': ['error', 20], 'max-statements-per-line': 'error', 'multiline-comment-style': ['error', 'starred-block'], - 'multiline-ternary': ['error', 'always-multiline'], // https://eslint.org/docs/rules/multiline-ternary // enforce newlines between operands of ternary expressions - 'new-cap': 'error', // https://eslint.org/docs/rules/new-cap // require constructor names to begin with a capital letter - 'new-parens': ['error', 'never'], // https://eslint.org/docs/rules/new-parens // enforce or disallow parentheses when invoking a constructor with no arguments - 'newline-per-chained-call': ['error', { ignoreChainWithDepth: 1 }], // https://eslint.org/docs/rules/newline-per-chained-call // require a newline after each call in a method chain - 'no-array-constructor': 'error', // https://eslint.org/docs/rules/no-array-constructor // disallow `Array` constructors - 'no-bitwise': 'warn', // https://eslint.org/docs/rules/no-bitwise // disallow bitwise operators - 'no-inline-comments': 'error', // https://eslint.org/docs/rules/no-inline-comments // disallow inline comments after code - 'no-lonely-if': 'error', // https://eslint.org/docs/rules/no-lonely-if // disallow `if` statements as the only statement in `else` blocks - 'no-mixed-operators': 'error', // https://eslint.org/docs/rules/no-mixed-operators // disallow mixed binary operators - 'no-multi-assign': 'error', // https://eslint.org/docs/rules/no-multi-assign // disallow use of chained assignment expressions + 'multiline-ternary': ['error', 'always-multiline'], + 'new-cap': 'error', + 'new-parens': ['error', 'never'], + 'newline-per-chained-call': ['error', { ignoreChainWithDepth: 1 }], + 'no-array-constructor': 'error', + 'no-bitwise': 'warn', + 'no-inline-comments': 'error', + 'no-lonely-if': 'error', + 'no-mixed-operators': 'error', + 'no-multi-assign': 'error', 'no-multiple-empty-lines': ['error', { max: 2, maxEOF: 1, maxBOF: 0 }], - 'no-negated-condition': 'error', // https://eslint.org/docs/rules/no-negated-condition // disallow negated conditions - 'no-nested-ternary': 'error', // https://eslint.org/docs/rules/no-nested-ternary // disallow nested ternary expressions - 'no-new-object': 'error', // https://eslint.org/docs/rules/no-new-object // disallow `Object` constructors - 'no-tabs': 'error', // https://eslint.org/docs/rules/no-tabs // disallow all tabs + 'no-negated-condition': 'error', + 'no-nested-ternary': 'error', + 'no-new-object': 'error', + 'no-tabs': 'error', 'no-trailing-spaces': 'error', - 'no-underscore-dangle': 'error', // https://eslint.org/docs/rules/no-underscore-dangle // disallow dangling underscores in identifiers - 'no-unneeded-ternary': 'error', // https://eslint.org/docs/rules/no-unneeded-ternary // disallow ternary operators when simpler alternatives exist - 'no-whitespace-before-property': 'error', // https://eslint.org/docs/rules/no-whitespace-before-property // disallow whitespace before properties - 'nonblock-statement-body-position': ['error', 'below'], // https://eslint.org/docs/rules/nonblock-statement-body-position // enforce the location of single-line statements - 'object-curly-newline': ['error', 'multiline'], // https://eslint.org/docs/rules/object-curly-newline // enforce consistent line breaks inside braces - 'object-curly-spacing': null, // https://eslint.org/docs/rules/object-curly-spacing // enforce consistent spacing inside braces - 'object-property-newline': null, // https://eslint.org/docs/rules/object-property-newline // enforce placing object properties on separate lines - 'one-var': null, // https://eslint.org/docs/rules/one-var // enforce variables to be declared either together or separately in functions - 'one-var-declaration-per-line': null, // https://eslint.org/docs/rules/one-var-declaration-per-line // require or disallow newlines around variable declarations - 'operator-assignment': null, // https://eslint.org/docs/rules/operator-assignment // require or disallow assignment operator shorthand where possible - 'operator-linebreak': null, // https://eslint.org/docs/rules/operator-linebreak // enforce consistent linebreak style for operators - 'padded-blocks': null, // https://eslint.org/docs/rules/padded-blocks // require or disallow padding within blocks - 'padding-line-between-statements': null, // https://eslint.org/docs/rules/padding-line-between-statements // require or disallow padding lines between statements - 'prefer-exponentiation-operator': null, // https://eslint.org/docs/rules/prefer-exponentiation-operator // disallow the use of `Math.pow` in favor of the `**` operator - 'prefer-object-spread': null, // https://eslint.org/docs/rules/prefer-object-spread // disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead. - 'quote-props': null, // https://eslint.org/docs/rules/quote-props // require quotes around object literal property names + 'no-underscore-dangle': 'error', + 'no-unneeded-ternary': 'error', + 'no-whitespace-before-property': 'error', + 'nonblock-statement-body-position': ['error', 'below'], + 'object-curly-newline': ['error', 'multiline'], + 'object-curly-spacing': ['error', 'always'], + 'object-property-newline': ['error', { allowAllPropertiesOnSameLine: true }], + 'one-var': ['error', 'never'], + 'one-var-declaration-per-line': ['error', 'always'], + 'operator-assignment': ['error', 'always'], + 'operator-linebreak': ['error', 'before'], + 'padded-blocks': ['error', 'never'], + 'prefer-exponentiation-operator': 'error', + 'prefer-object-spread': 'error', + 'quote-props': ['error', 'as-needed'], quotes: ['error', 'single'], semi: ['error', 'always'], - 'semi-spacing': null, // https://eslint.org/docs/rules/semi-spacing // enforce consistent spacing before and after semicolons - 'semi-style': null, // https://eslint.org/docs/rules/semi-style // enforce location of semicolons - 'sort-keys': null, // https://eslint.org/docs/rules/sort-keys // require object keys to be sorted - 'sort-vars': null, // https://eslint.org/docs/rules/sort-vars // require variables within the same declaration block to be sorted - 'space-before-blocks': null, // https://eslint.org/docs/rules/space-before-blocks // enforce consistent spacing before blocks - 'space-before-function-paren': null, // https://eslint.org/docs/rules/space-before-function-paren // enforce consistent spacing before `function` definition opening parenthesis - 'space-in-parens': null, // https://eslint.org/docs/rules/space-in-parens // enforce consistent spacing inside parentheses + 'semi-spacing': 'error', + 'semi-style': 'error', + 'sort-keys': [ + 'warn', + 'asc', + { + minKeys: 10, + natural: true, + caseSensitive: true + } + ], + 'space-before-blocks': ['error', 'always'], + 'space-before-function-paren': ['error', 'always'], + 'space-in-parens': ['error', 'never'], 'space-infix-ops': null, // https://eslint.org/docs/rules/space-infix-ops // require spacing around infix operators 'space-unary-ops': null, // https://eslint.org/docs/rules/space-unary-ops // enforce consistent spacing before or after unary operators 'spaced-comment': null, // https://eslint.org/docs/rules/spaced-comment // enforce consistent spacing after the `//` or `/*` in a comment