Conflict between max-len and nonblock-statement-body-position beside
See original GitHub issueHi all,
Tell us about your environment
Environment Info:
Node version: v12.16.2 npm version: v6.14.4 Local ESLint version: v6.8.0 (Currently used) Global ESLint version: Not found
What parser (default, Babel-ESLint, etc.) are you using?
I’m sorry, I’m not prepared about parser. I hope you can find it in my config; if that’s not the case, please teach me how can I provide this info.
Please show your full configuration:
Configuration
{
"env": {
"amd": true,
"browser": true,
"es6": true,
"jquery": true,
"node": true
},
"parserOptions": {
"ecmaVersion": 9,
"sourceType": "module"
},
"rules": {
"comma-dangle": [2, "only-multiline"],
"no-cond-assign": 2,
"no-console": 2,
"no-constant-condition": 0,
"no-control-regex": 2,
"no-debugger": 2,
"no-dupe-args": 2,
"no-dupe-keys": 2,
"no-duplicate-case": 2,
"no-empty": 0,
"no-empty-character-class": 2,
"no-ex-assign": 2,
"no-extra-boolean-cast": 2,
"no-extra-parens": 0,
"no-extra-semi": 2,
"no-func-assign": 2,
"no-inner-declarations": [2, "functions"],
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-negated-in-lhs": 2,
"no-obj-calls": 2,
"no-regex-spaces": 2,
"no-sparse-arrays": 2,
"no-unexpected-multiline": 2,
"no-unreachable": 2,
"use-isnan": 2,
"valid-jsdoc": 0,
"valid-typeof": 2,
"accessor-pairs": 2,
"block-scoped-var": 0,
"complexity": [2, 80],
"consistent-return": 0,
"curly": ["error", "multi-or-nest"],
"default-case": 0,
"dot-location": 0,
"dot-notation": 0,
"eqeqeq": 2,
"guard-for-in": 0,
"no-alert": 2,
"no-caller": 2,
"no-case-declarations": 2,
"no-div-regex": 2,
"no-else-return": 0,
"no-empty-pattern": 2,
"no-eq-null": 2,
"no-eval": 1,
"no-extend-native": 2,
"no-extra-bind": 2,
"no-fallthrough": 0,
"no-floating-decimal": 0,
"no-implicit-coercion": 0,
"no-implied-eval": 2,
"no-invalid-this": 0,
"no-iterator": 2,
"no-labels": 0,
"no-lone-blocks": 2,
"no-loop-func": 2,
"no-magic-number": 0,
"no-multi-spaces": [
"error",
{ "exceptions": { "ImportDeclaration": true, "Property": true, "VariableDeclarator": true } }
],
"no-multi-str": 0,
"no-native-reassign": 2,
"no-new-func": 2,
"no-new-wrappers": 2,
"no-new": 2,
"no-octal-escape": 2,
"no-octal": 2,
"no-proto": 2,
"no-redeclare": 2,
"no-return-assign": 0,
"no-script-url": 2,
"no-self-compare": 2,
"no-sequences": 0,
"no-throw-literal": 0,
"no-unused-expressions": 2,
"no-useless-call": 2,
"no-useless-concat": 2,
"no-void": 2,
"no-warning-comments": 0,
"no-with": 2,
"radix": 2,
"vars-on-top": 0,
"wrap-iife": 2,
"yoda": 0,
"strict": 0,
"init-declarations": 0,
"no-catch-shadow": 2,
"no-delete-var": 2,
"no-label-var": 2,
"no-shadow-restricted-names": 2,
"no-shadow": 0,
"no-undef-init": 2,
"no-undef": 0,
"no-undefined": 0,
"no-unused-vars": 0,
"no-use-before-define": 0,
"callback-return": 2,
"global-require": 0,
"handle-callback-err": 2,
"no-mixed-requires": 0,
"no-new-require": 0,
"no-path-concat": 2,
"no-process-exit": 0,
"no-restricted-modules": 0,
"no-sync": 0,
"array-bracket-spacing": 0,
"block-spacing": "error",
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
"camelcase": 0,
"comma-spacing": ["error", { "before": false, "after": true }],
"comma-style": 0,
"computed-property-spacing": 0,
"consistent-this": 0,
"eol-last": 2,
"func-names": 0,
"func-style": 0,
"id-length": 0,
"id-match": 0,
"indent": ["error", 2],
"jsx-quotes": 0,
"key-spacing": [
"error",
{ "align": { "beforeColon": false, "afterColon": true, "on": "value" } }
],
"keyword-spacing": [
"error",
{
"before": true,
"overrides": {
"catch": { "after": false },
"if": { "after": false },
"for": { "after": false },
"switch": { "after": false },
"while": { "after": false }
}
}
],
"linebreak-style": 0,
"lines-around-comment": 0,
"max-depth": 0,
"max-len": ["error", { "code": 100 }],
"max-lines": ["error", 1000],
"max-nested-callbacks": 0,
"max-params": 0,
"max-statements": ["error", 150],
"max-statements-per-line": [2, { "max": 1 }],
"new-cap": 0,
"new-parens": 0,
"newline-after-var": 0,
"no-array-constructor": 0,
"no-bitwise": 0,
"no-continue": 0,
"no-inline-comments": 0,
"no-lonely-if": "error",
"no-mixed-spaces-and-tabs": "error",
"no-multiple-empty-lines": 2,
"no-negated-condition": 0,
"no-nested-ternary": 0,
"no-new-object": 0,
"no-plusplus": 0,
"no-restricted-syntax": 0,
"no-spaced-func": 0,
"no-tabs": "error",
"no-ternary": 0,
"no-trailing-spaces": 2,
"no-underscore-dangle": 0,
"no-unneeded-ternary": 0,
"no-whitespace-before-property": 2,
"nonblock-statement-body-position": ["error", "beside"],
"object-curly-spacing": [2, "always"],
"one-var": 0,
"one-var-declaration-per-line": 0,
"operator-assignment": 0,
"operator-linebreak": 0,
"padded-blocks": ["error", "never"],
"quote-props": 0,
"quotes": ["error", "double"],
"require-jsdoc": 0,
"semi": 2,
"semi-spacing": 2,
"sort-vars": 0,
"space-before-blocks": [2, "always"],
"space-before-function-paren": 0,
"space-in-parens": ["error", "never"],
"space-infix-ops": 2,
"space-unary-ops": ["error", { "words": true, "nonwords": false, "overrides": { "!": true } }],
"spaced-comment": 0,
"wrap-regex": 0,
"arrow-body-style": [2, "as-needed"],
"arrow-parens": [2, "as-needed"],
"arrow-spacing": 2,
"constructor-super": 0,
"generator-star-spacing": 0,
"no-arrow-condition": 0,
"no-class-assign": 0,
"no-const-assign": 0,
"no-dupe-class-members": 0,
"no-this-before-super": 0,
"no-var": 0,
"object-shorthand": 0,
"prefer-arrow-callback": 0,
"prefer-const": 0,
"prefer-reflect": 0,
"prefer-spread": 0,
"prefer-template": 0,
"require-yield": 0
}
}
What did you do? Please include the actual source code causing the issue, as well as the command that you used to run ESLint.
class Example {
example(parameter) {
if(parameter) return "a string so long to exceed max-len with nonblock-statement-body-position beside";
return null;
}
}
or
class Example {
example(parameter) {
if(parameter)
return "a string so long to exceed max-len with nonblock-statement-body-position beside";
return null;
}
}
eslint --fix *.js
What did you expect to happen?
"max-len": ["error", { "code": 100 }]
to have precedence on
"nonblock-statement-body-position": ["error", "beside"]
I mean: the return
statement should be placed at bottom line (regardless from nonblock-statement-body-position
) to respect max-len
or at least to mute the error about not respected max-len
.
What actually happened? Please include the actual, raw output from ESLint.
I get following error. Both the code snippets cause the issue. With both of them as input, eslint output is the fist code snippet.
/home/cicci/example/example.js
3:1 error This line has a length of 107. Maximum allowed is 100 max-len
Are you willing to submit a pull request to fix this bug? I’m not strong enough.
Issue Analytics
- State:
- Created 3 years ago
- Comments:5 (2 by maintainers)
Top GitHub Comments
Fine.
Thank you very much!
Unfortunately, it looks like there wasn’t enough interest from the team or community to implement this change. While we wish we’d be able to accommodate everyone’s requests, we do need to prioritize. We’ve found that issues failing to reach accepted status after 21 days tend to never be accepted, and as such, we close those issues. This doesn’t mean the idea isn’t interesting or useful, just that it’s not something the team can commit to.
Thanks for contributing to ESLint and we appreciate your understanding.