Definitelytyped: ํ™•์‹คํžˆ ์œ ํ˜•์ด ์ง€์ •๋œ ํŒจํ‚ค์ง€์—์„œ ๋ฒ„์ „์˜ ์˜๋ฏธ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

ํ™•์‹คํžˆ ํ˜•์‹์ด ์ง€์ •๋œ ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „์€ ์‹ค์ œ ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด ๋ฌธ์ œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ˜„์žฌ lodash ์˜ ์ตœ์‹  ๋ฒ„์ „์€ '4.17.2 and the latest version of @types/lodash is 4.14.43 . This probably means that the typings are for lodash์ž…๋‹ˆ๋‹ค. -v4.14.43`. ๊ทธ๋ž˜์„œ ํƒ€์ดํ•‘ ํŒจํ‚ค์ง€๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ  ํ•  ๋•Œ ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด๊ฒƒ์€ ์‹ค์ œ ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€์ด๊ธฐ ๋•Œ๋ฌธ์— ํƒ€์ดํ•‘ ํŒจํ‚ค์ง€๋ฅผ ์ฆ๊ฐ€์‹œํ‚ฌ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ npm ํŒจํ‚ค์ง€ ์„ค์น˜๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํŒจํ‚ค์ง€์˜ ์ •ํ™•ํ•œ ๋ฒ„์ „์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ํƒ€์ดํ•‘ ํŒจํ‚ค์ง€๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:

๋กœ๋“œ์‹œ ๋ฒ„์ „: 4.14.43

@types/lodash ๋ฒ„์ „: 4.1.1

๊ทธ๋Ÿฌ๋‚˜ .d.ts ํŒŒ์ผ์—์„œ ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ lodash ํŒจํ‚ค์ง€ ๋ฒ„์ „์„ ๋ช…์‹œ์ ์œผ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด์ „ ๋ฒ„์ „์˜ lodash์— ๋Œ€ํ•ด @types/lodash-3 ๋“ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋ฒ„์ „ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์ •์ฑ…์€ ์ฒ˜์Œ ๋‘ ๋ฒˆํ˜ธ๋ฅผ ์ผ๋ ฌ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. @types/lodash๊ฐ€ 4.14.x์— ์žˆ๋‹ค๋Š” ๊ฒƒ์€ lodash 4.14 ์ด์ƒ์—์„œ ์ž‘๋™ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋Š” ํŒจํ‚ค์ง€ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

DT๊ฐ€ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ง€์›๋œ๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฐธ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. lodash๋Š” ์œ ํ˜• ๊ด€๋ จ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒƒ์„ ๋„์ž…ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  2. lodash๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋„์ž…ํ–ˆ์ง€๋งŒ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋ˆ„๊ตฌ๋„ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ•„์š”๋กœ ํ•˜๊ฑฐ๋‚˜ ์›ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  3. lodash๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋„์ž…ํ–ˆ์ง€๋งŒ ์œ ํ˜•์„ ์•ฝ๊ฐ„ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ์œ ์ง€ํ•˜๋ ค๋Š” ์š•๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์˜ # 2๋ฅผ ์ถ”์ธก ํ•  ๊ฒƒ์ด๋‹ค.

@types/lodash-3์— ๊ด€ํ•ด์„œ๋Š” ๋ชจ๋“ˆ์ด ํ•ด๊ฒฐ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๋‹น ์œ ํ˜•์„ ์„ ํƒํ•˜๋ ค๋ฉด import * as _ from "lodash-3" ์™€ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๋ฒ„์ „ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์ •์ฑ…์€ ์ฒ˜์Œ ๋‘ ๋ฒˆํ˜ธ๋ฅผ ์ผ๋ ฌ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. @types/lodash๊ฐ€ 4.14.x์— ์žˆ๋‹ค๋Š” ๊ฒƒ์€ lodash 4.14 ์ด์ƒ์—์„œ ์ž‘๋™ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋Š” ํŒจํ‚ค์ง€ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

DT๊ฐ€ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ง€์›๋œ๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฐธ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. lodash๋Š” ์œ ํ˜• ๊ด€๋ จ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒƒ์„ ๋„์ž…ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  2. lodash๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋„์ž…ํ–ˆ์ง€๋งŒ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋ˆ„๊ตฌ๋„ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ•„์š”๋กœ ํ•˜๊ฑฐ๋‚˜ ์›ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  3. lodash๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋„์ž…ํ–ˆ์ง€๋งŒ ์œ ํ˜•์„ ์•ฝ๊ฐ„ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ์œ ์ง€ํ•˜๋ ค๋Š” ์š•๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์˜ # 2๋ฅผ ์ถ”์ธก ํ•  ๊ฒƒ์ด๋‹ค.

@types/lodash-3์— ๊ด€ํ•ด์„œ๋Š” ๋ชจ๋“ˆ์ด ํ•ด๊ฒฐ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๋‹น ์œ ํ˜•์„ ์„ ํƒํ•˜๋ ค๋ฉด import * as _ from "lodash-3" ์™€ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ์— lodash ํƒ€์ดํ•‘์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋กœ ์ธํ•ด ๋‚ด ์ฝ”๋“œ๊ฐ€ ์†์ƒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์งˆ๋ฌธ์ด ๋– ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค(https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c). ๋ถ„๋ช…ํžˆ ์šฐ๋ฆฌ๋Š” lodash ์œ ํ˜•์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ๋งฅ์ƒ, ์ด ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ ๋Š” ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์–ด๋Š ์ •๋„ ๋™๊ธฐํ™”๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ ค๋Š” ์ •์ฑ… ๋’ค์—๋Š” ์ผ๋ถ€ ํŒจํ‚ค์ง€๋งŒ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

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