diff --git a/src/Composer/Command/BaseCommand.php b/src/Composer/Command/BaseCommand.php index ed318e079..b6b1439de 100644 --- a/src/Composer/Command/BaseCommand.php +++ b/src/Composer/Command/BaseCommand.php @@ -223,6 +223,15 @@ abstract class BaseCommand extends Command // initialize a plugin-enabled Composer instance, either local or global $disablePlugins = $input->hasParameterOption('--no-plugins'); $disableScripts = $input->hasParameterOption('--no-scripts'); + + $application = parent::getApplication(); + if ($application instanceof Application && $application->getDisablePluginsByDefault()) { + $disablePlugins = true; + } + if ($application instanceof Application && $application->getDisableScriptsByDefault()) { + $disableScripts = true; + } + if ($this instanceof SelfUpdateCommand) { $disablePlugins = true; $disableScripts = true; diff --git a/src/Composer/Console/Application.php b/src/Composer/Console/Application.php index a74a6c69d..b747ea021 100644 --- a/src/Composer/Console/Application.php +++ b/src/Composer/Console/Application.php @@ -659,6 +659,16 @@ class Application extends BaseApplication return $this->initialWorkingDirectory; } + public function getDisablePluginsByDefault(): bool + { + return $this->disablePluginsByDefault; + } + + public function getDisableScriptsByDefault(): bool + { + return $this->disableScriptsByDefault; + } + /** * @return 'prompt'|bool */