Вот некоторые методы, которые я использую, чтобы найти неиспользованный код для удаления, поэтому я сохраняю здоровье своих проектов.
Следующие модули могут найти неиспользованные файлы и Экспорт
заявления:
У всех них есть CLI, которые можно вызвать через npx
Анкет Они практически не требуют конфигурации. Они не зависят от каких -либо инструментов объединения, поэтому их можно использовать в большинстве проектов JS.
Я нахожу обнаружение надежным. В наихудшем сценарии бундлер может обнаружить, когда файл или экспорт отсутствуют во время сборки.
Следующие правила Eslint помогают мне найти неиспользованный код:
- https://eslint.org/docs/rules/no-constant-condition
- https://eslint.org/docs/rules/no-unused-vars
- https://eslint.org/docs/rules/no-unreachable
Это безопасно удалить все, что обнаружил Eslint. Конфигурация "Eslint: рекомендуется"
позволяет эти правила.
CSS
Для таблиц стилей я использую этот модуль, чтобы найти неиспользованные селекторы CSS:
Я предполагаю, что надежность зависит от аромата вашего кода. Я использовал его в проектах AngularJS и получил пару ложных срабатываний. Тем не менее, это помогает мне определить, какие области кодовой базы пренебрегали.
Основываясь на моем опыте и понимании Package-lock.json
Использование NPM V6 , воссоздание файла блокировки (без обязательно обновления package.json
) может привести к тому, что дерево зависимости проекта:
rm -rf node_modules package-lock.json npm install
Установка модулей, начиная с package.json
Получит вам наиболее обновленные зависимости (как прямые, так и переходные). Когда вы добавляете или обновляете модули проекта, транзитивные зависимости не всегда обновляются, поскольку они все еще могут удовлетворить новые ограничения. Таким образом, обновление всего может сделать пакеты, поскольку вероятность увеличения вероятности общих модулей.
Воссоздание фильма блокировки рискованно. Стоит просмотреть Diff, чтобы понять, какие пакеты изменились.
Оригинал: “https://dev.to/pioug/find-dead-code-in-javascript-css-projects-5f3l”