// code snippet
interface TypeConfig { }
[tslint] μΈν°νμ΄μ€ μ΄λ¦μ λλ¬Έμ I(μΈν°νμ΄μ€ μ΄λ¦)μΌλ‘ μμν΄μΌ ν©λλ€.
Microsoftλ μΈν°νμ΄μ€ μ΄λ¦μ I μ λμ¬κ° λΆμ§ μλλ‘ μ μν©λλ€. - https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines#names
μ΄κ²μ νμ
μ€ν¬λ¦½νΈ μ»΄νμΌλ¬ μ체λ₯Ό μμ±νκΈ° μν μ§μΉ¨μ
λλ€. λ€λ₯Έ μ΄λ€ typescript νλ‘μ νΈμ μ€νμΌ κ°μ΄λλ μλλλ€.
νλ‘μ νΈμ μ΄ μ€νμΌ κ°μ΄λλ₯Ό μ μ©νλ €λ©΄ tslint.jsonμ κ·μΉ ꡬμ±μ "interface-name" : [true, "never"]
νμΈμκ²μ 50μΌνΈ:
"interface-name" : [true, "never-prefix"]
λμ
"interface-name" : [true, "never"]
π
Create React Appμμ μμ±λ κΈ°λ³Έ tslint.json
interface-nameμ μΆκ°νμ¬ "I" μ λμ¬λ₯Ό λλ €κ³ νμ΅λλ€. κ·Έλ¬λ μλνμ§ μλ κ² κ°μ΅λλ€. λ΄κ° μλͺ»λ μμΉμ λ£κ³ μλ κ²μ μλκΉ?
{
"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μ μ νν κ³λ¨μ κ·μΉμ λν΄μλ λͺ¨λ₯΄μ§λ§ "νμ₯" μλμ "κ·μΉ" λΈλ‘μ λ£μ΄ 보μ
¨μ΅λκΉ?
μμ²λ
eslintλ μ΄λ―Έ κ·Έκ²μ μ§μν©λκΉ?
νκ²½
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
κ²°κ³Ό
Configuration for rule "interface-name" is invalid
μ΄ κ·μΉμ΄ μ‘΄μ¬νλ μ΄μ λ 무μμ λκΉ? λͺ¨λ μΈν°νμ΄μ€λ ꡬν ν΄λμ€μ λΆλͺ ν λ€λ₯Έ μλ―Έ μλ μ΄λ¦μ κ°μ ΈμΌ ν©λκΉ?
μ΄κ²μ _μμ μ νλ‘μ νΈ μΈλΆμμ_ λΉμ μ μ νΈλλ₯Ό λ€λ₯Έ μ¬λλ€μ΄ λ°λ₯΄λλ‘ κ°μνλ μ§λ ν μ±κ°μ μκ°μ λλ€. νλ‘κ·Έλλ° λꡬμμ μμ μ λͺ λͺ κ·μΉμ λ°©ν΄νλ κ²μ μ ν κ°λ°μ μ κ²½λ§μ λ²κ·Έμ λλ€.)
μ’μ μ μ TSLintκ° λ μ΄μ μ¬μ©λμ§ μμΌλ©° μ΄ λ¬Έμ λ λ μ΄μ κ΄λ ¨μ΄ μλ€λ κ²μ λλ€! #4534
κ°μ₯ μ μ©ν λκΈ
μ κ²½ μ°μ§ λ§μΈμ. λλ κ·Έκ²μ μμ λμ΅λλ€.