diff --git a/doc/articles/scripts.md b/doc/articles/scripts.md index f394f28e9..66d84b8c2 100644 --- a/doc/articles/scripts.md +++ b/doc/articles/scripts.md @@ -22,15 +22,19 @@ Composer fires the following named events during its execution process: ### Command Events -- **pre-install-cmd**: occurs before the `install` command is executed with a lock file present. -- **post-install-cmd**: occurs after the `install` command has been executed with a lock file present. -- **pre-update-cmd**: occurs before the `update` command is executed, or before the `install` command is executed without a lock file present. -- **post-update-cmd**: occurs after the `update` command has been executed, or after the `install` command has been executed without a lock file present. +- **pre-install-cmd**: occurs before the `install` command is executed with a + lock file present. +- **post-install-cmd**: occurs after the `install` command has been executed + with a lock file present. +- **pre-update-cmd**: occurs before the `update` command is executed, or before + the `install` command is executed without a lock file present. +- **post-update-cmd**: occurs after the `update` command has been executed, or + after the `install` command has been executed without a lock file present. - **post-status-cmd**: occurs after the `status` command has been executed. - **pre-archive-cmd**: occurs before the `archive` command is executed. - **post-archive-cmd**: occurs after the `archive` command has been executed. -- **pre-autoload-dump**: occurs before the autoloader is dumped, either - during `install`/`update`, or via the `dump-autoload` command. +- **pre-autoload-dump**: occurs before the autoloader is dumped, either during + `install`/`update`, or via the `dump-autoload` command. - **post-autoload-dump**: occurs after the autoloader has been dumped, either during `install`/`update`, or via the `dump-autoload` command. - **post-root-package-install**: occurs after the root package has been @@ -150,6 +154,11 @@ class MyClass } ``` +**Note:** During a composer install or update process, a variable named +`COMPOSER_DEV_MODE` will be added to the environment. If the command was run +with the `--no-dev` flag, this variable will be set to 0, otherwise it will be +set to 1. + ## Event classes When an event is fired, your PHP callback receives as first argument a diff --git a/src/Composer/Installer.php b/src/Composer/Installer.php index b0c4756c9..cbd43e5dc 100644 --- a/src/Composer/Installer.php +++ b/src/Composer/Installer.php @@ -292,6 +292,9 @@ class Installer } if ($this->runScripts) { + $devMode = (int) $this->devMode; + putenv("COMPOSER_DEV_MODE=$devMode"); + // dispatch post event $eventName = $this->update ? ScriptEvents::POST_UPDATE_CMD : ScriptEvents::POST_INSTALL_CMD; $this->eventDispatcher->dispatchScript($eventName, $this->devMode);