Анализ размера npm пакета.
Решил по аналогии с lodash посмотреть на импорты из ramda и наткунлся на сайт анализа npm пакетов bundlephobia:
- Показывает общий размер пакета
- Показывает tree-shakeable
Начиная с версии 25 у ramda
с импортами проблем нет, на bundlephobia можно посмотреть подробнее.
import { path, has } from 'ramda'; // 1.7 kb
cli
Еще есть инструмент командной строки cost-of-modules, который показывает общий размер зависимостей из package.json
npx cost-of-modules --no-install --less
┌───────────────────────────┬─────────────┬────────┐
│ name │ children │ size │
├───────────────────────────┼─────────────┼────────┤
│ @angular/compiler │ 1 │ 26.88M │
├───────────────────────────┼─────────────┼────────┤
│ @angular/core │ 1 │ 24.77M │
├───────────────────────────┼─────────────┼────────┤
│ @angular/common │ 1 │ 13.81M │
├───────────────────────────┼─────────────┼────────┤
│ rxjs │ 1 │ 4.88M │
├───────────────────────────┼─────────────┼────────┤
│ @angular/animations │ 1 │ 4.52M │
├───────────────────────────┼─────────────┼────────┤
│ @angular/router │ 1 │ 4.51M │
├───────────────────────────┼─────────────┼────────┤
│ angular-cli-ghpages │ 55 │ 4.06M │
├───────────────────────────┼─────────────┼────────┤
│ @angular/forms │ 1 │ 4.06M │
├───────────────────────────┼─────────────┼────────┤
│ @ngx-prism/core │ 1 │ 2.68M │
├───────────────────────────┼─────────────┼────────┤
│ @angular/platform-browser │ 1 │ 2.61M │
├───────────────────────────┼─────────────┼────────┤
│ + 7 modules │ │ │
├───────────────────────────┼─────────────┼────────┤
│ 17 modules │ 48 children │ 98.46M │
└───────────────────────────┴─────────────┴────────┘
PS
Расширения VS Code:
Import Cost
Показывает размер импортируемого пакетаDepcheck
Выделяет вpackage.json
файле неиспользуемые зависимости.Version Lens
Показывает информацию о версии пакета