From a66db4867341323e3b035e309eb556a41fbd7159 Mon Sep 17 00:00:00 2001 From: Samuel Ryan Date: Thu, 3 Sep 2020 17:40:09 +0100 Subject: [PATCH] :sparkles: Ask for target directory when using `create-project` --- doc/03-cli.md | 1 + src/Composer/Command/CreateProjectCommand.php | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/doc/03-cli.md b/doc/03-cli.md index ec119d24c..e3a68cccc 100644 --- a/doc/03-cli.md +++ b/doc/03-cli.md @@ -748,6 +748,7 @@ By default the command checks for the packages on packagist.org. * **--ignore-platform-req:** ignore a specific platform requirement(`php`, `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine does not fulfill it. +* **--ask:** Ask user to provide target directory for new project. ## dump-autoload (dumpautoload) diff --git a/src/Composer/Command/CreateProjectCommand.php b/src/Composer/Command/CreateProjectCommand.php index f7369e28e..eac09a19f 100644 --- a/src/Composer/Command/CreateProjectCommand.php +++ b/src/Composer/Command/CreateProjectCommand.php @@ -84,6 +84,7 @@ class CreateProjectCommand extends BaseCommand new InputOption('no-install', null, InputOption::VALUE_NONE, 'Whether to skip installation of the package dependencies.'), new InputOption('ignore-platform-req', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Ignore a specific platform requirement (php & ext- packages).'), new InputOption('ignore-platform-reqs', null, InputOption::VALUE_NONE, 'Ignore all platform requirements (php & ext- packages).'), + new InputOption('ask', null, InputOption::VALUE_NONE, 'Whether to ask for project directory.'), )) ->setHelp( <<setOption('no-plugins', true); } + if ($input->isInteractive() && $input->getOption('ask')) { + $input->setArgument('directory', $io->ask('New project directory [optional]: ')); + } + $ignorePlatformReqs = $input->getOption('ignore-platform-reqs') ?: ($input->getOption('ignore-platform-req') ?: false); return $this->installProject(