Tsd: TSD ์‚ฌ์šฉ ์ค‘๋‹จ

์— ๋งŒ๋“  2016๋…„ 01์›” 26์ผ  ยท  15์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: DefinitelyTyped/tsd

Typings ํ”„๋กœ์ ํŠธ(https://github.com/typings/typings)๋Š” ์ง„ํ™”ํ–ˆ์œผ๋ฉฐ ํ˜„์žฌ ์ƒํƒœ๊ณ„์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์œผ๋กœ ํ™•์‹คํžˆ ์œ ํ˜•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด TSD ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ํšจ๊ณผ์ ์œผ๋กœ ์ค‘๋ณต๋˜๊ณ  ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ •์˜๋Š” typings.json ๊ฐ€ ์žˆ๋Š” ์™ธ๋ถ€ ๋ชจ๋“ˆ๋กœ ์ž‘์„ฑ๋˜๊ฑฐ๋‚˜ TypeScript ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ง์ ‘ ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ์ธ๋ผ์ธ์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” Typings์— ๋Œ€ํ•œ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ณ  ๊ฐœ์„ ๋œ ๋ฌธ์„œ๊ฐ€ ๋งํฌ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹ ๊ทœ ๋˜๋Š” ๊ธฐ์กด ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์•Œ๋ฆผ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

DefinedTyped์—์„œ ์œ ํ˜• ์ •์˜๋ฅผ ๊ณ„์† ์„ค์น˜ํ•˜๋ ค๋ฉด --ambient ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์œ ํ˜• ์ •์˜ ์—†์ด ์ข…์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒŒ์‹œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ(์˜ˆ: ํ™•์‹คํžˆ ์œ ํ˜• ์ง€์ •/์ž…๋ ฅ์—์„œ ์ž…๋ ฅ์„ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ) ํ•ด๋‹น ํ•ญ๋ชฉ์ด ์ข…์†์„ฑ(์•ฐ๋น„์–ธํŠธ๊ฐ€ ์•„๋‹Œ)์ธ์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „์—ญ ์ข…์†์„ฑ์˜ ํ•ต์‹ฌ ๋ฌธ์ œ๋Š” ์œ ์ง€ ๊ด€๋ฆฌ์™€ ์ถฉ๋Œ์ž…๋‹ˆ๋‹ค.

typings install node --save --ambient

TSD PR ๋ฐ ๋ฌธ์ œ์— ๊ณ„์† ์‘๋‹ตํ•  ๊ฒƒ์ด์ง€๋งŒ ๊ฐœ๋ฐœ์€ ์‚ฌ์‹ค์ƒ EOL์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ/๋˜๋Š” ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฌธ์ œ๋Š” ์ด๋ฏธ ํƒ€์ดํ•‘์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ํƒ€์ดํ•‘์—์„œ ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•˜์„ธ์š”.

๋งํฌ: https://github.com/DefinitelyTyped/tsd/issues/150 , https://github.com/typings/discussions/issues/5 ๋ฐ https://github.com/typings/typings/issues/125.

ํŽธ์ง‘: Typings๋Š” TSD ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ช…๋ น์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด tsd.json ์˜ ํ˜•์‹๋งŒ typings.json ๋˜๋ฉฐ ์ถ”๊ฐ€ ์กฐ์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ํ˜„์žฌ ์ œ๊ฑฐ๋œ ์ฐธ์กฐ ์ˆ˜์ •).

typings init --upgrade
important notice

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

:+1:

tsd์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์œ„ํ•œ ์ฐธ์กฐ์šฉ

์›นํŒฉ+ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
https://github.com/angular/universal-starter/commit/cfb7b52b12e1da9de7ee7c2a452e7636c93aaa09

gulpjs+typescript
https://github.com/angular/answers-app/pull/27/files

ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ๋Š” gulpjs
https://gist.github.com/gdi2290/e544407980e261acc172

๋ช…๋ น

$ npm uninstall tsd
$ rm -rf typings
$ npm install typings
$ typings init --upgrade
$ rm tsd.json
$ typings install

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

:+1:

tsd์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์œ„ํ•œ ์ฐธ์กฐ์šฉ

์›นํŒฉ+ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
https://github.com/angular/universal-starter/commit/cfb7b52b12e1da9de7ee7c2a452e7636c93aaa09

gulpjs+typescript
https://github.com/angular/answers-app/pull/27/files

ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ๋Š” gulpjs
https://gist.github.com/gdi2290/e544407980e261acc172

๋ช…๋ น

$ npm uninstall tsd
$ rm -rf typings
$ npm install typings
$ typings init --upgrade
$ rm tsd.json
$ typings install

