Tslint: tsconfig.json рдмрд╣рд┐рд╖реНрдХреГрдд рдкрдереЛрдВ рдкрд░ рдЬреАрддрдирд╛ рдЪрд╛рд╣рд┐рдП

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

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

  • __TSLint рд╕рдВрд╕реНрдХрд░рдг__: 5.8.0
  • __рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг__: 2.6.2
  • __TSLint рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ__: CLI

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

asn1.js

tsconfig.json :

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "target": "es2017",
    "allowJs": true,
    "moduleResolution": "node",
    "noEmitOnError": false,
    "noEmit": true,
    "sourceMap": true,
    "baseUrl": ".",
    "module": "es6",
    "paths": {
      "npm:asn1js": [ "node_modules/asn1js" ],
    }
  },
  "exclude": [
    "tmp",
    "dist",
    "node_modules"
  ]
}

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

{
  "extends": [
    "tslint:recommended"
  ]
}

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

рджреМрдбрд╝рдирд╛

$ node_modules/.bin/tslint --project tsconfig.json

рдореИрдВрдиреЗ рдкрд╛рдпрд╛

ERROR: /code/my_project/node_modules/asn1js/build/asn1.js[8, 5]: variable name must be in lowerCamelCase, PascalCase or UPPER_CASE
ERROR: /code/my_project/node_modules/asn1js/build/asn1.js[8, 55]: if statements must be braced
ERROR: /code/my_project/node_modules/asn1js/build/asn1.js[10, 5]: variable name must be in lowerCamelCase, PascalCase or UPPER_CASE
ERROR: /code/my_project/node_modules/asn1js/build/asn1.js[10, 233]: if statements must be braced
...

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

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ tslint exclude: [ "node_modules" ] рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдЧрд╛ред рдЕрдЧрд░ рдореИрдВ "npm:asn1js" рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ paths рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдХреЛрдИ tslint рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред

API Accepting PRs Bug ЁЯМ╣ R.I.P. ЁЯМ╣

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

рдореИрдВрдиреЗ рднреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ

// tsconfig.json
{
  "exclude": [
    "node_modules",
    "node_modules/**/*.{j,t}s"
  ]
}

рддрдерд╛

// tsconfig.json
{
  "linterOptions": {
    "exclude": [
      "node_modules/**/*.{j,t}s"
    ]
  }
}

рдмрд┐рдирд╛ рдкрд░рд┐рдгрд╛рдоред

рдЕрдЧрд░ рдореИрдВ рджреМрдбрд╝рддрд╛ рд╣реВрдБ

node_modules/.bin/tslint --project tsconfig.json --exclude "node_modules/**/*.{j,t}s"

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

рдореИрдВрдиреЗ рднреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ

// tsconfig.json
{
  "exclude": [
    "node_modules",
    "node_modules/**/*.{j,t}s"
  ]
}

рддрдерд╛

// tsconfig.json
{
  "linterOptions": {
    "exclude": [
      "node_modules/**/*.{j,t}s"
    ]
  }
}

рдмрд┐рдирд╛ рдкрд░рд┐рдгрд╛рдоред

рдЕрдЧрд░ рдореИрдВ рджреМрдбрд╝рддрд╛ рд╣реВрдБ

node_modules/.bin/tslint --project tsconfig.json --exclude "node_modules/**/*.{j,t}s"

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

_ рдпрд╣ рд╕рдордп рд╣реИ! _

TSLint рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдм рдмрдбрд╝реЗ рдирдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдпрд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред #4534 рджреЗрдЦреЗрдВред ЁЯШ▒

рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  • рдЕрдиреБрд╢рдВрд╕рд┐рдд: рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ ESLint + typescript-eslint . рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ
  • _рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ: рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рдВрдЯрд╛ TSLint_ тАНтЩВя╕П

ЁЯСЛ рдЖрдкрдХреЗ рд╕рд╛рде рдУрдкрди рд╕реЛрд░реНрд╕рд┐рдВрдЧ рдХрд░рдирд╛ рдПрдХ рдЦреБрд╢реА рдХреА рдмрд╛рдд рдереА!

_рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рдпрд╣рд╛рдВ рдЧрд▓рддреА рд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХреЗрдВ!_

рдмреАрдк рдмреВрдк! TSLint рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ _(#4534)_ рдФрд░ рдЖрдкрдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдПрд╕реНрд▓рд┐рдиреНрдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! ЁЯдЦ

рдЖрдЧреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд▓реЙрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╢реБрдХреНрд░рд┐рдпрд╛! ЁЯСЛ

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

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

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

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

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

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

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