Эта проблема
Недавно у меня возникла потребность в программном и рекурсивном обходе всех *.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 г.