Заметки 259 ~ 1 мин.

Composer: Заставить установку пакета как require-dev

Composer: Заставить установку пакета как require-dev

Когда вышел Composer 2.4, там была добавлена одна интересная ​​функция, при которой команда composer require предлагает установить пакет с --dev флагом, если устанавливаемый пакет предназначен для использования в качестве инструмента разработчика.

При передаче флага --dev пакет устанавливается в раздел require-dev composer.json файла, а другие команды Composer (такие как composer update, install, dump-autoload и т. д.) могут при необходимости пропускать зависимости require-dev.

При попытке установить PHPUnit Composer автоматически предлагает установить его с флагом --dev.

Как это работает, Composer проверяет раздел keywords в файле composer.json и, если он содержит ключевые слова dev, testing, или static analysis, то Composer предлагает пользователю установить его с флагом --dev, если он не был передан.

В предложении указывается причина, по которой пакет был определен как зависимость от разработчика:

The package you required is recommended to be placed in require-dev (because it is tagged as "testing") but you did not use --dev.

Но стоит заметить, что данная функция не будет работать, если Composer запускается в неинтерактивной среде (например, при сборке CI или при передаче флага --no-interaction).

Как сделать флаг приглашения --dev Composer в ваших пакетах

Если вы публикуете пакет разработчика (например, инструменты тестирования, инструменты фиксации данных, инструменты отладки и т. д.), вы можете использовать эту функцию, чтобы Composer в интерактивном режиме предлагал пользователю установить их в разделе require-dev на случай, если пользователь забудет использовать флаг --dev.

Для этого добавьте одно из следующих ключевых слов в раздел keywords файла composer.json:

  • dev

  • testing

  • static analysis

для примера:

"name": "name/your-dev-package",
"keywords": ["dev"],
"type": "library",

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

Что думаешь?

Категории
  • PHP 64
  • Заметки 15
  • Безопасность 3
  • Флуд 2
  • Nginx 2
  • ИТ новости 2
  • Видео 1
  • Docker 1
  • Roadmap 1
  • Архитектура 0

Хочешь поддержать сайт?

Делаем из мухи слона

sergeymukhin.com

персональный блог о веб-разработке от Сергея Мухина. Блог был основан в 2018 году, и собирался уделять основное внимание последним тенденциям, учебным пособиям, а также советам и рекомендациям, позволяющим начинающим девелоперам встать быстрее на правильную дорогу веб разработки, но что-то пошло не так 😃

Релизы PHP 8.4

Дата Релиз
8 Июня 2024 Альфа 1
20 Июня 2024 Альфа 2
04 Июля 2024 Альфа 3
16 Июля 2024 Feature freeze
18 Июля 2024 Бета 1
01 Августа 2024 Бета 2
15 Августа 2024 Бета 3
29 Августа 2024 RC 1
12 Сентября 2024 RC 2
26 Сентября 2024 RC 3
10 Октября 2024 RC 4
24 Октября 2024 RC 5
07 Ноября 2024 RC 6
21 Ноября 2024 GA

Что нового?