Как отключить интерактивное приглашение пряжи для обновления пряжи - PullRequest
0 голосов
/ 18 января 2019

Я добавляю команду обновления пряжи в файл bash. Я хочу запустить команду для обновления определенного пакета до определенной версии.

yarn upgrade mypackage@5.9.5

Но если конкретная версия не найдена в удаленном репозитории npm, в настоящий момент yarn открывает подсказку для выбора из доступных версий, как эта:

Couldn't find any versions for "mypackage" that matches "5.9.5"
Please choose a version of "mypackage" from this list: (Use arrow keys)

Это плохо работает в файле bash. Что мне нужно, так это простая ошибка, что пакет не найден, и выход с кодом выхода, отличным от 0.

Возможно ли это сделать? Есть ли опция в пряже, чтобы отключить этот интерактивный селектор, или, может быть, есть хитрость bash для отключения этого взаимодействия и превращения в простой код выхода?

1 Ответ

0 голосов
/ 22 января 2019

Используйте yarn upgrade с флагом --non-interactive. Вы получите ненулевой код выхода, если он потерпит неудачу

$ yarn upgrade webpack-merge@4.2.29 --non-interactive
yarn upgrade v1.13.0
[1/5] ?  Validating package.json...
[2/5] ?  Resolving packages...
error Couldn't find any versions for "webpack-merge" that matches "4.2.29"
info Visit https://yarnpkg.com/en/docs/cli/upgrade for documentation about this command.
$ echo $?
1
...