Tslint: ๊ธฐ๋Šฅ: glob์„ ์ œ์™ธํ•˜๋Š” ".tslintignore" ํŒŒ์ผ

์— ๋งŒ๋“  2014๋…„ 02์›” 05์ผ  ยท  57์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: palantir/tslint

์—…๋ฐ์ดํŠธ(2016/06/01)

--exclude CLI ํ”Œ๋ž˜๊ทธ๋Š” TSLint v3.6๋ถ€ํ„ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ด์ œ .tslintignore ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.

์›ํ˜ธ

์ฐธ์กฐ: https://github.com/madskristensen/WebEssentials2013/issues/617

JsHint ๋ฌธ์„œ ์—๋Š” cli ์˜ต์…˜์—์„œ ์ œ์™ธ๋ฅผ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

--๋“ค์–ด์˜ค์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋‹ค

๋ฆฐํŠธ๋ฅผ ์›ํ•˜์ง€ ์•Š๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--์ œ์™ธ ๊ฒฝ๋กœ

๊ณ ์œ ํ•œ .jshintignore ํŒŒ์ผ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด JSHint๊ฐ€ .gitignore ํŒŒ์ผ์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•˜๊ณ  ๊ธฐ๋ณธ .jshintignore ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ฐฐ์น˜/์ž๋™ ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ lint๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํŒŒ์ผ ๋ฐ ํด๋”๋ฅผ ์ œ์™ธํ•˜๋„๋ก .tslintignore ํŒŒ์ผ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ์‚ฌํ•œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”.

JsHint์˜ ์ด ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. cli.js#L182-L208 ๋ฐ ํ•ด๋‹น ํ˜ธ์ถœ์ž; ์ˆ˜์ง‘ ๊ธฐ๋Šฅ .

Aged Away Enhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ œ๋Œ€๋กœ ๋œ PR์„ ์ œ์ถœํ–ˆ์ง€๋งŒ ๋ฐ˜๋…„ ๋™์•ˆ ์•„๋ฌด๋Ÿฐ ์กฐ์น˜๋„ ์ทจํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋ง ๊ทธ๋Œ€๋กœ ์ˆ˜๋ฐฑ ๋ช…์˜ ์‚ฌ๋žŒ๋“ค์ด ์›ํ–ˆ๋˜ 3๋…„ ์ด์ƒ ๋œ ๋ฌธ์ œ์— ๋ถ€๋”ช์ณค์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  57 ๋Œ“๊ธ€

์ข‹์€ ์ œ์•ˆ. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ์กฐ์‚ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

+1

TSD์˜ ๊ฒฝ์šฐ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ์‚ฌ์šฉ์ž ํƒ€์ดํ•‘ ํด๋”์— ์ด๊ฒƒ์„ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

+1

์ด๋Š” ๋ฆฐํŠธ ์˜ค๋ฅ˜๋ฅผ โ€‹โ€‹์ฐจ๋‹จ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ฝ”๋“œ๊ฐ€ ๋ฒค๋” ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฆฐํŠธ๋˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

+1

+1

+1 ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. d.ts ํŒŒ์ผ์—์„œ ๋งŽ์€ tslint ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ๋ฆฐํŠธํ•˜๊ณ  ์‹ถ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํด๋”์™€ ํŠน์ • ํŒŒ์ผ์„ ๋ชจ๋‘ ์ œ์™ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฑฐ ํ•ด๋ณด๊ณ  ์‹ถ์€๋ฐ ์–ด๋””์— ๋„ฃ์–ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š”. ์ด๊ฒƒ์ด cli-feature๊ฐ€ ๋˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋„ ์ด๊ฒƒ์„ ์ง€์›ํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๊นŒ?
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ lint() ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฒฐ๊ณผ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„ ์ด์ƒํ•˜๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์ผ์ข…์˜ ๋”๋ฏธ ๋นˆ ๊ฒฐ๊ณผ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ํ•˜์ง€๋งŒ ์œ„์˜ ๋‚ด์šฉ์€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
https://github.com/DickvdBrink/tslint/compare/palantir :master...Di ckvdBrink:ignoreFile

