Firebase-tools: ํ•จ์ˆ˜๋Š” ์ƒ์œ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ node_modules ํด๋”๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์˜ค๋ฅ˜๋งŒ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 19์ผ  ยท  21์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: firebase/firebase-tools

๋ฒ„์ „ ์ •๋ณด

ํŒŒ์ด์–ด๋ฒ ์ด์Šค: 3.18.4
๋…ธ๋“œ: 8.10.0
npm: 5.6.0

ํ”Œ๋žซํผ ์ •๋ณด

์ฐฝ

์žฌํ˜„ ๋‹จ๊ณ„

firebase deploy --only functions

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

Firebase ํด๋ผ์šฐ๋“œ ๊ธฐ๋Šฅ์ด ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ–‰๋™

ํด๋ผ์šฐ๋“œ ํ•จ์ˆ˜ ๋นŒ๋“œ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฃจํŠธ ์ˆ˜์ค€์—์„œ node_modules ํด๋”๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. @types/d3 ๋ฐ @types/googlemaps ๋Š” ๋‚ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ package.json ํŒŒ์ผ์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋‚ด ํ•จ์ˆ˜ package.json ํŒŒ์ผ์—๋Š” ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

```PS [PATH ON LOCAL MACHINE]> Firebase ๋ฐฐํฌ --only ๊ธฐ๋Šฅ

=== 'PROJECT_NAME'์— ๋ฐฐํฌ ์ค‘...

๋‚˜๋Š” ๊ธฐ๋Šฅ์„ ๋ฐฐํฌ
์‹คํ–‰ ๋ช…๋ น: npm --prefix "$RESOURCE_DIR" run lint

functions@ lint [๋กœ์ปฌ ๋จธ์‹ ์˜ ๊ฒฝ๋กœ]\functions
tslint --ํ”„๋กœ์ ํŠธ tsconfig.json

์‹คํ–‰ ๋ช…๋ น: npm --prefix "$RESOURCE_DIR" ๋นŒ๋“œ ์‹คํ–‰

functions@ build [๋กœ์ปฌ ๋จธ์‹ ์˜ ๊ฒฝ๋กœ]\functions
tsc

../node_modules/@types/d3-axis/index.d.ts(50,36): ์˜ค๋ฅ˜ TS2304: 'SVGSVGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-axis/index.d.ts(50,52): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(32,23): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(39,27): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(50,27): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(63,27): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(63,77): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(70,27): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(81,32): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(94,32): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(94,72): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(98,23): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(121,28): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(126,23): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(138,30): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(164,36): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(191,45): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-brush/index.d.ts(223,38): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-chord/index.d.ts(360,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-chord/index.d.ts(368,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-dispatch/index.d.ts(8,37): ์˜ค๋ฅ˜ TS2304: 'EventTarget' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-dispatch/index.d.ts(18,36): ์˜ค๋ฅ˜ TS2304: 'EventTarget' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-drag/index.d.ts(19,38): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-drag/index.d.ts(24,36): ์˜ค๋ฅ˜ TS2304: 'HTMLElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-drag/index.d.ts(24,50): ์˜ค๋ฅ˜ TS2304: 'SVGSVGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-drag/index.d.ts(24,66): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-drag/index.d.ts(390,37): ์˜ค๋ฅ˜ TS2304: '์ฐฝ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-drag/index.d.ts(402,36): ์˜ค๋ฅ˜ TS2304: '์ฐฝ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(18,42): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(18,64): ์˜ค๋ฅ˜ TS2304: 'Blob' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(27,44): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(41,12): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(82,11): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(100,12): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(145,11): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(157,42): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(157,64): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(167,74): ์˜ค๋ฅ˜ TS2304: 'HTMLImageElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(179,72): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(189,41): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(189,63): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(199,42): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(212,12): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(254,11): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(266,41): ์˜ค๋ฅ˜ TS2304: 'RequestInit' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-fetch/index.d.ts(266,63): ์˜ค๋ฅ˜ TS2304: 'XMLDocument' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(17,24): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(17,49): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(17,60): ์˜ค๋ฅ˜ TS2304: '์ฐฝ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(34,20): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(36,27): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(36,34): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(37,28): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(37,44): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(37,51): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(38,39): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(39,42): ์˜ค๋ฅ˜ TS2304: 'NodeListOf' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(39,53): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(45,32): ์˜ค๋ฅ˜ TS2304: 'HTMLElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(45,46): ์˜ค๋ฅ˜ TS2304: 'SVGSVGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(45,62): ์˜ค๋ฅ˜ TS2304: 'SVGGElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(110,110): ์˜ค๋ฅ˜ TS2304: 'HTMLElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(142,113): ์˜ค๋ฅ˜ TS2304: 'HTMLElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(873,43): ์˜ค๋ฅ˜ TS2304: 'HTMLElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(977,61): ์˜ค๋ฅ˜ TS2304: 'TouchList' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(989,64): ์˜ค๋ฅ˜ TS2304: 'TouchList' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1013,29): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1025,15): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1033,18): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1040,15): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1040,35): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1108,33): ์˜ค๋ฅ˜ TS2304: '์ฐฝ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1108,42): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1108,53): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1108,63): ์˜ค๋ฅ˜ TS2304: '์ฐฝ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1122,44): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1133,45): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1154,46): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1163,49): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-selection/index.d.ts(1163,97): ์˜ค๋ฅ˜ TS2304: 'NodeListOf' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(304,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(312,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(757,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(765,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(935,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(943,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(1230,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(1238,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(1536,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(1544,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(1650,15): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(1686,15): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(2016,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(2024,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(2196,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(2204,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(2273,19): ์˜ค๋ฅ˜ TS2304: 'CanvasPathMethods' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(2358,16): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-shape/index.d.ts(2366,22): ์˜ค๋ฅ˜ TS2304: 'CanvasRenderingContext2D' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-transition/index.d.ts(572,65): ์˜ค๋ฅ˜ TS2304: 'HTMLElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-transition/index.d.ts(583,104): ์˜ค๋ฅ˜ TS2304: 'HTMLElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/d3-zoom/index.d.ts(20,37): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(33,29): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(37,19): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(54,28): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(788,30): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(799,36): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(812,26): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1136,20): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1137,22): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1138,18): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1139,22): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1140,23): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1141,23): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1142,29): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1143,24): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1220,21): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1225,25): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1236,17): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1653,32): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1668,64): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1668,75): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1669,27): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1692,64): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1692,75): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1693,27): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1709,64): ์˜ค๋ฅ˜ TS2304: '๋ฌธ์„œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1709,75): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1710,27): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1941,32): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(1942,28): ์˜ค๋ฅ˜ TS2304: '๋…ธ๋“œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(2394,36): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(2398,29): ์˜ค๋ฅ˜ TS2304: '์š”์†Œ' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(2455,37): ์˜ค๋ฅ˜ TS2304: 'HTMLInputElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(2616,40): ์˜ค๋ฅ˜ TS2304: 'HTMLDivElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
../node_modules/@types/googlemaps/index.d.ts(2663,37): ์˜ค๋ฅ˜ TS2304: 'HTMLInputElement' ์ด๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
npm ์˜ค๋ฅ˜! ์ฝ”๋“œ ELIFECYCLE
npm ์˜ค๋ฅ˜! ์˜ค๋ฅ˜ ๋ฒˆํ˜ธ 2
npm ์˜ค๋ฅ˜! functions@ ๋นŒ๋“œ: tsc
npm ์˜ค๋ฅ˜! ์ข…๋ฃŒ ์ƒํƒœ 2
npm ์˜ค๋ฅ˜!
npm ์˜ค๋ฅ˜! functions@ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
npm ์˜ค๋ฅ˜! ์ด๊ฒƒ์€ ์•„๋งˆ๋„ npm์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„์˜ ์ถ”๊ฐ€ ๋กœ๊น… ์ถœ๋ ฅ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

npm ์˜ค๋ฅ˜! ์ด ์‹คํ–‰์˜ ์ „์ฒด ๋กœ๊ทธ๋Š” ๋‹ค์Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
npm ์˜ค๋ฅ˜! [๋กœ์ปฌ ๋จธ์‹ ์˜ ๊ฒฝ๋กœ]\AppData\Roaming\npm-cache_logs\2018-04-19T16_10_21_812Z-debug.log

์˜ค๋ฅ˜: ํ•จ์ˆ˜ ์‚ฌ์ „ ๋ฐฐํฌ ์˜ค๋ฅ˜: ๋ช…๋ น์ด 0์ด ์•„๋‹Œ ์ข…๋ฃŒ ์ฝ”๋“œ๋กœ ์ข…๋ฃŒ๋จ```

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