๋ฐฉ๊ธˆ ๋‚˜์—๊ฒŒ ์ผ์–ด๋‚œ ์ผ๊ณผ ๊ด€๋ จํ•˜์—ฌ @gdi2290 ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋‹จ๊ณ„์— ์•ฝ๊ฐ„์˜ ์ถ”๊ฐ€ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.
๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ๊ฒƒ์„ ๋”ฐ๋ฅด๊ณ  ์ปดํŒŒ์ผํ•˜๋Š” ๋™์•ˆ ์ˆ˜๋ฐฑ TS2300: duplicate indetifier ... ๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ ์†”๋ฃจ์…˜์€ https://www.npmjs.com/package/typings#maindts -and-browserdts์ž…๋‹ˆ๋‹ค.

ํƒ€์ดํ•‘์œผ๋กœ tsd link ์„(๋ฅผ) ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

ํƒ€์ดํ•‘์œผ๋กœ tsd ๋งํฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

๋‹น์‹ ์€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. TSD ๋งํฌ๋Š” ๊ฒฐํ•จ์ด ์žˆ์œผ๋ฉฐ ์‹ค์ œ๋กœ ๊ฒฌ๊ณ ํ•œ ์žฅ๊ธฐ ์†”๋ฃจ์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ฃผ๋ณ€ ๋ชจ๋“ˆ์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต ์‹๋ณ„์ž๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜์œ„ ์ข…์†์„ฑ์„ ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜‘๊ฐ™์€ ๊ฒƒ์„ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด typings install npm:<library>/<path-to-d-ts> --ambient ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํ•˜์œ„ ์ข…์†์„ฑ์ด ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์„ ์›ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ๊ท€ํ•˜์˜ ๊ฒŒ์‹œ typings.json ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ํŒŒ์ผ์„ํ•˜๊ณ  ํ•  typings install npm:<library> --save ์˜ ์ข…์† - <library>/typings.json ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ €์žฅ์†Œ์—์„œ ํƒ€์ดํ•‘์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฌธ์ œ ์ƒ์„ฑ: https://github.com/typings/typings/issues/133

์—ฌ๊ธฐ์˜ ๋น„์ „/์˜๋„๊ฐ€ ํ™•์‹คํžˆ Typed/tsd์™€ Typing์— ๋Œ€ํ•œ ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•˜์‹ญ๋‹ˆ๊นŒ? Typings๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๊ณ  ํ™•์‹คํžˆ Typed์™€ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์ง€๋งŒ Typings์—๋Š” ์ผ๋ถ€ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—๋„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ œ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋กœ์ปฌ ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ์ธํ”„๋ผ ๊ตฌ์กฐ์˜ ์ ˆ๋ฐ˜์„ ๋ณต์ œํ•˜๋Š” ๋Œ€์‹  ๋ชจ๋“  typedef๋ฅผ npm ํŒจํ‚ค์ง€ ์„ค์น˜์—์„œ ๊ฐ•์ œ๋กœ ์ค‘์•™ ์ง‘์ค‘ํ™”ํ•˜๋„๋ก ๋ช…๋ นํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

  • tsd ์—†์Œ
  • ํƒ€์ดํ•‘ ์—†์Œ
  • ๋…ธ๋ ฅ์˜ ๋ณต์ œ ์—†์Œ
  • ๋ฐ˜๋ณต ์˜์กด์„ฑ ๋ฐœ์ž๊ตญ์ด ์—†์Šต๋‹ˆ๋‹ค ...

JSPM์€ ๋†€๋ž๊ฒŒ๋„ ์ ์ ˆํ•œ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

NPM์€ ์ด๋ฏธ ์ด๋ฅผ ์ง€์›ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”ผํŒ…์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ์‹œ์ ์ธ ์ข…์†์„ฑ์˜ ์˜ํ–ฅ์„ ์ด๋ก ํ™”ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ €๋Š” ์ œ ์•„์ด๋ฅผ ์–ด๋ฆฐ์ด์ง‘์— ๋ณด๋‚ด์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋ฆฐ์ด์ง‘์€ ๊ทธ ์ผ์„ ๋‹ค๋ฅธ ๊ณณ์˜ ๋‹ค๋ฅธ ์–ด๋ฆฐ์ด์ง‘์— ๋งก๊น๋‹ˆ๋‹ค... ๊ฒฐ๊ตญ์—๋Š” ์—ฐ๊ฒฐ์ด ๋Š์–ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค... ์ƒํƒœ๊ณ„๋ฅผ ๋กœ๋ฐํ•˜๋Š” ์ผ์‹œ์ ์ธ ์ข…์†์„ฑ์€ ๋งํ•  ๊ฒƒ๋„ ์—†๊ณ ์š”.

