// code snippet
interface TypeConfig { }
[tslint] рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо рдмрдбрд╝реЗ I (рдЗрдВрдЯрд░рдлрд╝реЗрд╕-рдирд╛рдо) рд╕реЗ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
Microsoft рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╛рдо I рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рди рдХрд░реЗрдВ -
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпреЗ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рдЗрд▓ рдЧрд╛рдЗрдб рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╢реИрд▓реА рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЛ рдЕрдкрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╕ рдЕрдкрдиреЗ tslint.json рдореЗрдВ рдирд┐рдпрдо рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ "interface-name" : [true, "never"]
рдПрдХ рд░рд╛рд╣рдЧреАрд░ рд╕реЗ 50 рдкреНрд░рддрд┐рд╢рдд:
"interface-name" : [true, "never-prefix"]
рдмрдЬрд╛рдп
"interface-name" : [true, "never"]
рдореИрдВ
рдореИрдВрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ tslint.json
рдЗрдВрдЯрд░рдлрд╝реЗрд╕-рдирд╛рдо рдЬреЛрдбрд╝рдХрд░ "I" рдЙрдкрд╕рд░реНрдЧ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ Create React App рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдЧрд▓рдд рд╕реНрдерд╛рди рдкрд░ рд░рдЦ рд░рд╣рд╛ рд╣реВрдБ?
{
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts"
]
},
"interface-name" : [true, "never-prefix"]
}
рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рд╣рд▓ рдирд┐рдХрд╛рд▓ рд▓рд┐рдпрд╛:
{
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts"
]
},
"rules": {
"interface-name" : [true, "never-prefix"]
}
}
рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ "interface-name": [true, "never"]
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди "interface-name": false
рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
@ Vasilev-alex "interface-name": [true, "never-prefix"]
рдХрднреА рдирд╣реАрдВ рдкрд░ рдЬреЛрд░- рдЙрдкрд╕рд░реНрдЧ
рдореБрдЭреЗ рдЕрднреА рднреА "interface name must start with a capitalized I"
рдпрд╣ рдореЗрд░рд╛ tslint.json рд╣реИ:
{
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts",
"coverage/lcov-report/*.js"
]
}
}
рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ?
@ offg777 рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рд░реЗрдкреЛ рд╕реЗ рд▓рд┐рдВрдХ?
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореБрдЭреЗ рд╕рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ - рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдирд┐рдпрдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
@offg777
"рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╛рдо рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП I"
рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХрд╣рд╛рдВ рд╕реЗ рдорд┐рд▓рддреА рд╣реИ? рдЕрдкрдиреЗ IDE рд╕реЗ рдпрд╛ CLI рдЪрд▓рд╛рддреЗ рд╕рдордп?
рдФрд░ рдореИрдВ tslint рдХреЗ рд╕рдЯреАрдХ рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдиреЗ "рд╡рд┐рд╕реНрддрд╛рд░" рдХреЗ рдиреАрдЪреЗ "рдирд┐рдпрдо" рдмреНрд▓реЙрдХ рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ?
рдорд╣рд╛рди
рдХреНрдпрд╛ рдПрд╕реНрд▓рд┐рдВрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?
рд╕реНрдерд╛рдкрдирд╛
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
рдХрд╛ рдкрд░рд┐рдгрд╛рдо
Configuration for rule "interface-name" is invalid
рд╢рд╛рдпрдж рдпрд╣ рдирд┐рдпрдо рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореМрдЬреВрдж рд╣реИ? рдХреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдПрдХ рд╕рд╛рд░реНрдердХ рдирд╛рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрдЧ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдЕрдиреБрд╕рд╛рд░ _рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд╣рд░_ рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдЦреВрдиреА рдХрд╖реНрдЯрдкреНрд░рдж рд╡рд┐рдЪрд╛рд░ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЯреВрд▓реНрд╕ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдЙрддреНрдкрд╛рдж рдбреЗрд╡рд▓рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдПрдХ рдмрдЧ рд╣реИ;)
рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ TSLint рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЕрдм рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ! #4534
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рд╣рд▓ рдирд┐рдХрд╛рд▓ рд▓рд┐рдпрд╛: