// code snippet
interface TypeConfig { }
[tslint] ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ I (ΠΈΠΌΡ-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°).
Microsoft ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π±Π΅Π· ΠΏΡΠ΅ΡΠΈΠΊΡΠ° I - https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines#names
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠ½ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΡΡΠΈΠ»Ρ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΠΈΠ»Ρ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² Π²Π°ΡΠ΅ΠΌ tslint.json Π½Π° "interface-name" : [true, "never"]
50 ΡΠ΅Π½ΡΠΎΠ² ΠΎΡ ΠΏΡΠΎΡ
ΠΎΠΆΠ΅Π³ΠΎ:
"interface-name" : [true, "never-prefix"]
Π²ΠΌΠ΅ΡΡΠΎ
"interface-name" : [true, "never"]
π
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Β«IΒ», Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ tslint.json
ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Create React. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠΆΠ΅Ρ Ρ Π½Π΅ ΡΡΠ΄Π° ΠΊΠ»Π°Π΄Ρ?
{
"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"]
empasis Π½Π° ΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ never-
Π― Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ "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Β» ΠΏΠΎΠ΄ Β«extendsΒ»?
ΠΠΎΠ»ΡΡΠΎΠΉ
Eslint ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΎ?
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ
Configuration for rule "interface-name" is invalid
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΏΡΠΎΡΡΠ°? ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠΈΠΌΠΎΠ΅ ΠΈΠΌΡ, ΡΠ²Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°?
ΠΡΠΎ ΡΠ΅ΡΡΠΎΠ²ΡΠΊΠΈ Π½Π΅ΠΏΡΠΈΡΡΠ½Π°Ρ ΠΈΠ΄Π΅Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΈΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²Π°ΡΠΈΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΠΌ _ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°_. ΠΠ°Π²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π²Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ - ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°;)
Π₯ΠΎΡΠΎΡΠΎ, ΡΡΠΎ TSLint ΡΡΡΠ°ΡΠ΅Π», ΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°! # 4534
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ° Π»Π°Π΄Π½ΠΎ, Ρ ΠΏΠΎΠ½ΡΠ» ΡΡΠΎ: