Tslint: рд╕рд░рдгреА-рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдо рд╡рд░реАрдпрддрд╛-рд╕рд░рдгреА-рд╢рд╛рдмреНрджрд┐рдХ

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

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

  • __TSLint рд╕рдВрд╕реНрдХрд░рдг__: 5.4.3
  • __рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг__: 2.3.4
  • __TSLint рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ__: рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо

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

рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ values рдпрд╛ рддреЛ object рдпрд╛ number рдорд┐рд╢реНрд░рд┐рдд рд╕рд░рдгреА рд╣реЛред

// Violates 'array-type' rule
const values: (object | number)[] = []
// Violates 'prefer-array-literal' rule
const values: Array<object | number> = []

tslint.json рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде:

{
  "extends": [
    "tslint:latest",
    "tslint-eslint-rules",
    "tslint-config-airbnb"
  ]
}

рдореИрдВ рдЕрдкрдирд╛ рдХреЛрдб рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рджреЛрдиреЛрдВ рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рди рдХрд░реВрдВ? рдХреНрдпрд╛ рд╡реЗ рджреЛрдиреЛрдВ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдПрдХ рдирд┐рдпрдо рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛?

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

Google рдЦреЛрдЬ рд╕реЗ рдпрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ array-type рдирд┐рдпрдо рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдФрд░ рд╕рд░рдгреА рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рдкреБрди: рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рднреА рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред allow-type-parameters рдореЗрдВ prefer-array-literal рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:

{
  "rules": {
    "prefer-array-literal": [true, { "allow-type-parameters": true }]
  }
}

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ prefer-array-literal array-type рдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рд╡рд╣ рдирд┐рдпрдо tslint рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ tslint-microsoft-contrib рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЖрдк "array" рд╡рд┐рдХрд▓реНрдк рдХреЛ array-type рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХреЗрдВред рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ tslint-config-airbnb рдкрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

Google рдЦреЛрдЬ рд╕реЗ рдпрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ array-type рдирд┐рдпрдо рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдФрд░ рд╕рд░рдгреА рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рдкреБрди: рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рднреА рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред allow-type-parameters рдореЗрдВ prefer-array-literal рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:

{
  "rules": {
    "prefer-array-literal": [true, { "allow-type-parameters": true }]
  }
}

рдмрд╛рд╣рд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрджред tslint-microsoft-contrib рдкрд░ рдПрдХ рдореБрджреНрджрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ!

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

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

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

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

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

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

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