Jshint: рдЯреИрдм рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХрдИ рдирд┐рдпрдо рддреЛрдбрд╝рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЬреВрди 2017  ┬╖  29рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jshint/jshint

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХрдо рд╕реЗ рдХрдо 3 рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕реНрдерд┐рддрд┐ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ, рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рдХреЛ рдЗрд╕ .jshintrc рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

{
  "strict": "global",
  "unused": true
}

рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ JSHint рд╕рдВрд╕реНрдХрд░рдг v2.9.5 рд╣реИред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЗрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░реВрдВ рддреЛ рдореИрдВ рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

W032

рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ:

'use strict';

    function foo() {
    };

foo();

рд▓рд╛рдЗрди 4, рдХреЙрд▓рдо 6 рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд╕реВрдЪрдирд╛ рдорд┐рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрди 4 рдореЗрдВ рдХреЗрд╡рд▓ 4 рд╡рд░реНрдг рд╣реИрдВред

W098

рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ:

'use strict';

    function foobar(
        $foo
    ) {
        return 'foo';
    }

foobar();

рд▓рд╛рдЗрди 4, рдХреЙрд▓рдо 9 рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд╕реВрдЪрдирд╛ рдорд┐рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрди 4 рдореЗрдВ рдХреЗрд╡рд▓ 7 рд╡рд░реНрдг рд╣реИрдВред

W117

рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ:

'use strict';

    function foobar() {
        if (true) {
            fun1();
        }
    }

foobar();

рд▓рд╛рдЗрди 5, рдХреЙрд▓рдо 13 рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд╕реВрдЪрдирд╛ рдорд┐рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрди 4 рдореЗрдВ рдХреЗрд╡рд▓ 11 рд╡рд░реНрдг рд╣реИрдВред


рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╡рд░реНрдг рд╕реНрдерд┐рддрд┐ рдЖрдЧреЗ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рддреА рд╣реБрдИ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдФрд░ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдЯреИрдм рдкреНрд░рд╢реНрди рдореЗрдВ рдкрдВрдХреНрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реИрдВред

рдХрдЪреНрдЪреА рдлрд╛рдЗрд▓реЗрдВ рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ: linter-jshint_GH416.zip

рдореВрд▓ рд░реВрдк рд╕реЗ https://github.com/AtomLinter/linter-jshint/issues/416 рдХреА рдЬрд╛рдВрдЪ рдХреЗ рджреМрд░рд╛рди рдЦреЛрдЬрд╛ рдЧрдпрд╛ред

рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдо:

  • W009
  • W014
  • E015
  • W024
  • W027
  • W030
  • W032
  • W033
  • W040
  • W043
  • W069
  • W075
  • W098
  • W116
  • W119
  • W140
  • E041
  • рдХрдИ рджреВрд╕рд░реЗ...

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╕рднреА рд╕рдорд╛рдзрд╛рди рдкрд┐рдЫрд▓реЗ рдХрдордмрдЦреНрдд 5 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдПрдВ, рдПрдХ рдХрдордмрдЦреНрдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдордмрдЦреНрдд 2017 рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣реА рд╣реИ рдкрд░рдорд╛рдгреБ рдореЗрд░реЗ рдХрдордмрдЦреНрдд рдЬреАрд╡рди рдХрд╛ рдХрдордмрдЦреНрдд рдкреНрд░рддрд┐рдмрдВрдз рд╣реИ рдЖрдк рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ

рдФрд░ рдЬреЛ рдмрдХрд╡рд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл рдХреЛ рдЗрдВрдбреЗрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд▓рд╛рдЦреЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреВрдЯрд╛ рд╣реБрдЖ рдкреИрдХреЗрдЬ рдХреНрдпреЛрдВ рдЬрд╛рд░реА рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЬреЗрдПрд╕ рдХреЛ рд▓рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ ???????

рд╕рднреА 29 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рд╕рдорд╕реНрдпрд╛ lex.js рдХреА рд▓рд╛рдЗрди 1610 рд╕реЗ рдЙрдкрдЬреА рд╣реИ:

this.input = this.input.replace(/\t/g, state.tab);

рдпрд╣ рдмрд╣реБрдд рдореМрд▓рд┐рдХ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рд╕реНрдЯрд╛рдЗрд▓-рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрдирд┐рдВрдЧ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╡реЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рднреА рдПрдХ рдирдП рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рддреЛ рдЗрд╕ рдмреАрдЪ, рд╣рдореЗрдВ рдПрдХ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦреЗред

