TS2578
Błąd, którego oczekiwałeś, zniknął
Unused '@ts-expect-error' directive.Własne słowa kompilatora. Nietłumaczone — to ten ciąg, który wkleiłeś w wyszukiwarkę.
Powiedziałeś kompilatorowi, że następny wiersz zawiedzie, a nie zawiódł. To dobra wiadomość zgłoszona jako błąd i dokładnie po to ta dyrektywa istnieje.
Odtworzenie
// @ts-expect-error const fine: number = 1
Build potwierdza, że to emituje dokładnie ten kod.
Dlaczego kompilator tak mówi
To cała różnica między @ts-expect-error a @ts-ignore. Oba tłumią następny wiersz, ale tylko jedno skarży się, gdy tłumienie przestaje być potrzebne. Baza kodu pełna @ts-ignore gromadzi ciszę, do której nikt nie wraca; baza używająca @ts-expect-error dowiaduje się w chwili, gdy obejście przeżyło błąd, który obchodziło.
Naprawy
- 01
const fine: number = 1Usuń dyrektywę. Problem, który zakrywała, został naprawiony — zwykle przez aktualizację zależności albo przez czyjeś ulepszenie typów wyżej.
- 02
// @ts-expect-error const broken: number = 'not a number'
Albo, jeśli dyrektywa przy edycji przywędrowała nie tam, wróć ją nad wiersz, który naprawdę zawodzi.
Wniosek
Wszędzie wybieraj @ts-expect-error zamiast @ts-ignore. To jedyne tłumienie, które wygasa samo.

