Tslint: 단일 주석이 μžˆλŠ” 쀄 λ¬΄μ‹œ

에 λ§Œλ“  2014λ…„ 06μ›” 02일  Β·  31μ½”λ©˜νŠΈ  Β·  좜처: palantir/tslint

jshint와 같이 ν•œ 쀄을 λ¬΄μ‹œν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?
// tslint ignore:line μ‹œλ„ν–ˆμ§€λ§Œ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

P2 Fixed Accepting PRs Feature Request

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

ν•΄κ²° 방법을 찾으렀면 μ—¬κΈ° μžˆλŠ” μ‚¬λžŒ

/* tslint:disable */ - Disable all rules for the rest of the file
/* tslint:enable */ - Enable all rules for the rest of the file

예
/* tslint:disable */ window['foo']= window['bar']; /* tslint:enable */

λͺ¨λ“  31 λŒ“κΈ€

λΆˆν–‰νžˆλ„, μš°λ¦¬λŠ” 아직 그런 것이 μ—†μŠ΅λ‹ˆλ‹€. 라인을 λͺ…μ‹œμ μœΌλ‘œ ν™œμ„±ν™” 및 λΉ„ν™œμ„±ν™”ν•΄μ•Ό ν•©λ‹ˆλ‹€.

νšŒμ„ μ„ μ–΄λ–»κ²Œ λΉ„ν™œμ„±ν™”ν•©λ‹ˆκΉŒ?

ν•΄κ²° 방법을 찾으렀면 μ—¬κΈ° μžˆλŠ” μ‚¬λžŒ

/* tslint:disable */ - Disable all rules for the rest of the file
/* tslint:enable */ - Enable all rules for the rest of the file

예
/* tslint:disable */ window['foo']= window['bar']; /* tslint:enable */

μœ„μ—μ„œ μ„€λͺ…ν•œ 것과 μœ μ‚¬ν•œ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ 쑰사가 μžˆμ—ˆμŠ΅λ‹ˆκΉŒ?

@patsisson μ •ν™•νžˆ μ–΄λ–€ κΈ°λŠ₯μΈκ°€μš”? ν˜„μž¬ 두 개의 μ£Όμ„μœΌλ‘œ ν•œ 쀄을 ν™œμ„±ν™”/λΉ„ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이 κΈ°λŠ₯은 덜 μž₯ν™©ν•œ 라인 λΉ„ν™œμ„±ν™”μž…λ‹ˆλ‹€. ESLint μ—λŠ” 단일 ν–‰ κ·œμΉ™ λΉ„ν™œμ„±ν™”λ₯Ό μˆ˜ν–‰ν•˜λŠ” μ—¬λŸ¬ 방법이 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄,

// eslint-disable-next-line rule-name
var x; // eslint-disable-line rule1 rule2

λž˜ν•‘ 방법은 λ³΅μž‘ν•œ κ·œμΉ™ λΉ„ν™œμ„±ν™”μ— λŒ€ν•œ μ€‘λ³΅μ„±μœΌλ‘œ ν›Œλ₯­ν•˜μ§€λ§Œ 인라인(λ˜λŠ” λ‹€μŒ 쀄)은 μ½”λ“œλ₯Ό 덜 μ˜€μ—Όλ˜κ²Œ ν•˜λŠ” κ²½ν–₯이 μžˆμŠ΅λ‹ˆλ‹€(λ¬Όλ‘  제 μƒκ°μ΄μ§€λ§Œ κ·Έλ ‡κ²Œ λΆˆν•©λ¦¬ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€).

이것은 μ‹œλ„λŸ½λ‹€:

/* tslint:disable */ window['foo']= window['bar']; /* tslint:enable */

이것은 훨씬 더 μ’‹μŠ΅λ‹ˆλ‹€:

var x; // eslint-disable-line rule1 rule2

μ•„λ‹ˆλ©΄ κ·Έλƒ₯:

var x; // tslint:disable

그것이 쀄 μ£Όμ„μ΄λΌλŠ” 사싀은 λ‚΄κ°€ μƒκ°ν•˜λŠ” ν•œ μ€„λ§Œ λΉ„ν™œμ„±ν™”ν•œλ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

λ˜λŠ” μ΅œμ•…μ˜ 경우:

var x; // tslint:disable-line

이에 λŒ€ν•œ PR을 μˆ˜λ½ν•©λ‹ˆλ‹€. λ‹€μŒμ€ λΉ„ν™œμ„±ν™”μ— λŒ€ν•΄ /* λŒ€μ‹  // /* 주석을 ν—ˆμš©ν•œ 졜근의 λ‹€μ†Œ κ΄€λ ¨λœ λ³€κ²½ μ‚¬ν•­μž…λ‹ˆλ‹€(두 개의 주석이 μ—¬μ „νžˆ ν•„μš”ν•¨): https://github.com/palantir/tslint/pull/1134

λ„ˆλ¬΄ 도전적이지 μ•Šλ‹€λ©΄ 였늘 밀에도 PR을 ν•  κ²ƒμž…λ‹ˆλ‹€.

πŸ‘ μ—¬κΈ°μ—μ„œ ESLintλ₯Ό μžμ„Ένžˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

someCode(); // tslint:disable-line

// tslint:disable-next-line
someCode();

그리고

someCode(); // tslint:disable-line:rule1 rule2

// tslint:disable-next-line:rule1
someCode();

그것이 λ°”λ‘œ μ œκ°€ λ‹¬μ„±ν•˜κ³ μž ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€ :+1:

κ·ΈλŸ¬λ‚˜ λͺ…확성을 μœ„ν•΄ ESLintλŠ” μ½œλ‘ μ„ μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©° μŠ€νƒ€μΌμ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

// eslint-disable-next-line rule1, rule2
someCode();

μœ„μ— ν¬ν•¨λœ TSLint μŠ€νƒ€μΌ(콜둠 및 μ‰Όν‘œ ꡬ뢄 κ·œμΉ™ μ—†μŒ)을 κ³ μˆ˜ν•˜λŠ” 것을 μ„ ν˜Έν•œλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€.

πŸ‘ 일관성을 μœ„ν•΄ TSLint μŠ€νƒ€μΌμ„ κ³ μˆ˜ν•©μ‹œλ‹€.

μ €λŠ” μ§€κΈˆ 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜κ³  있으며 PR을 λ§Œλ“€κΈ° 전에 컀밋 정리λ₯Ό μˆ˜ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ „λž΅μ€ -line 및 -next-line λ³€ν˜•μ„ μ™„μ „νžˆ ν‘œν˜„λœ λ™λ“±ν•œ 주석 μŠ€μœ„μΉ˜λ‘œ μˆ¨κΈ°λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. 이것은 라인 μ‹œμž‘ μœ„μΉ˜( -line μŠ€μœ„μΉ˜μ˜ 경우)λ₯Ό μΆ”μ ν•˜κ³  λ‹€μŒ 라인의 끝 뢀뢄에 λŒ€ν•œ 미리보기( -next-line μŠ€μœ„μΉ˜μ˜ 경우)λ₯Ό μˆ˜ν–‰ν•˜μ—¬ μˆ˜ν–‰λ©λ‹ˆλ‹€. 이것듀은 더 μž₯ν™©ν•œ ν˜•μ‹μ˜ 별칭 역할을 ν•˜κΈ° λ•Œλ¬Έμ— μ•„μ£Ό 잘 μž‘λ™ν•˜κ³  λΆ€μž‘μš©μ΄ μ΅œμ†Œν™”λ©λ‹ˆλ‹€.

λ‚΄ PR을 μˆœμ„œλŒ€λ‘œ λ°›κΈ° 전에 μ°Έκ³ ν•˜μ„Έμš”. λΉ„ν™œμ„±ν™”λœ 간격 μ½”λ“œκ°€ μž‘λ™ν•˜λŠ” λ°©μ‹μœΌλ‘œ 인해 λ‹€μŒκ³Ό 같은 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

// tslint:disable-next-line:quotemark variable-name
var AAAaA = 'test' // tslint:enable-line variable-name

μ†”μ§νžˆ λˆ„κ΅°κ°€κ°€ 그런 일을 ν•˜λ¦¬λΌκ³ λŠ” κΈ°λŒ€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ €λŠ” μ—¬κΈ°μ—μ„œ μ–ΈκΈ‰ν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€. μ—¬μ „νžˆ 이와 같은 ν‘œμ€€ 쀑첩을 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

// tslint:disable
var AAAaA = 'test' // tslint:enable-line:quotemark
// tslint:enable-next-line:variable-name
var AAAaA = 'test'
// tslint:enable

κ΅¬ν˜„μ— λŒ€ν•œ 질문, 이것이 μž‘λ™ν•©λ‹ˆκΉŒ?

/**
 * this is a very long line and violate max-line-length. // tslint:disable-line:max-line-length
 */

μ•„λ‹ˆμš”, μŠ€μœ„μΉ˜ 주석은 그런 μ‹μœΌλ‘œ ꡬ문 λΆ„μ„λ˜μ§€ μ•ŠμœΌλ©° μ˜¬λ°”λ₯Έ ν˜•μ‹μ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€. κ·€ν•˜μ˜ 예λ₯Ό 믿으며 μ—¬λŸ¬ 쀄 주석 외뢀에 ν•œ 쀄 λΉ„ν™œμ„±ν™” 주석을 λ°°μΉ˜ν•˜λ©΄ μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•΄μ•Όν•©λ‹ˆλ‹€.

μ„€λͺ… κ°μ‚¬ν•©λ‹ˆλ‹€.

@lijunle 방금 κ·€ν•˜μ˜ 예λ₯Ό λ‹€μ‹œ λ°©λ¬Έν•˜μ—¬ λ‚΄ μ„€λͺ…이 μ‹€μ œλ‘œ λ‹€μ†Œ 잘λͺ»λ˜μ—ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. ν•œ 쀄 λΉ„ν™œμ„±ν™”λ‘œ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό 얻을 수 μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” νŒŒμ„œκ°€ 전체 μ—¬λŸ¬ 쀄 주석을 μ μ ˆν•˜κ²Œ λΉ„ν™œμ„±ν™”ν•˜κΈ° μœ„ν•΄ λ‹€μ‹œ μ ‘κ·Όν•  수 없을 것이라고 μƒκ°ν•©λ‹ˆλ‹€. μ—¬λŸ¬ 쀄 μ£Όμ„μ—μ„œ κ·œμΉ™μ„ λΉ„ν™œμ„±ν™”ν•˜λ €λ©΄ 주석을 μŠ€μœ„μΉ˜ 쌍으둜 λž˜ν•‘ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μœ„μ˜ μ–΄λŠ 것도 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
κΈ°λŠ₯ μ œμ•ˆ λ˜λŠ” 이미 κ΅¬ν˜„λœ μ œμ•ˆμ— λŒ€ν•΄ μ΄μ•ΌκΈ°ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?
λ”°λΌν•˜κΈ° νž˜λ“ 

@phil123456 https://github.com/palantir/tslint#rule -flags

// tslint:disable-next-line <optional rule identifier>
var foo = 123;

^링크가 μ—¬κΈ°λ‘œ μ΄λ™ν–ˆμŠ΅λ‹ˆλ‹€: https://github.com/palantir/tslint/blob/master/docs/usage/rule-flags/index.md

이런 μ  μž₯. ν•΄λ‹Ή λ¬Έμ„œμ—λŠ” "μ–΅μ œ" λ˜λŠ” "λ¬΄μ‹œ"λΌλŠ” 단어가 λ‚˜νƒ€λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ €λ₯Ό 이 문제둜 이끌기 μœ„ν•΄ μ–Όλ§ˆλ‚˜ λ§Žμ€ 인터넷 검색이 ν•„μš”ν–ˆλŠ”μ§€ 믿을 수 μ—†μŠ΅λ‹ˆλ‹€. μœ„μ˜ λͺ¨λ“  λ‚΄μš©μ„ 읽고 μ§€μ›λ˜κ³  λ¬Έμ„œν™”λœ κΈ°λŠ₯μ΄λΌλŠ” 것을 μ•Œκ²Œ λ˜μ—ˆμ§€λ§Œ μ μ ˆν•œ ν‚€μ›Œλ“œκ°€ λ¬Έμ„œμ— μ—†μœΌλ―€λ‘œ Googleμ—μ„œλŠ” λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. 전체 리포지토리λ₯Ό λ³΅μ œν•˜κ³  이에 λŒ€ν•œ PR을 μ œμΆœν•΄μ•Ό ν•©λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ .md νŒŒμΌμ— λŒ€ν•œ μˆ˜μ • 사항을 μ œμ•ˆν•˜λŠ” 더 λΉ λ₯Έ 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

@pbarranis κΈ°λŠ₯ μš”μ²­μœΌλ‘œ μƒˆ 티켓을 λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. 그듀이 λ³€κ²½ν•˜μ§€ μ•ŠμœΌλ©΄ PR을 λ§Œλ“œλŠ” 것이 λ‹€μŒ 단계가 될 수 μžˆμŠ΅λ‹ˆλ‹€.

그건 κ·Έλ ‡κ³ , 당신은 λ˜ν•œ 같은 μ€„μ—μ„œ 그것을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

console.log("poop"); // tslint:disable-line no-console

적어도 [email protected]λΆ€ν„°.

ordered-imports 와 같은 κ·œμΉ™μ—μ„œλŠ” μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

//@ts-ignore
https://palantir.github.io/tslint/rules/

λΆˆν–‰νžˆλ„ 이 νŽ˜μ΄μ§€λŠ” μ΄κ²ƒμ˜ μ‚¬μš©μ„ κΈˆμ§€ν•˜λŠ” λ°©λ²•λ§Œ λ³΄μ—¬μ€λ‹ˆλ‹€. μ μ ˆν•˜κ²Œ μ‚¬μš©ν•˜λŠ” 방법을 보여주지 μ•Šκ±°λ‚˜ μ‚¬μš©ν•  λ•Œ tsLintκ°€ λ¬΄μ‹œν•˜λŠ” 정도λ₯Ό μ„€λͺ…ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·œμΉ™μ„ μ–΅μ œν•˜λŠ” 방법을 μ„€λͺ…ν•˜λŠ” 이 νŽ˜μ΄μ§€μ—μ„œ μ–ΈκΈ‰λ˜μ§€ μ•Šμ€ 이유λ₯Ό λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. https://palantir.github.io/tslint/usage/rule-flags/
그리고 μ™œ 이 νŽ˜μ΄μ§€μ— "μ–΅μ œ" λ˜λŠ” "λ¬΄μ‹œ"λΌλŠ” 단어가 μ–ΈκΈ‰λ˜μ§€ μ•Šμ•„ Google을 μ‚¬μš©ν•  λ•Œ μ‰½κ²Œ 찾을 수 μžˆλŠ”μ§€ λ¬»λŠ” μœ„μ˜ μ˜κ²¬μ— λ™μ˜ν•©λ‹ˆλ‹€.
참고둜 이 νŽ˜μ΄μ§€μ—λŠ” μ˜¬ν•΄ TSLintκ°€ EOL이라고 λ‚˜μ™€ μžˆμŠ΅λ‹ˆλ‹€. https://github.com/palantir/tslint#tslint -rule-flags

μ•„, tslintλŠ” κ²°κ΅­ (아직은 μ•„λ‹˜) eslint에 λ³‘ν•©λ˜λ―€λ‘œ 쒋은 것 κ°™μ•„μš”.

μš”μ μ€ 이제 tslint κ°€ λ‹€μŒ 쀄 λ¬΄μ‹œ κΈ°λŠ₯을 μ§€μ›ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ˜ˆμ‹œ:

// tslint:disable-next-line

λ˜λŠ”

// tslint:disable-next-line:rule1 rule2 rule3

μžμ„Έν•œ λ‚΄μš© 및 μ˜ˆλŠ” https://palantir.github.io/tslint/usage/rule-flags/ λ₯Ό μ°Έμ‘°

πŸ€– 삐삐! πŸ‘‰ TSLintλŠ” 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμœΌλ©° πŸ‘ˆ typescript-eslint둜 μ „ν™˜ ν•΄μ•Ό

πŸ”’ 이 μ΄μŠˆλŠ” 더 μ΄μƒμ˜ λΆˆν•„μš”ν•œ 토둠을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ 잠그고 μžˆμŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€! πŸ‘‹

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