Установка
Требования
Node.js 20+. Нативная библиотека изображений sharp идёт вместе с пакетом: npm ставит готовый бинарник для вашей платформы одновременно с ним, так что ничего больше настраивать не нужно (редкий случай, когда его нет, описан в Хешах изображений). Внешние инструменты в PATH не нужны.
Установка
npm install -g @macrulez/mediatoolzПосле этого команда mediatoolz доступна из любой папки. Или запустите без установки:
npx @macrulez/mediatoolz image-batch ./photos -r -o ./out -f webpБыстрый старт
mediatoolz image-hash public/img -r --per-file # плейсхолдеры hazehash/blurhash/thumbhash для каждого изображения
mediatoolz image-batch src/img -r -o public/img -w 400,800,1200 -f avif,webp # адаптивные размеры и форматы в другую папку
mediatoolz image-batch photos -r -o out -f webp # только сменить формат, размер остаётся
mediatoolz image-batch assets -r --replace -w 1600 --dry-run # предпросмотр уменьшения оригиналов на месте (бэкап + restore)
mediatoolz ui # веб-интерфейс для обеих командmediatoolz --help перечисляет обе команды с их собственными флагами; mediatoolz <команда> --help показывает полный список флагов одной команды со значениями по умолчанию.
Переход с DevToolz
image-hash и image-batch жили в DevToolz до версии 0.4.3. В DevToolz 0.5.0 обе команды только печатают, куда они переехали, и завершаются с кодом 2, так что скрипт, который всё ещё вызывает devtoolz image-batch …, падает громко, а не молча ничего не делает. Чтобы перейти:
- Используйте
mediatoolz image-batch …иmediatoolz image-hash …с теми же флагами. - Перенесите папки с конфигурациями и пресетами резкости:
.devtoolz/image-batch/становится.mediatoolz/image-batch/, и в проекте, и в домашней папке. - Бэкапы, сделанные
--replace(.image-batch-backup/), сохраняют имя и восстанавливаются черезmediatoolz image-batch restore. sharpтеперь идёт вместе с mediatoolz, так что управляемая копия в~/.devtoolz/depsне используется и её можно удалить. Файл кэшаimage-hashпо умолчанию —.mediatoolz-image-hash-cache.json.- Веб-интерфейс —
mediatoolz ui; вdevtoolz uiостались только проверки кода и очистка.