@nhhockeyplayer ์ด์ƒ์ ์œผ๋กœ๋Š” ๊ทธ๋Ÿด ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ์ž‘์„ฑ์ž๊ฐ€ ์œ ํ˜• ์ •์˜๋ฅผ ํฌํ•จํ•˜๊ณ  ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ๋œ

Angular 2์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ng2 ๋ชจ๋“ˆ์— ์œ ํ˜• ์ •์˜๊ฐ€ ํฌํ•จ๋  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—๋Š” ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ƒํƒœ๊ณ„์˜ ๋ชจ๋“  ๋ชจ๋“ˆ์— ์œ ํ˜• ์ •์˜(์ด์ƒ์ ์ธ ๊ฒฝ์šฐ)๊ฐ€ ํฌํ•จ๋˜๋„๋ก ํ•จ์œผ๋กœ์จ ๋” ๋งŽ์€ ํ˜œํƒ์„ ๋ฐ›์„ ์ปค๋ฎค๋‹ˆํ‹ฐ(ng2)๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@blakeembrey ์ด ๋ฌธ์ œ๋ฅผ npm์— ์—†๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„์ฐจ๋ ธ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŒจํ‚ค์ง€๊ฐ€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ดˆ๊ธฐ ์ง€์‹ ์—†์ด ์‚ฌ๋žŒ๋“ค์ด ์—ฌ์ „ํžˆ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NPM์„ ์„ค์น˜ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋‚˜์˜ต๋‹ˆ๋‹ค.

ํŽธ์ง‘: ํ•˜์ง€๋งŒ ํ™•์ธํ•˜๊ณ  ์ƒˆ ๋ฒ„์ „์„ ์ถœ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฟจ, ๊ทธ๋Ÿผ ๊ดœ์ฐฎ์•„ ๐Ÿ‘

npm ํŽ˜์ด์ง€์— ์‚ฌ์šฉ ์ค‘๋‹จ ์•Œ๋ฆผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๋ฐ˜ํ™˜์ž๊ฐ€ ํƒ€์ดํ•‘์— ๋Œ€ํ•ด ๋” ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

typings ์˜ ์™„์ „ํ•˜๊ณ  ์™„์„ฑ๋œ ๋ฒ„์ „์„ ๋จผ์ € ๋ฐฐ์†กํ•œ ๋‹ค์Œ tsd ๋ฅผ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ˜„์žฌ typings ๋Š” ์—ฌ๋Ÿฌ repos IMO์™€ ํ•จ๊ป˜ ์ด ํ˜ผ๋ž€์„ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๊ณ  ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜ 

์ด ๋ฌธ์ œ ํŽ˜์ด์ง€์—๋Š” tsd๊ฐ€ ๋” ์ด์ƒ jquery ๋˜๋Š” react์™€ ๊ฐ™์€ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ์ง€์ ํ•˜๋ฉด์„œ ๋ช‡ ๋‹ฌ ์ „์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋Š” 4๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ์ค‘๋‹จํ•˜๊ฑฐ๋‚˜ ์ค‘๋‹จํ•˜๋Š” ๊ฒƒ์ด ํ•œ ๊ฐ€์ง€์ด์ง€๋งŒ tsd๊ฐ€ ์‹ค์ œ๋กœ ์ข…๋ฃŒ(?)๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ tsd๊ฐ€ ์ž๋™ํ™”๋œ ๋ฐฐํฌ์˜ ์ผ๋ถ€๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ์ผ์ข…์˜ ๋„๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ํŠนํžˆ ๋ช…์‹œ์ ์ธ ๊ณต์ง€ ์„œ๋น„์Šค๊ฐ€ ์™„์ „ํžˆ ์ค‘๋‹จ๋œ ๊ฒƒ ๊ฐ™์ง€ ์•Š์€ ๊ฒฝ์šฐ์— ์‹ค์ œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ž๋™ํ™”๋œ ๋ฐฐํฌ๊ฐ€ ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” tsd๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›น ์„œ๋น„์Šค๊ฐ€ ์Šค์Šค๋กœ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ 1๋…„ ๋„˜๊ฒŒ ์„ค์น˜ ์‹œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. TSD๋Š” GitHub๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์ „ํžˆ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ํ™•์‹คํžˆ ์œ ํ˜• ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. TSD ์•„ํ‚คํ…์ฒ˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์œผ๋ฉฐ NPM @types ์„ ์ง€์›ํ•˜๊ธฐ๋กœ ํ•œ TypeScript์˜ ๊ฒฐ์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค.

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