@laurenzlong ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๊ฒƒ์€ ๋‚ด๊ฐ€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ดํ•ด์•ผ โ€‹โ€‹ํ•  ์ผ์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ - functions/package.json ๋‚ด์—์„œ tsc ๋Œ€์‹  tsc --skipLibCheck ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•จ์ˆ˜ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ชจ๋“  ์„ ์–ธ ํŒŒ์ผ์˜ ์œ ํ˜• ๊ฒ€์‚ฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋„๋ก typescript ์ปดํŒŒ์ผ๋Ÿฌ์— ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.

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

ํ•จ์ˆ˜ ํด๋” ๋‚ด์—์„œ npm run build ๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค๋ฉด ์„ฑ๊ณตํ•ฉ๋‹ˆ๊นŒ?

ํ•จ์ˆ˜ ํด๋” ๋‚ด์—์„œ npm run build๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค๋ฉด ์„ฑ๊ณตํ•ฉ๋‹ˆ๊นŒ?

๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ TypeScript ์„ค์ • ๋˜๋Š” ์ฝ”๋“œ ๋‚ด์—์„œ ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. firebase-tools์˜ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

@laurenzlong ๋„ค , ์‹œ๊ฐ„์„ ๋‚ด์–ด ๋„์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Firebase ํด๋ผ์šฐ๋“œ ๊ธฐ๋Šฅ์ด ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํฌํ•จํ•˜๋Š” ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ๊ด€์‹ฌ์„ ๊ฐ–๋Š” ์ด์œ ๊ฐ€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ฐ›๋Š” ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๋ฐ๋ชจ ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. @types/googlemaps ์™€ ๊ฐ™์€ ์ผ๋ถ€ ์œ ํ˜• ์ •์˜๋ฅผ ํฌํ•จํ•  ๋•Œ๊นŒ์ง€ ํด๋ผ์šฐ๋“œ ํ•จ์ˆ˜๋Š” ์ž˜ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ๋ชจ์˜ ๋ฃจํŠธ ์ˆ˜์ค€์— ํฌํ•จ๋œ ๋ชจ๋“  ์œ ํ˜• ์ •์˜ ํŒจํ‚ค์ง€์— ๊ด€๊ณ„์—†์ด ํด๋ผ์šฐ๋“œ ๊ธฐ๋Šฅ์ด ๋นŒ๋“œ๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

