Вадим Демедес опубликовал небольшую статью про "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
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-системах есть соглашения о том, как утилиты должны обрабатывать опции. Крис пишет про то, что их следует придерживаться, если нет веских причин, чтобы это не делать.
Если опции состоят из одной буквы, то они должны следовать за знаком минус (
Также в статье разбирается логика работы с длинными опциями (GNU-style). Они должны следовать за двумя знаками минус (
В общем, очень хорошая статья. Рекомендую почитать всем.
#cli #ux
https://nullprogram.com/blog/2020/08/01/
В 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 прямо из консоли:
Возможно вы знакомы с похожей утилитой — 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/
Консольный клиент позволяет вести полный цикл разработки фичи с использованием 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/
The GitHub Blog
GitHub CLI 1.0 is now available
GitHub CLI brings GitHub to your terminal. It reduces context switching, helps you focus, and enables you to more easily script and create your own workflows. Earlier this year, we…