Эта проблема

Недавно у меня возникла потребность в программном и рекурсивном обходе всех *.ts файлов в данном проекте и удалении всех неиспользуемых импортов TypeScript. На момент написания этой статьи не было возможности сделать это в Visual Studio Code, не открывая каждый отдельный *.ts файл и не нажимая CTRL + Shift + O в Windows / Linux. После некоторого исследования и очень благодарной помощи коллег из Twitter я нашел решение, которое работает. Это должно работать для Angular, React, Vue.js или любого простого проекта TypeScript.

Решение

Мы будем использовать инструмент командной строки tslint в сочетании с правилами tslint-etc для автоматического рекурсивного обнаружения и удаления всех неиспользуемых импортов в каталоге. Если у вас большой проект, процесс может занять некоторое время. После завершения процесса исправления важно дважды проверить правильность всех файлов.

Установите необходимые инструменты

Установите следующие пакеты узлов, необходимые для работы этого процесса.

$ npm install -g typescript tslint tslint-etc

Создайте временный tslint файл конфигурации

Создайте новый файл с именем tslint-imports.json в корне вашего проекта. Это создает гиперфокусированный процесс tslint, который будет проверять только неиспользуемые объявления. Важно отметить, что это вызовет tslint ошибок для неиспользуемых операций импорта, параметров и переменных. Мы используем это только для --fix процесса. Таким образом, tslint-etc правила только автоматически исправляют неиспользуемый импорт.

Этому файлу необходимо следующее содержимое:

{
  "extends": [
    "tslint-etc"
  ],
  "rules": {
   "no-unused-declaration": true
  }
}

Запустите процесс автофиксации

Следующая команда выполнит рекурсивный обход всех *.ts файлов в проекте и удалит неиспользуемый импорт. Он автоматически сохраняет файлы на месте.

БУДЬТЕ ОСТОРОЖНЫ!

Этот процесс обратим только в том случае, если вы используете решение для управления версиями, такое как git или svn, где вы можете отменить изменения.

$ tslint --config tslint-imports.json --fix --project .

Дважды проверьте свои файлы

На этом этапе я настоятельно рекомендую вам дважды проверить свои файлы на правильность. Этот инструмент работал со всеми моими 195 *.ts файлами, кроме двух. Два компонента обновлены некорректно. Я смог обнаружить это, запустив ng build --prod, поскольку это было Angular приложение. Вы можете запустить руководство tslint --project ., если в вашем проекте не используются инструменты сборки.

Ресурсы

Первоначально опубликовано на сайте wesleygrimes.com 14 февраля 2019 г.