"npm run build"๋Š” ์ผ๋ฐ˜ "tsc"๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Firebase ๋˜๋Š” Cloud Functions์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

@laurenzlong ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๊ฒƒ์€ ๋‚ด๊ฐ€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ดํ•ด์•ผ โ€‹โ€‹ํ•  ์ผ์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ - functions/package.json ๋‚ด์—์„œ tsc ๋Œ€์‹  tsc --skipLibCheck ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•จ์ˆ˜ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ชจ๋“  ์„ ์–ธ ํŒŒ์ผ์˜ ์œ ํ˜• ๊ฒ€์‚ฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋„๋ก typescript ์ปดํŒŒ์ผ๋Ÿฌ์— ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.

@dylanjmcdonald ๋˜๋Š” tsconfig.json ํŒŒ์ผ์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */

    "skipLibCheck": true,
    /* Strict Type-Checking Options */
    "strict": true,

๋จธ๋ฆฌํ•ด์ค˜์„œ ๊ณ ๋งˆ์›Œ, btw ๐Ÿ‘

ํ•˜์ง€๋งŒ ์„ ์–ธ ํ™•์ธ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ๋‚ด ํด๋ผ์šฐ๋“œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์—์„œ es2017์ธ Objects.entries()๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. tsconfig.json์— ์„ค์ •ํ–ˆ์ง€๋งŒ ๊ฑด๋„ˆ๋›ฐ๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
"์œ ํ˜•๋ฃจํŠธ": [
"./functions/node_modules/@types"
]
functions ํด๋”์˜ tsconfig.json์—

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ํ•จ์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™”๋  ๋•Œ ์ž๋™ ์ƒ์„ฑ๋œ ์œ ํ˜• ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ์— ์žˆ๋Š” ๊ฒƒ๊ณผ ๋˜‘๊ฐ™์€ ์ž๋™ ์ƒ์„ฑ ์ฝ”๋“œ ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

