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
:+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 ํจํค์ง ์ค์น์์ ๊ฐ์ ๋ก ์ค์ ์ง์คํํ๋๋ก ๋ช ๋ นํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด์ง ์์ต๋๊น?
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์ ๊ฒฐ์ ์ด์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
:+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
๋ช ๋ น