์šฐ๋ฆฌ๋Š” Visual Studio์™€ Web Essentials ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ ์ด์ƒ์ ์ธ ์›Œํฌํ”Œ๋กœ๋Š” typings\ ์™€ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ํฌํ•จํ•˜๋Š” .tjshintignore ํŒŒ์ผ์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ํ•ด๋‹น ํด๋”์˜ ๋ชจ๋“  d.ts ํŒŒ์ผ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. Web Essentials๊ฐ€ cli-feature๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ์•Œ์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•Œ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์ด ์ด๋ฏธ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ์ด ์Šค๋ ˆ๋“œ๋ฅผ ์ฐพ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ ์ง€๊ธˆ ์•ฝ๊ฐ„ ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. https://github.com/madskristensen/WebEssentials2013/issues/617

๋‚˜๋Š” ๊ทธ๋“ค์ด cli๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
https://github.com/madskristensen/WebEssentials2013/blob/aaa83c3f6f7c9b051d7ef34be8498c6b67f37fca/EditorExtensions/TypeScript/Linters/TsLintCompiler.cs

๋ˆ„๊ตฐ๊ฐ€ ์ด ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข…๋ฃŒ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์ธ์šฉ๋ฌธ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Would you like to send them a feature request?
I see somebody already has. Thanks :-)

์•„, ๋ง์ด ๋˜๋Š”๊ตฐ์š”. ์ž˜๋ชป ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค.

CLI๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ง€๊ธˆ์œผ๋กœ์„œ๋Š” ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. grunt-tslint๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์ด๋ฏธ grunt์˜ ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ ๊ธ€๋กœ๋ฒ„๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์ œ์™ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Web Essentials: https://github.com/madskristensen/WebEssentials2013/issues/589์˜ ๋ชจ๋“  ๋…ธ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ „์—ญ ์ œ์™ธ๋ฅผ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  tslint์— ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋‚˜๋ฆ„์˜ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ: web-essentials์—์„œ ์ด ๊ธฐ๋Šฅ์€ ์•ผ๊ฐ„ ๋นŒ๋“œ v2.2.4์™€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. SO ์งˆ๋ฌธ ์—์„œ ์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ด€์‹ฌ์„ ๊ธฐ๋กํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ .tslintignore ํŒŒ์ผ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์ง€๋งŒ --exclude CLI ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋” ๊ฐ„๋‹จํ•œ ์•„์ด๋””์–ด๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

CLI ํ”Œ๋ž˜๊ทธ์—์„œ ์ด๊ฒƒ์„ ๋‹ค์‹œ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค tsconfig.json(#858)์„ ํ†ตํ•ด ์ด๊ฒƒ์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

ํ , ๊ทธ๊ฒƒ์˜ ์–ด๋ ค์›€์€ ๋‹น์‹ ์ด ๋ฆฐํŠธ์™€ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๊ธฐ๋ฅผ ์›ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž ์žฌ์ ์œผ๋กœ tsconfig.json ๋ฅผ ์‚ฌ์šฉํ•œ ๋‹ค์Œ --exclude ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ฐ˜์ ์œผ๋กœ ํฌํ•จ๋œ ํŒŒ์ผ ์ค‘ ์ผ๋ถ€๋ฅผ ๋ฆฐํŠธํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CLI์™€ ๋‹ฌ๋ฆฌ ์ด๊ฒƒ์€ tslint.json ํŒŒ์ผ์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋งž์ง€ ์•Š๊ณ  https://github.com/palantir/tslint/blob/master/src/tslint ์—์„œ "ignorePaths"๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๋ฌด์‹œ ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

+1

+1, .tslintignore๋Š” ํ›Œ๋ฅญํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

.tslintignore์˜ ๊ฒฝ์šฐ +1 ๋˜๋Š” tsconfig.json์˜ ํŠน์ • ๊ฒฝ๋กœ๋ฅผ ๋ฌด์‹œํ•˜๋Š” ์˜ต์…˜ ์ถ”๊ฐ€
https://github.com/bbatsov/rubocop#includeexcept -files์™€ ์œ ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ํ•„์š”ํ•˜์‹ญ๋‹ˆ๊นŒ?

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋กœ #1006์„ ๊ณง ๋ณ‘ํ•ฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ CLI --exclude ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„ ๊ฑฐ๊ธฐ์— ๋„๋‹ฌํ•ฉ๋‹ˆ๊นŒ? tslint ์œ„์— ์ถ”๊ฐ€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์•„๋งˆ๋„ glob / exclude ์ง€์›(grunt / gulp / ๋“ฑ)์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. tslint.json ์—์„œ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ๊ฐ€์š”?

๋‚˜๋Š” ๋” ์ด์ƒ NPM ์Šคํฌ๋ฆฝํŠธ์—์„œ tslint๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š์ง€๋งŒ NPM์ด ํฌ๋กœ์Šค ํ”Œ๋žซํผ glob ์ง€์›์„ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉฐ (์ ˆ๋Œ€ ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—) ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ค‘์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

tslint.json ํŒŒ์ผ์— lint๋ฅผ ์›ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์›ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ์— ๋Œ€ํ•œ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์ƒ๊ฐ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ๊ฑฐ๊ธฐ์— ๋งž์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ jshint ๊ฐ€ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐฉ์‹๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ, ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋„๊ตฌ์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. TS๋Š” JS์˜ ์ƒ์œ„ ์ง‘ํ•ฉ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‘˜ ์‚ฌ์ด์— ์–ด๋Š ์ •๋„ ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. JS์™€ TS ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด .tslintignore ํŒŒ์ผ( .jshintignore ์™€ ๊ฐ™์Œ)์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. Linting์€ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ tsconfig.json ์™€ ๋ณ„๋„๋กœ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค.

CLI ์˜ต์…˜์— +1, ์ข‹์€ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค.

#1006์ด ๋ณ‘ํ•ฉ๋˜์—ˆ๊ณ  ํ•œ ๋‹ฌ ์ •๋„ ์ „์— ๋ฆด๋ฆฌ์Šค์— ์žˆ์—ˆ๋‹ค๋Š” ์ ์„ ์–ธ๊ธ‰ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์‹  ๋ฒ„์ „์˜ TSLint CLI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ exclude ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

+1

+1

+1

์‚ฌ๋žŒ๋“ค์ด ์—ฌ๊ธฐ์— +1ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? --exclude ํ”Œ๋ž˜๊ทธ๋Š” v3.6๋ถ€ํ„ฐ CLI์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด glob(ํŒŒ์ผ, ๊ฒฝ๋กœ ๋“ฑ)์„ ์ œ์™ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@adidahiya ์˜ˆ๋ฅผ ๋“ค์–ด WebStorm์—์„œ๋Š” ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜์ด ์—†์Šต๋‹ˆ๋‹ค.

WebStorm ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ ์š”์ฒญ์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜์ง€๋งŒ ts-lint ์ธก์—์„œ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฌ์šด ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ฆฐํŒ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์™œ ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

@fyodorvi ๋ฉ‹์ ธ์š”, ๋ฌธ์ œ ์ œ๋ชฉ๊ณผ ์„ค๋ช…์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. tslint.json ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ .tslintignore ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹ถ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ƒˆ ํŒŒ์ผ์˜ ์žฅ๋‹จ์  ๋Œ€ tslint.json ์˜ ์ƒˆ ํ•„๋“œ ?

WebStorm๊ณผ ํ•จ๊ป˜ tslint๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
node_modules ํด๋”์— ๋นˆ tslint.json ํŒŒ์ผ(๋‚ด๋ถ€ '{}' ํฌํ•จ)์„ ๋„ฃ๊ณ  WS์—์„œ 'tslint.json ๊ฒ€์ƒ‰' ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด node_modules ํด๋”์— ๋Œ€ํ•œ tslint์˜ ๋ชจ๋“  ๊ทœ์น™์ด ์™„์ „ํžˆ ์žฌ์„ค์ •๋˜๊ณ  ๊ณต๊ธ‰์—…์ฒด ์ฝ”๋“œ์— ๋Œ€ํ•ด ์นจ๋ฌตํ•ฉ๋‹ˆ๋‹ค(๋˜๋Š” ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์—ฌ๊ธฐ์— ํŠน์ • ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ).

๋‚˜๋Š” ์ด ์Šค๋ ˆ๋“œ๋ฅผ ๋”ฐ๋ผ ํŠน๋ณ„ํžˆ vscode๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์ œ์™ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(์ด๋ฆ„์ด .tslintignore ์ „์šฉ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๊ธฐ ์ด์ „๋ถ€ํ„ฐ). ๋ณ„๋„์˜ ๋ฌธ์ œ ๊ฐ€ ์žˆ๊ณ  vscode ๊ด€๋ จ tslint ์ œ์™ธ์— ๋Œ€ํ•œ ์ตœ๊ทผ PR ์ด ์žˆ์Œ์„ vscode์™€ ์ œ์™ธ๋ฅผ ํ†ตํ•ฉํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์•Œ๋ฆฌ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

@adidahiya tslint.json ๋‚ด๋ถ€์˜ dirs ๋˜๋Š” ํŒŒ์ผ ๋ฐฐ์—ด์ด ์žˆ๋Š” ํ•„๋“œ๋กœ ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ์ด๋ฏธ ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์ •์˜๋˜์–ด ์žˆ์„ ๋•Œ ์ด ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์ œ์–ดํ•  ๋‹ค๋ฅธ ํŒŒ์ผ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@Karabur ๊ท€ํ•˜์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋นˆ ๊ทœ์น™ ๊ฐœ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๋Š”๋ฐ ๋ˆ„๋ฝ๋œ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

ํŒŒ์ผ ํ•˜๋‚˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ tsconfig,json์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹๊ณผ๋„ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

$ tslint.json ์— exclude ์˜ต์…˜์ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค(์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ•˜๋‚˜์˜ ํŒŒ์ผ๋งŒ). ์ด๋Š” $ tsconfig.json ์˜ glob ๋ฌด์‹œ ์„น์…˜์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์Œ (์˜ˆ, tsconfig.json ํฌํ•จ/์ œ์™ธ๋Š” ์ด์ œ TypeScript ์ตœ์‹ ์—์„œ glob์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค)

๋ˆ„๊ตฌ๋“ ์ง€ eslint๊ฐ€ ์ด๊ฒƒ์„ ์ณค์„ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•˜๋ฏ€๋กœ eslint๊ฐ€ ๋ฌด์—‡์„ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? :์žฅ๋ฏธ:

ํ˜„์žฌ tslint.json ๋Š” ๋ฆฐํŠธ๋˜๋Š” _๋ฌด์—‡์„_ ์ œ์–ดํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ํŒŒ์ผ์ด ๋ฆฐํŠธ๋˜๋Š” _๋ฐฉ๋ฒ•_๋งŒ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์„ค์ • ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ TSLint CLI๋Š” ์‹ค์ œ๋กœ ๋™์ผํ•œ ์‹คํ–‰์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๊ทœ์น™์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ๋ฆฐํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” tslint.json ์˜ exclude ์˜ต์…˜์— ๋ฐ˜๋Œ€ํ•˜์ง€ ์•Š์ง€๋งŒ ๊ฒฐ๊ตญ ์•ฝ๊ฐ„์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹ ์ค‘ํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

PS @basarat ํ”ผ๋“œ๋ฐฑ์„ ๋“ค์„ ์ˆ˜ ์žˆ์–ด ํ•ญ์ƒ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ TS gitbook์„ ๋ง‰ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜‰

๋ฐฉ๊ธˆ 0.3.0 ๋ฒ„์ „ ๊ณผ ํ†ตํ•ฉ๋œ tslint ๊ฐ€ ์žˆ๋Š” ์ƒˆ ๋ฒ„์ „์˜ lm์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

linter

๋‚ด ๋‘๋‡Œ์— ์•‰ํžŒ ํ›„ ์—ฌ๊ธฐ์— ๋‚ด๊ฐ€ IDE ํ†ตํ•ฉ์„ ์œ„ํ•ด ํ•จ๊ป˜ ๊ฐ”๋˜ ๋””์ž์ธ์˜ ์š”์•ฝ์ด ์žˆ์œผ๋ฉฐ ์•„๋ฆ„๋‹ต๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํ˜„์žฌ tsconfig.json ์˜ ๋ชจ๋“  ํŒŒ์ผ์€ .d.ts ํŒŒ์ผ์„ ์ œ์™ธํ•˜๊ณ  ๋ฆฐํŠธ๋ฉ๋‹ˆ๋‹ค.
  • tslint.json ๋Š” tsconfig.json ์˜ findup ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์—ฌ๊ธฐ์—์„œ๋„ ๋ฌธ์„œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค: https://basarat.gitbooks.io/alm/content/features/lint.html ๋‹ค๋ฅธ IDE ํ†ตํ•ฉ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด/์†Œ์Šค๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค:rose:

@basarat ๋‚˜๋Š” ๊ทธ ์„ ํƒ์ด ์™„๋ฒฝํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค! ์•Œ์— ์€ ์•„์ง ์•ˆ์จ๋ดค๋Š”๋ฐ ์กฐ๋งŒ๊ฐ„ ํ•ด๋ด์•ผ๊ฒ ๋„ค์š” ๐Ÿ’ป

+1 ๋Œ“๊ธ€ ๊ฒŒ์‹œ๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ์›๋ž˜ ๋ฌธ์ œ ์„ค๋ช…์— ๋‚ด์žฅ๋œ Github upvoting ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด์ œ +1 ๋Œ“๊ธ€์„ ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

3๋…„์ด ์ง€๋‚ฌ๋Š”๋ฐ ์•„์ง๋„ ์‹คํ–‰์ด ์•ˆ๋˜๊ณ  ์žˆ๋‚˜์š”? ์ด๊ฒƒ์€ IMO์—์„œ ๊ฐ€์žฅ ์‚ฌ์†Œํ•˜๊ณ  ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

3๋…„์ด ์ง€๋‚ฌ๋Š”๋ฐ ์•„์ง๋„ ์‹คํ–‰์ด ์•ˆ๋˜๊ณ  ์žˆ๋‚˜์š”? ์ด๊ฒƒ์€ IMO์—์„œ ๊ฐ€์žฅ ์‚ฌ์†Œํ•˜๊ณ  ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ OSS์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ PR์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

ํ˜„์žฌ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

--exclude {node_modules,.git,cache}

{} ์—ฐ์‚ฐ์ž๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค...

@monolithed :

--exclude node_modules --exclude .git --exclude cache

๋‹น์‹ ์ด ์›ํ•˜๋Š” ๊ฒƒ์„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค

3๋…„์ด ์ง€๋‚ฌ๋Š”๋ฐ ์•„์ง๋„ ์‹คํ–‰์ด ์•ˆ๋˜๊ณ  ์žˆ๋‚˜์š”? ์ด๊ฒƒ์€ IMO์—์„œ ๊ฐ€์žฅ ์‚ฌ์†Œํ•˜๊ณ  ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ OSS์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ PR์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

PR์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค: https://github.com/palantir/tslint/issues/2409

@abenhamdine ๋ˆ„๊ตฌ์—๊ฒŒ ๊ฒ€ํ† ๋ฅผ ์š”์ฒญํ•ด์•ผ ํ•˜๋Š” ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ œ๋Œ€๋กœ ๋œ PR์„ ์ œ์ถœํ–ˆ์ง€๋งŒ ๋ฐ˜๋…„ ๋™์•ˆ ์•„๋ฌด๋Ÿฐ ์กฐ์น˜๋„ ์ทจํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋ง ๊ทธ๋Œ€๋กœ ์ˆ˜๋ฐฑ ๋ช…์˜ ์‚ฌ๋žŒ๋“ค์ด ์›ํ–ˆ๋˜ 3๋…„ ์ด์ƒ ๋œ ๋ฌธ์ œ์— ๋ถ€๋”ช์ณค์Šต๋‹ˆ๋‹ค.

๋ฒ”ํ”„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งํฌ๋œ PR #2409๋Š” tslint.json ์˜ ์ƒˆ๋กœ์šด ๊ตฌ์„ฑ ์˜ต์…˜์— ๋Œ€ํ•œ ๊ฒƒ์œผ๋กœ ์›๋ž˜ ๋ฌธ์ œ( .tslintignore ํŒŒ์ผ)์™€ ์™„์ „ํžˆ ๋™์ผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. CR ๋Œ“๊ธ€์„ ๋” ๋‚จ๊ฒผ์Šต๋‹ˆ๋‹ค.

+1
์˜ต์…˜:

  • ๋ฌด์‹œํ•  ํด๋”์— .tslintignore ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒฝ๋กœ/ํด๋” ๋ชฉ๋ก๊ณผ ํ•จ๊ป˜ ํŒŒ์ผ tslint.json(์ „์—ญ ํŒŒ์ผ) ์ƒˆ ์†์„ฑ exclude .
    ์ด๊ฒƒ์€ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๊ธฐ๋Šฅ์ด [email protected] ์— ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅธ์ชฝ. ์˜ˆ์‹œ:
ํ”„๋กœ์ ํŠธ์— .vscode ๋ผ๋Š” ์ด๋ฆ„์˜ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  settings.json ์•ˆ์— ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

{
  "tslint.exclude": "**/app/models/**"
}

/app/models/์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ์ž์œ ๋กญ๊ฒŒ ํ‘œํ˜„์„ ๊ฐœ์„ ํ•ด ๋ณด์„ธ์š”. :)

+1

+1
.tslintignore ํ•„์š”

์˜ค, ์ด๊ฒƒ์€ linterOptions ์—์„œ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. https://palantir.github.io/tslint/usage/configuration/์— ๋”ฐ๋ผ:

  • linterOptions?: { exclude?: string[] } :

    • exclude: string[] : globs์˜ ๋ฐฐ์—ด. ์ด glob๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์€ ๋ฆฐํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ œ์™ธ ํŒจํ„ด์€ ์ง€์ •๋œ ๊ตฌ์„ฑ ํŒŒ์ผ์— ์ƒ๋Œ€์ ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์ถฉ๋ถ„ํžˆ ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? .tslintignore ์ด(๊ฐ€) ํ•ด์•ผ ํ•  ๋‹ค๋ฅธ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๊นŒ?

/cc @am11 , @basarat

์•ˆ๋…•ํ•˜์„ธ์š” @JoshuaKGoldberg , ์ข‹์€ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค. ์ด ์Šค๋ ˆ๋“œ์˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ธฐ๋Šฅ ์™ธ์—๋„ .tslintignore ํŒŒ์ผ์—์„œ ๊ธฐ๋Œ€ํ–ˆ๋˜ ๊ฒƒ์€ git, npm, eslint ๋“ฑ์— ์˜ํ•ด ์ด๋ฏธ ์„ค์ •๋œ ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‘œ์ค€์„ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋งค์šฐ ํŽธ์•ˆํ•˜๊ฒŒ ๋Š๋‚๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด .tslintignore ํŒŒ์ผ์ด ์ž‘๋™ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ๋งŒ๋“ค ๋•Œ ์ด ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ณ  ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๋•Œ (์˜ณ๋“  ๊ทธ๋ฅด๋“ ) ๋†€๋ž์Šต๋‹ˆ๋‹ค.

ํ . ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ํ‘œ์ค€์ด ์žˆ๋Š”์ง€ ์˜์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ์— .tslintignore ๋ฐ linterOptions.exclude ๊ฐ€ ๋ชจ๋‘ ์žˆ๋Š” ๊ฒฝ์šฐ ๋™์ž‘์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

ํŽธ์ง‘: ์˜ค, ๊ทธ๋ฆฌ๊ณ  TypeScript๋Š” tsconfig.json ๋กœ .*ignore ์ถ”์„ธ๋„ ๊นจ๋œจ๋ฆฝ๋‹ˆ๋‹ค.

eslint์™€ stylelint๋Š” ๋ชจ๋‘ --ignore-path CLI ํ”Œ๋ž˜๊ทธ ๋˜๋Š” ignorePath JS ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. tslint๋Š” ์™œ ์•ˆ๋˜๋‚˜์š”?
์ด์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค! :๊ธฐ๋„ํ•˜๋‹ค:

#4534 ๋ฐ linterOptions.exclude ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์ฃผ์–ด์ง€๋ฉด ์ด๊ฒƒ์€ ์ด์ œ TSLint์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ถŒ์žฅ๋˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์€ typescript-eslint ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. TSLint linting์—์„œ ์ผ๋ถ€ TypeScript ํŒŒ์ผ์„ ์ œ์™ธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ linterOptions.exclude ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ํ•˜์šฐ์Šคํ‚คํ•‘์„ ์œ„ํ•ด ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

linterOptions.exclude ์— ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ์ฐจ๋‹จ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์—ฌ ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ ํ•˜์„ธ์š”!

๐Ÿค– ์‚์‚! ๐Ÿ‘‰ TSLint๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๐Ÿ‘ˆ typescript-eslint ๋กœ ์ „ํ™˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค! ๐Ÿค–

๐Ÿ”’ ์ด ์ด์Šˆ๋Š” ๋” ์ด์ƒ์˜ ๋ถˆํ•„์š”ํ•œ ํ† ๋ก ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ž ๊ทธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ‘‹

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