TypeScript: Bir özel kütüphane için tür tanımlarını devre dışı bırakamıyor


TypeScript Sürümü: 2.4.1

Örneğin, npm'den awesome-lib adlı bir kütüphaneyi kullanmak istiyorum. Bu kütüphane zaten TypeScript tip tanımıyla birlikte geliyor ancak bu tanım güncel değil ve hatalı. Kütüphanenin yazarı bunu güncellemiyor.

Projemdeki kendi declarations.d.ts dosyamda o tür tanımını tamamen devre dışı bırakmayı denedim:

declare module 'awesome-lib';

Ne yazık ki TypeScript, kütüphanedeki ilk olarak tür tanımını okuyor ve bazı hatalar veriyor. Bu yüzden bu kütüphaneyi projeme devre dışı bırakmam/gizlemem mümkün değil.

Biri, tek özel bir kütüphane için tür denetimini nasıl devre dışı bırakacağını biliyor mu?

Cevap #1

Belki import yerine require kullanmayı deneyebilirsin:

/* tslint:disable:no-var-requires */
const awesomeLib: any = require("awesome-lib");
/* tslint:enable:no-var-requires */

Dezavantajı, tür denetimi ya da IntelliSense'in olmamasıdır.

Cevap #2

Gerçek bir çözüm olmayabilir, ama kütüphane terk edilmiş ve bozuksa, o kütüphaneyi çatallayabilir, tip tanımlarını değiştirebilir ve bunu projenizde kullanabilirsiniz.

İlgili makaleler