Typescript 라이브러리를 사용하다 보면 아주 가끔 다음과 같은 상황을 마주하게 된다.
이런 경우, 어떻게 어떻게 해야 될까?
물론, 해당 라이브러리 소스 코드를 수정/추가 하여 PR를 요청할 수는 있다.
여기서 알아 볼 방법은 type을 수정/추가 하는 방법이다.
foo 라이브러리의 type이 다음과 같이 정의되어 있다고 가정하자.
export interface Bar {
someProperty: any;
doSomething(doWhat: any): any;
...
}
다음 위치에 index.d.ts를 추가한다.
src/typings/foo-extension
------------------------------------------------------------------------------ index.d.ts ------------------------------------------------------------------------------ import 'foo'; declare module 'foo' { export interface bar { doSomethingExtended(doWhat: any): any; } export interface barExtension { someProperty: any; doSomethingSpecial(doWhat: any): any; } }
type 사용을 위해 tsconf.json을 수정해야 한다.
------------------------------------------------------------------------------ tsconfig.json ------------------------------------------------------------------------------ { "compilerOptions": { ... "typeRoots": [ ... "src/typings" ] }, "include": [ ... "src/typings/*" ], ... }
출처: stack-overflow