Очистка node_modules от устаревших полифилов
Даже если вы используете Current или LTS версию Node.js, многие популярные пакеты по-прежнему тянут за собой устаревшие полифилы — вплоть до Node.js 4. Они часто попадают в проект как зависимости — например, eslint-plugin-import
, eslint-plugin-jsx-a11y
, eslint-plugin-react
. Это увеличивает размер node_modules, замедляет установку и даже выполнение кода. Всё потому, что некоторые из этих полифилов используются вместо нативных API, даже если они уже доступны в среде выполнения, что снижает производительность, хотя в этом нет нужды.
nolyfill — это CLI-инструмент, который автоматически находит и заменяет устаревшие полифилы на безопасные заглушки.
⚠️ Он вам не подойдет, если ваш проект запускается на версии Node.js ниже 12.4.0 или вы разрабатываете под среду, которая не поддерживает ECMAScript2019.
Использование:
npx nolyfill // Найдёт полифилы в текущем проекте
npx nolyfill install // Заменит их на заглушки
Если вы часто меняете зависимости, чтобы не забывать запускать nolyfill
— добавьте вызов в postinstall
:
// package.json
{
"scripts": {
"postinstall": "npx nolyfill"
}
}
Современный стек требует современных решений. nolyfill
— это простой способ освободить проект от наследия старых зависимостей и сделать шаг к современному, быстрому и чистому JavaScript.