рдореЗрд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдЗрд╕ "рдкреНрд░рднрд╛рд╡реА рдСрдлрд╕реЗрдЯ" рдХреЛ column рдирд╛рдордХ рдЯреЛрдХрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╢реИрд▓реА-рд╕рдВрдмрдВрдзреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░, "рд╕рддреНрдп" рд╡рд░реНрдг рдСрдлрд╝рд╕реЗрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП character рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдмрд┐рдВрджреБ (рдЯреИрдм рдпрд╛ рдЕрдиреНрдпрдерд╛) рдЧрд┐рдирддреА рдХреЛ рдареАрдХ 1 рд╕реЗ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд░рд┐рдкреЛрд░реНрдЯрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рддрдм рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╣реЛрдВрдЧреЗ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЯреИрдм рдЪрд░рд┐рддреНрд░ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛, рдФрд░ рд╡реЗ рддрджрдиреБрд╕рд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП "рдХреЙрд▓рдо" рд╕рдВрдЦреНрдпрд╛ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рдереЗред

рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, @Arcanemagus?

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рд╕рддрд╣ рдкрд░ рдЬреЗрдПрд╕рд╣рд┐рдВрдЯ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдирд╣реАрдВред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╕рд╣реА рдХреЙрд▓рдо рдЧрд┐рдирддреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреБрдЫ рд╡рд┐рдзрд┐ рдЪрд╛рд╣рд┐рдП (рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдмрд┐рдВрджреБ рдПрдХ рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдЕрд░реНрдз-рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рдкрд╛рд░реНрд╕рд░ рдмрдЧ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд╛рд░рдг рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЫрд┐рдкрд╛ рд╣реБрдЖ рдерд╛ред рдЬрдм рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рддреЛ рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рдЙрдиреНрд╣реЗрдВ _hidden_ тАЛтАЛрдХрд░ рджрд┐рдпрд╛ рдерд╛, рдФрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреГрд╢реНрдпрдорд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ W030 , W033 , рдФрд░ W009 рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВред рдЖрдкрдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ _all_ рдирд┐рдпрдо рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВ?

рдореИрдВ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рджреЛрдиреЛрдВ рдкрд░ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рдирд┐рдпрдо/рддреНрд░реБрдЯрд┐ рдкреНрд░рдХрд╛рд░ рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ред

рдпрд╣рд╛рдБ jshint рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ '==' рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП '==='ред рдирд╛рд░рдВрдЧреА рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рдЧрд▓рдд рд╕реНрдерд╛рди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
erroneoustargeting

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЖрдЬ рдХреБрдЫ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ indent рд╡рд┐рдХрд▓реНрдк рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗред

@Arcanemagus рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП indent рд╡рд┐рдХрд▓реНрдк рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ? рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдореИрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ JSHint рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдЗрд╕рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдореНрдо, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реАрдПрд▓рдЖрдИ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред Node.js API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред

  • рдХреНрдпрд╛ indent рдореВрд▓реНрдп рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рд╕реЗ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рдгрд╛рдо рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗ? рдЙрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рд▓рдХреНрд╖реНрдп рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд░реАрдм рд╣реЛрдирд╛ рд╣реИ рдЬрд┐рддрдирд╛ рд╡рд╣ рд╕реНрд╡рдпрдВ jshint рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ред
  • рдХреНрдпрд╛ JSHint API рдореЗрдВ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╣рдерд┐рдпрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд┐рдкреА рд╣реБрдИ рд╡рд┐рдзрд┐ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА? рд╡рд░реНрддрдорд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬ рдРрд╕рд╛ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдорд╛рдиреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ?
рдРрд╕рд╛ рдХреБрдЫ рдЯреВрд▓ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдЬреИрд╕реЗ -g рдореЗрдВ nginx, -o ssh рдореЗрдВ, -c git рдореЗрдВ рдФрд░ рдХрдИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред

$ jshint -o "indent = 1" -o "-W034 = true" -o "globals.require = false" -o "globals.$ = null"

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? 2.9.5?

рдХрдо рд╕реЗ рдХрдо рддрдм рд╣рдо рдЗрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рдереЗред рдареАрдХ рдХрд░ред

@jaredatch рд╡рд╛рдкрд╕ https://github.com/AtomLinter/linter-jshint/pull/386 ( linter-jshint рдХреЗ v3.1.0 рдореЗрдВ рдЬрд╛рд░реА) рдореЗрдВ JSHint рдХреА рдмрдЧреНрдЧреА рдкреЙрдЗрдВрдЯ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рдереЗред рдЙрд╕ рдЪреЗрдХ рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдмрдЧреЛрдВ рдХреЛ рдвреВрдВрдврдирд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд▓рд┐рдВрдЯрд░ рдЕрдорд╛рдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ рддрд╛рдХрд┐ рдЗрд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рд▓рд┐рдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ _everyone_ рдХреЗ рд▓рд┐рдП рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред (рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк рд╕рдЯреАрдХ рдбреЗрдЯрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдЯрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?)

рдЗрд╕ рдЯреИрдм рдмрдЧ рдХреЛ рдкреЗрд╢ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдкреНрд░рдореБрдЦ рдкрд╛рд░реНрд╕рд░ рдмрдЧ рдХреЗ рдмрд╛рдж _may_ рдПрдХ "рд╕реНрд╡реАрдЯ рд╕реНрдкреЙрдЯ" рд╣реЛ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЙрди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

@Arcanemagus рдорд┐рд▓рд╛рдЪрд╛ , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣реЛ

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ linter-jshint рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░ / рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╕рдВрджреЗрд╢ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдпреЗ рдЕрдорд╛рдиреНрдп рдмрд┐рдВрджреБ рдмреЗрдЭрд┐рдЭрдХ рдПрдХ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ / рд╡рд╣рд╛рдВ рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░реЗрдВ ред

рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╕рднреА рд╕рдорд╛рдзрд╛рди рдкрд┐рдЫрд▓реЗ рдХрдордмрдЦреНрдд 5 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдПрдВ, рдПрдХ рдХрдордмрдЦреНрдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдордмрдЦреНрдд 2017 рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣реА рд╣реИ рдкрд░рдорд╛рдгреБ рдореЗрд░реЗ рдХрдордмрдЦреНрдд рдЬреАрд╡рди рдХрд╛ рдХрдордмрдЦреНрдд рдкреНрд░рддрд┐рдмрдВрдз рд╣реИ рдЖрдк рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ

рдФрд░ рдЬреЛ рдмрдХрд╡рд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл рдХреЛ рдЗрдВрдбреЗрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд▓рд╛рдЦреЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреВрдЯрд╛ рд╣реБрдЖ рдкреИрдХреЗрдЬ рдХреНрдпреЛрдВ рдЬрд╛рд░реА рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЬреЗрдПрд╕ рдХреЛ рд▓рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ ???????

рдкреАрд░рд┐рдпрдбреНрд╕ рдХрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреМрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕ рдЯреВрдЯреА-рдлреВрдЯреА рдЕрдВрдЧреНрд░реЗрдЬреА рдХреЛ рд▓рд╛рдЦреЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЕрдВрдЧреНрд░реЗрдЬреА рд╣реИ?

рдУрд╣ред рдФрд░ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рд╡рд░реНрдг рд╡рд╛рдХреНрдп рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рд░ рдЬрдЧрд╣ рдирд╣реАрдВред

/ рдЯреНрд░реЛрд▓ (рд╢реНрд░реАрдорд╛рди, рдЦреБрдж рдХреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛)

рдЦреИрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрдЧрд╛...
рд╡реИрд╕реЗ рднреА рд▓рд┐рдВрдЯрд░реНрд╕ рдХреА рдЬрд░реВрд░рдд рдХрд┐рд╕реЗ рд╣реИ?

@jugglinmike рдХреНрдпрд╛ рдЖрдк https://github.com/jshint/jshint/issues/3151#issuecomment -312512856 рдореЗрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП 20 рдЕрджреНрд╡рд┐рддреАрдп рдореБрджреНрджреЗ рдЦреБрд▓реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧреЗрдЧрд╛, рдореИрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред

рдпрд╣ рдореБрджреНрджрд╛ рдореЗрд░реЗ рд░рдбрд╛рд░ рд╕реЗ рдлрд┐рд╕рд▓ рдЧрдпрд╛; рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, @Arcanemagusред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рддрдХ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реВрдВред рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рдХрд╛рдо рдЖрдПрдЧрд╛?

@jugglinmike рдмреЗрд╢рдХ

рдореИрдВрдиреЗ рдореМрдЬреВрджрд╛ рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЬрд╛рдБрдЪреЗрдВ рд▓рдЧрд╛рдИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд▓реЛрдЧреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдпрд╣рд╛рдБ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

@cobexer рдореБрдЭреЗ рд╡рд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рджреЗрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣
рдЕрдиреНрдп рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕рдиреЗ рдХрд╣рд╛, рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╡рд╣рд╛рдБ
рдЙрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдХрднреА рднреА рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдирд┐рдЪреНрдЫреБрдХ рд╣реВрдВ
рдХрд┐рд╕реА рднреА рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╣реИ
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдВ: "рдЖрд░рд╕реА" рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ, рдЗрди-рд▓рд╛рдЗрди
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдФрд░ Node.js API, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрдм рдЪрд╛рд╣реЗрдВ рддрдм рдЯреНрд░рд┐рдк рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХреНрдпреЛрдВ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдЬреЛрдбрд╝рдирд╛
рдкреНрд░рдмрдВрдзрди рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдФрд░ рдмрдврд╝рд╛ рджреЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рдкрд╣рд▓реЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реИрдкреНрд░рд╕реНрддрд╛рд╡ ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ character рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдирд╛ тАЛтАЛрд╣реЛрдЧрд╛--рдПрдЯрдо
рд╕рдВрдкрд╛рджрдХ рдкреНрд▓рдЧрдЗрди рд╕реНрд╡рдпрдВ рдЙрд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдЦрд┐рд░рдХрд╛рд░ред рддреЛ рдЙрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп
рд╕рдВрдкрддреНрддрд┐ рдФрд░ рдПрдХ рдирдП рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ
рд╣рдореЗрдВ character рдХреЛ рдпрдерд╛рд╡рдд рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдирдП рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдоред

рдореИрдВрдиреЗ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореИрдВ рдкреНрд░рддрд┐рдЧрдорди рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ
рд╕рднреА рд▓рд╛рдЧрддреЗрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡рд░реНрдг рд╕рдВрдЦреНрдпрд╛ред рдЬреИрд╕реЗ рд╣реА рдореИрдВрдиреЗ рдпрд╣ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдХрдорд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ
рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред gh-3174 рдХреА рдУрд░ рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ
рд╡рд╣ рд▓рдХреНрд╖реНрдпред

рдпрд╣ рд╕рдм рдХрд╣рдирд╛ рд╣реИ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред @Arcanemagus рдореБрдЭреЗ рдкрддрд╛ рд╣реИ
рдЖрдк рдЗрд╕ рдмрдЧ рдХрд╛ рдЦрд╛рдорд┐рдпрд╛рдЬрд╛ рднреБрдЧрдд рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдиреЗ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ
JSHint рдХреЛ рдмреЗрд╣рддрд░ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ред рдореБрдЭреЗ рдпрд╣ рднреА рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ
рдРрд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рд╕реЗ рдмрдЪрдирд╛ рдЬреЛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рди рд╣реЛред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ
рд╢рдмреНрдж, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рднрд╛рдЧреНрдп рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ indent рд╡рд┐рдХрд▓реНрдк рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ?
рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдЙрдирдХреА рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдПрдХ рддрд░рд╣ рд╕реЗ рд╣рд▓ рд╣реЛ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП
рдпрд╣ рдкреИрдЪ рдЕрдк рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА рдХрд╛рдо рдХрд░рддрд╛ рд░рд╣реЗрдЧрд╛ред

@Arcanemagus рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдмрдЧ рдХрд╛ рдЦрд╛рдорд┐рдпрд╛рдЬрд╛ рднреБрдЧрдд рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдиреЗ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ
JSHint рдХреЛ рдмреЗрд╣рддрд░ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ред

рдПрдЯрдо рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд┐рдВрдЯрд░ рдкреНрд░рджрд╛рддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЬреЗрдиреЗрд░рд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЪреЗрдХ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреВрд░рд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдмрдЧ рд╕реНрд░реЛрдд рд▓рд┐рдВрдЯрд░реНрд╕ рдореЗрдВ рдкрдХрдбрд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ/рдирд┐рд╢реНрдЪрд┐рдд ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди linter-jshint рдореЗрдВ рдПрдХ рдЪреЗрдХ рдерд╛ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ _way_ рд╕реЗ рд╕рднреА рдЕрдорд╛рдиреНрдп рдмрд┐рдВрджреБ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЫреБрдкрд╛рддрд╛ рдерд╛ рдЬрдм рдЕрдзрд┐рдХрд╛рдВрд╢ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рдкрд╛рд░реНрд╕рд░ рдкреВрд░реА рддрд░рд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдпрд╛ рдбреА-рдбреБрдкреНрд▓рд┐рдХреЗрдЯрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдПред рдЕрдм рдЬрдм рдЙрдирдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдореИрдВрдиреЗ рдЙрд╕ рдЪреЗрдХ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рд╣реИрдВред

рдореБрдЭреЗ рдпрд╣ рднреА рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рди рд╣реЛред

рдЕрд╕рд▓ рдореЗрдВ, рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рд╕рдорд╛рдзрд╛рди рдареАрдХ рд╣реЛрдЧрд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ indent рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ 1 рдкрд░ рдордЬрдмреВрд░ рдХрд░рдиреЗ рд╕реЗ рд╡реЗ рдЬреЛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдЙрд╕рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡реЗ рдЬреЛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред jshint рд╕реНрд╡рдпрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рднрд╛рдЧреНрдп рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрдВрдбреЗрдВрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ?

рдпрд╣... рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрди рдореБрджреНрджреЛрдВ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред рдореИрдВ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдореБрджреНрджреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ!

рдУрд╣, рд╣рд╛рдБ, .jshintrc рдореЗрдВ 'рдЗрдВрдбреЗрдВрдЯ' рдЧреБрдг рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╣реИред рдХрд╛рд╢ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд▓реНрджреА рдкрддрд╛ рд╣реЛрддрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ .jshintrc рд╣реИ рдХреНрдпреЛрдВрдХрд┐ jshint es6 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдореИрдВ

рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ, @ tustin2121!

рдЕрджреНрдпрддрди: рдореИрдВ рдЕрднреА рднреА рдкреНрд░рддрд┐рдЧрдорди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП JSHint рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЛ рдХрд┐рдирд╛рд░реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдирд╡реАрдирддрдо gh-3176 рд╣реИред

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?
image

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рдЗрд╕ рдмрдЧ рд╕реЗ рдХрдо рд╕реЗ рдХрдо 40 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рдпрдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ .

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ, рдпрд╣ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рдмрд╛рдж рд╕реЗ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд░рд╣реА рд╣реИрдВ, рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдХрд░ рд░рд╣реА рд╣реИ :)

рд╣рд╛рдп @xcrap! рдореИрдВрдиреЗ рдЕрднреА рдЯрд┐рдкреНрдкрдгреА рд╕реВрддреНрд░ рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ, рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ JSHint рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЛ рддрдирд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реИ рддреЛ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╣рд╛рде рдЙрдзрд╛рд░ рджреЗрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рдореБрдЭреЗ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

@jugglinmike рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╣реИ! рдореИрдВ рд╣рдореЗрд╢рд╛ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЬреЗрдПрд╕ рдХреМрд╢рд▓ рд╕реБрдкрд░ рдмреЗрд╕рд┐рдХ рдФрд░ рд╕реАрдорд┐рдд рд╣реИрдВ :)

рдореИрдВрдиреЗ рдЗрд╕ рдмрдЧ рдкрд░ $50 рдХрд╛ рдЗрдирд╛рдо рд░рдЦрд╛ рд╣реИ, рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдирд╛рдо рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ: https://www.bountysource.com/issues/46533252-tab-indentation-breaks-multiple-rules

рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ @tzvipm рдХреЗ рдХрд╛рдВрдЯреЗ рдХреЛ рдЦреАрдВрдЪрдирд╛ рдФрд░ jshint рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдЕрдЧрд░ рдХреЛрдИ рдФрд░ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд░рд╣рд╛ рд╣реИ:

git clone https://github.com/tzvipm/jshint
git remote add upstream [email protected]:jshint/jshint.git
git fetch upstream
git stash
git merge upstream/master
git mergetool --tool=opendiff
npm run build
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

nzakas picture nzakas  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fbarda picture fbarda  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

strugee picture strugee  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

NemoStein picture NemoStein  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Niggler picture Niggler  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