Опция -s
заставляет yarn
ничего не выводить на стандартный вывод, т.е.
--
происходит от соглашений о полезности posix и очень распространено среди инструментов командной строки linux:
Guideline 10:
The first -- argument that is not an option-argument should be accepted as a delimiter indicating the end of options. Any following arguments should be treated as operands, even if they begin with the '-' character.
Итак:
> printf "%s" -n
-n
Все в порядке, будет напечатано -n
.Но:
> printf -n
bash: printf: -n: invalid option
printf: usage: printf [-v var] format [arguments]
Чтобы разрешить прохождение -n
, т.е.Опция, начинающаяся с начального -
в качестве первого аргумента для printf, можно использовать --
:
> printf -- -n
-n
Так:
alias yas="yarn run start -s";
yas -package
выбрасывает неизвестную опцию по пряже, так какон попытается проанализировать -p
в качестве опции.Выполнение:
alias yas="yarn run start -s --";
yas -package
сгенерирует неизвестный пакет на yarn
, так как нет пакета с именем -package
.Используя --
, автор фактически блокирует передачу пользователем (самим) каких-либо дополнительных параметров пряжи, поскольку все последующие аргументы будут интерпретироваться только как имена пакетов.