tsc๊ฐ€ ํ”„๋กœ์„ธ์Šค ํŠธ๋ฆฌ์—์„œ ์œ ํ˜•์„ ์ฐพ๊ณ  @types ํŒŒ์ผ์˜ ๋ชจ๋“  ๊ฒƒ์„ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๊ฒƒ์€ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๊ธฐ

์ด์— ๋Œ€ํ•œ ๊ฐ€์žฅ ์ •ํ™•ํ•œ ํ•ด๊ฒฐ์ฑ…์€ Gongevangen์ด ์ œ์•ˆํ•œ ๋Œ€๋กœ ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. "node_modules/@types"๋ฅผ typeRoots์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋ชจ๋“ˆ ํ™•์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํŠธ๋ฆฌ๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

@dylanjmcdonald ๋•๋ถ„์— ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€

@dylanjmcdonald tsc --skipLibCheck in ./functions/package.json ๊ฐ€) ์ €์—๊ฒŒ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‚˜๋Š” ์ถ”๊ฐ€ํ•˜์—ฌ ๊ณ ์ • "dom" ์— compilerOptions.lib ์—์„œ ./functions/tsconfig.json .

{
  "compilerOptions": {
    "lib": ["es6", "dom"],
    "module": "commonjs",
    "noImplicitReturns": true,
    "outDir": "lib",
    "sourceMap": true,
    "target": "es6"
  },
  "compileOnSave": true,
  "include": [
    "src"
  ]
}

์ด๊ฒƒ๋„ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. @yamitzky ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ํ•จ์ˆ˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๋‚ด๊ฐ€ ๋ณธ Google ๊ฐœ๋ฐœ์ž์˜ ์ฝ”๋“œ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
{ "compilerOptions": { "lib": ["es6"], "module": "commonjs", "noImplicitReturns": true, "outDir": "lib", "sourceMap": true, "target": "es6", "skipLibCheck": true, "typeRoots": ["./functions/node_modules/@types"] }, "compileOnSave": true, "include": [ "src" ] }

์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ข‹์ง€๋งŒ ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜ ์ค‘ ํ•˜๋‚˜๋Š” ์‹ค์ œ๋กœ .tsconfig ์— ์˜ํ•ด ์ƒ์„ฑ๋œ firebase init .tsconfig ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด ์ˆ˜๋Š” ์žˆ์ง€๋งŒ dom ์„ ํ…œํ”Œ๋ฆฟ tsconfig.json ์˜ lib ์†์„ฑ์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ๋ง์”€๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œํ•œ์˜ ์˜๋ฏธ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์œผ๋กœ dom ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ƒ๊ฐ์ด ๋“ ๋‹ค๋ฉด ํ…œํ”Œ๋ฆฟ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์—ฌ์‹ญ์‹œ์˜ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ํ•  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ์„ ์ƒ๋‹˜

.ts ํŒŒ์ผ์ด lib์˜ .js์™€ ์ด๋ฆ„์ด ๊ฐ™์€์ง€ ํ™•์ธํ•˜๊ณ  package.json์—๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

@gongevangen ์˜ ์†”๋ฃจ์…˜์ด ์ž‘๋™ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด "typeRoots" ํ‚ค๋ฅผ "compilerOptions" ์•ˆ์— ๋ฐฐ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
    "typeRoots": [
      "./functions/node_modules/@types"
    ],
  },
  "compileOnSave": true,
  "include": [
    "src"
  ],
}

์ด๊ฒƒ์ด ์ƒ์šฉ๊ตฌ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š” ์ด์œ  ๋˜๋Š” Firebase tut์˜ ์–ด๋””์—๋„ ์–ธ๊ธ‰๋˜์ง€ ์•Š์€ ์ด์œ ์— ๋Œ€ํ•ด ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” @evanb2์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค - ์ด๊ฒƒ์€ ๋‹จ์ง€ ํ•œ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜์—ˆ์Šต๋‹ˆ๋‹ค! Firebase ์ดˆ๊ธฐํ™”์— ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ https://firebase.google.com/docs/functions/typescript ์—์„œ ์ตœ์†Œํ•œ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์‹ ์˜ ์ถ•๋ณต์ด ์žˆ๊ธฐ๋ฅผ Evanb2! :)

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