
Я уже довольно давно использую coffee-консоль как калькулятор. Удобно!
И вот недавно задумался — почему бы не попробовать написать CLI-скрипт на CoffeeScript от начала и до конца? И написал!
Для теста взял свою задачку с пакетным ресайзом картинок. В общем-то есть скрит на bash, но он ужасен и загадочен.
Мне же захотелось сделать приличную утилиту, с хелпом, ключами запуска, красивым выводом инфы и все такое.
На проверку оказалось, что писать на CS для консоли ничуть не сложнее, чем на том же Perl или Ruby, а то и проще:
- есть куча модулей на все случаи жизни, которые делают свою работу хорошо
- есть npm, который позволяет автоматизировать процесс развертывания и разрешает все зависимости с такой легкостью, что просто дух захватывает
- есть асинхронность работы «искаропки»
Примерный вид того, что получилось — на скрине.
Посмотреть код можно в репозитарии на Github.
Установить можно так:
сначала ставим бинарный ImageMagick, откуда там он у вас ставится, если еще нет.
потом делаем
npm install image-batch-resizer -g
И все. Можно пробовать
$ image-batch-resizer -d ./image_dir
Быстро, удобно, юзабельно.
С читаемыми исходниками.
PS.
Написал важное и забыл, как обычно, выделить главное.
Суть поста не в том, что можно написать скрипт ресайза.
Суть в том — что на CoffeeScript можно и нужно(потому что удобно) писать что угодно, это не какая-то там «поделица-игрушка». Весть стек технологий node позволяет решать любые проблемы, он так же хорош, как и любой другой на основе современных языков высокого уровня.
Да, он необычен, но так же серьезен, как и Perl, Ruby или что вам там больше нравится.