Tslint: рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдкреНрд░реЗрдб рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдЬрдм рдСрдмреНрдЬреЗрдХреНрдЯ.рдЕрд╕рд╛рдЗрди рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдПрдХ рдХреНрд▓рд╛рд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╣реЛ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдордИ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: palantir/tslint

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

  • __TSLint рд╕рдВрд╕реНрдХрд░рдг__: 5.3

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдкрдВрдХреНрддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

value = Object.assign(new Model(), value)

prefer-object-spread рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

рд▓рд┐рдВрдЯ рдХреА рд╡рд┐рдлрд▓рддрд╛, рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдкреНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдЯреЛ-рдлрд┐рдХреНрд╕

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рдХреБрдЫ рдирд╣реАрдВред рдЗрд╕ рдирд┐рдпрдо рдХреЛ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ Object.assign рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдПрдХ рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдг рд╣реИред

  • рдЕрдЧрд░ --project рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдо рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╡рд░реНрдЧ-рдЬреИрд╕рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ
  • рдпрджрд┐ рдХреЛрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣рдо рдХреЗрд╡рд▓ рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣рдо new ... рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЬреИрд╕рд╛ рдХрд┐ https://github.com/palantir/tslint/issues/2618#issuecomment -303879255 рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

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

рдпрджрд┐ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдПрдХ рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдирд┐рдпрдо рдХреЗрд╡рд▓ рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реЛред
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ред рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдХреЗрд╡рд▓ рддрднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрдм рдкрд╣рд▓рд╛ рддрд░реНрдХ CallExpression, NewExpression рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рд╣реЛред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдпрд╛ PropertyAccessExpression рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдЪреЗрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

Object.assign рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рддрд░реНрдХ рдкрд░ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реИрдВред (рдЗрд╕реАрд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ { ...x, ...y } рд╕реЗ Object.assign({}, x, y) рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд░рддрд╛ рд╣реИред) рдирд┐рдпрдо рддрднреА рд╕рдХреНрд░рд┐рдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдкрд╣рд▓рд╛ рддрд░реНрдХ рдПрдХ рддрд╛рдЬрд╛ рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рд╣реЛред

рдирд┐рдпрдо рдХреЗрд╡рд▓ рддрднреА рд╕рдХреНрд░рд┐рдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдкрд╣рд▓рд╛ рддрд░реНрдХ рдПрдХ рддрд╛рдЬрд╛ рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рд╣реЛред

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

рдпрджрд┐ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдПрдХ рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдирд┐рдпрдо рдХреЗрд╡рд▓ рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реЛред
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ред рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдХреЗрд╡рд▓ рддрднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрдм рдкрд╣рд▓рд╛ рддрд░реНрдХ CallExpression, NewExpression рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рд╣реЛред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдпрд╛ PropertyAccessExpression рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдЪреЗрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

sumitkmr picture sumitkmr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cretz picture cretz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

denkomanceski picture denkomanceski  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jacob-robertson picture jacob-robertson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