ํ์ด์ด๋ฒ ์ด์ค: 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์ด ์๋ ์ข ๋ฃ ์ฝ๋๋ก ์ข ๋ฃ๋จ```
ํจ์ ํด๋ ๋ด์์ 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! :)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@laurenzlong ๋ค์ ํ๋ฒ ๊ฐ์ฌํฉ๋๋ค! ๊ทธ๊ฒ์ ๋ด๊ฐ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํดํด์ผ โโํ ์ผ์ ์ถ์ ํ๋ ๋ฐ ๋์์ด๋์์ต๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๋ค๋ฅธ ์ฌ๋์๊ฒ -
functions/package.json
๋ด์์tsc
๋์tsc --skipLibCheck
๋ฅผ ์ฌ์ฉํ๋๋ก ํจ์ ๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ ํ์ฌ ํจ์๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋น๋ํ ์ ์์์ต๋๋ค. ์ด๊ฒ์ ๋ชจ๋ ์ ์ธ ํ์ผ์ ์ ํ ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋ฐ๋๋ก typescript ์ปดํ์ผ๋ฌ์ ์ง์ํฉ๋๋ค.