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 = 1
Usuń 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.