Для всех разработчиков, которые хотят использовать TypeScript с “strict: true”

Привет, я создал инструмент cli, который автоматически добавляет @ts-expect-error в код с ошибками типов TypeScript.

В этой статье я объясню, как использовать этот инструмент.

https://www.npmjs.com/package/suppress-ts-errors

Как использовать

Просто запустите команду в проекте с tsconfig.json.
Если вы используете свободную проверку типов, отредактируйте tsconfig.json, чтобы ужесточить проверку типов (например, strict: true).

$ npx suppress-ts-errors
Вход в полноэкранный режим Выйти из полноэкранного режима

Это добавит комментарий @ts-expect-errors к тому месту в проекте TypeScript, где есть ошибки типов, и подавит появление ошибок типов.

Конечно, код tsx будет добавлен в формате комментария, соответствующем формату tsx.

Кроме того, подкоманда vue может быть использована для выделения ошибок типа в части SFC Vue.

$ npx suppress-ts-errors vue "./src/**/*.vue"

Эта опция также допускает гибкие настройки.

опция по умолчанию описание
-t, –tsconfig-path ./tsconfig.json Путь к файлу tsconfig.json.
-c, –comment-type 1 Выбор типа вставляемого комментария.
1 – @ts-expect-error, 2 – @ts-ignore.
-e, –error-code true Добавить код ошибки к комментарию. Например, TS2345.

Зачем мне это нужно

В настоящее время я работаю над проектом, где проверка типов не была ужесточена (нельзя установить strict: true), и я хотел бы улучшить ситуацию.

Вообще, я думаю, что нужно “исправить все существующие ошибки типов, а затем сделать проверку типов более строгой”, но мой текущий проект был изначально написан на JavaScript, а затем перенесен на TypeScript, поэтому существующих ошибок было слишком много, и потребовалось бы много человеко-часов, чтобы устранить их все。

В то же время новые функции быстро разрабатывались, и было легко создать новый код, содержащий ошибки типов. Чтобы решить эту проблему, мы хотели сначала ужесточить проверку типов, чтобы вновь добавляемый код был защищен от ошибок типов, а затем безопасно начать модификацию существующего кода в таком состоянии.
Для этого нам нужно было добавить комментарий (@ts-expect-error или @ts-ignore) ко всем существующим ошибкам типа, чтобы аннулировать их, и мы разработали этот инструмент CLI для автоматизации этого процесса.

Используемые технологии

  • TypeScript
  • ts-morph
  • vitest

Весь код доступен на GitHub.

https://github.com/kawamataryo/suppress-ts-errors

Вот и все!

Тогда заканчивайте!

Спасибо, что прочитали.
Пожалуйста, отправьте мне сообщение, если вам нужно.

https://github.com/kawamataryo/suppress-ts-errors

Оцените статью
Procodings.ru
Добавить комментарий