Skip to content

Добавить в дефолтную конфигурацию линтера сжатие картинок #67

Open
Heymdall opened this issue Jun 22, 2020 · 6 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@Heymdall
Copy link
Member

Сейчас нет никакого централизированного решения по сжатию картинок.
Хорошим вариантом работы с ними будет добавление прекомит хука, который будет сжимать новые ассеты (svg, jpg, png).

Возможно подойдет решение вроде imagemin-lint-staged, хотя у меня возникли проблемы при установке его на ci (он требует каких то бинарных зависимостей).

Так же хотелось бы убрать необходимость потребителям ставить себе дополнительные пакеты руками, хочется чтобы все нужные зависимости прилетали из этого пакета.

@7rulnik
Copy link

7rulnik commented Jun 22, 2020

Почему здесь, а не скажем, в arui-scripts на этапе билда?

@Heymdall
Copy link
Member Author

Можно и так. Но мне концептуально кажется правильнее сжать один раз картинки и потом просто использовать сразу сжатые.

Но если вдруг все хуки окажутся слишком проблемными при добавлении - можно будет откатится и на вариант сжатия лоадером

@voronin-ivan
Copy link
Contributor

А как быть с svg? Редкий кейс, но все же: когда есть сложная svg, которую нужно обмазать, например, классами, для изменения при пользовательских действиях. Минифицированную иконку в самой репе иметь отстойно в таком случае

@7rulnik
Copy link

7rulnik commented Jun 29, 2020

Что мы хотим делать с картинками? Просто удалить мета информацию или ухудшить качество и менять размеры? webp?

@Heymdall
Copy link
Member Author

@7rulnik под сжатием подразумевается то, что делают всяческие optipng, svgo и прочие похожие пакеты. То есть по сути чистка метаданных и всяких там whitespace. Самое простецкое lossless сжатие которое только возможно. Сейчас это забывают сделать очень многие и просто берут svg из фигмы как есть.
@voronin-ivan обмазывание классами у нас мало где встречал, но вполне возможно это просто из-за специфики тех проектов с которыми сталкиваюсь.
Для таких вещей и правда такой вариант не подходит (разве что рассказывать про использование no-verify всем, но эт как то не оч)

@7rulnik
Copy link

7rulnik commented Jun 29, 2020

Мне кажется, что можно взять какой-нибудь жирненький проект и посмотреть на сколько лоадер влияет на время выполнения. Если незначительно, то оставить на уровне лоадера.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants