Defront — про фронтенд-разработку и не только
24.3K subscribers
21 photos
1.09K links
Ламповый канал про фронтенд и не только. Всё самое полезное для опытных web-разработчиков

Обсуждение постов @defrontchat

Также советую канал @webnya
Download Telegram
Вадим Демедес опубликовал небольшую статью про "Ink".

Ink - это разработанная Вадимом библиотека для написания интерактивных консольных интерфейсов с использованием React-компонентов. Ink поддерживает flexbox-лайаут с помощью yoga-layout. Вокруг библиотеки есть небольшая экосистема: можно найти готовые компоненты text-input, spinner, tab, select, gradient и другие.

Ребята из npm и jest выразили свою заинтересованность в проекте, и, возможно, они будут использовать его в будущем.

#library #react #cli

https://vadimdemedes.com/posts/building-rich-command-line-interfaces-with-ink-and-react
Крис Уэллонс написал статью про устоявшиеся подходы реализации опций CLI-утилит — "Conventions for Command Line Options".

В Unix-системах есть соглашения о том, как утилиты должны обрабатывать опции. Крис пишет про то, что их следует придерживаться, если нет веских причин, чтобы это не делать.

Если опции состоят из одной буквы, то они должны следовать за знаком минус ( -a -b -c ). Если опций много, то их можно объединить ( -abc ). Если у опции есть аргумент, то его можно передать после пробела или без него ( -ifile.txt и -i file.txt одно и то же).

Также в статье разбирается логика работы с длинными опциями (GNU-style). Они должны следовать за двумя знаками минус ( --option ). Слова в опциях отделяются минусом ( --long-option ). Аргументы можно передать после пробела ( --input file.txt`) или знака равенства ( `--input=file.txt ). Иногда у опций есть взаимоисключающий аналог, который начинается с --no ( --sort, --no-sort ).

В общем, очень хорошая статья. Рекомендую почитать всем.

#cli #ux

https://nullprogram.com/blog/2020/08/01/
Недавно вышла первая стабильная версия официального консольного клиента для GitHub. Аманда Пинскер в статье "GitHub CLI 1.0 is now available" рассказала про его основные возможности.

Консольный клиент позволяет вести полный цикл разработки фичи с использованием GitHub, не выходя из терминала. С его помощью можно найти нужный issue, создать пулл реквест, сделать ревью пулл реквеста, вывести текущий статус проверок, смержить пулл реквест, сделать релиз и многое другое. Можно создать gist прямо из консоли: echo hey | gh gist create. Благодаря интеграции с API можно автоматизировать практически любую задачу.

Возможно вы знакомы с похожей утилитой — hub. Её основного разработчика (Мислава Маронича) нанял GitHub для разработки с нуля нового клиента. Мислав больше не планирует развивать hub, так как проект стал очень затратен в поддержке. Изначальная идея того, что hub может быть враппером вокруг команд git, оказалась неудачной. Про это он написал пост в своём блоге.

#release #tool #github #cli

https://github.blog/2020-09-17-github-cli-1-0-is-now-available/
https://mislav.net/2020/01/github-cli/