mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-14 04:15:35 +08:00
Remove laravel/prompts and symfony/process
This commit is contained in:
@@ -12,10 +12,8 @@
|
|||||||
"php": ">=8.4",
|
"php": ">=8.4",
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"ext-zlib": "*",
|
"ext-zlib": "*",
|
||||||
"laravel/prompts": "~0.1",
|
|
||||||
"php-di/php-di": "^7.1",
|
"php-di/php-di": "^7.1",
|
||||||
"symfony/console": "^5.4 || ^6 || ^7",
|
"symfony/console": "^5.4 || ^6 || ^7",
|
||||||
"symfony/process": "^7.2",
|
|
||||||
"symfony/yaml": "^7.2",
|
"symfony/yaml": "^7.2",
|
||||||
"zhamao/logger": "^1.1.4"
|
"zhamao/logger": "^1.1.4"
|
||||||
},
|
},
|
||||||
|
|||||||
568
composer.lock
generated
568
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -9,8 +9,7 @@ use StaticPHP\Util\FileSystem;
|
|||||||
use StaticPHP\Util\InteractiveTerm;
|
use StaticPHP\Util\InteractiveTerm;
|
||||||
use Symfony\Component\Console\Attribute\AsCommand;
|
use Symfony\Component\Console\Attribute\AsCommand;
|
||||||
use Symfony\Component\Console\Input\InputOption;
|
use Symfony\Component\Console\Input\InputOption;
|
||||||
|
use Symfony\Component\Console\Question\ConfirmationQuestion;
|
||||||
use function Laravel\Prompts\confirm;
|
|
||||||
|
|
||||||
#[AsCommand('reset')]
|
#[AsCommand('reset')]
|
||||||
class ResetCommand extends BaseCommand
|
class ResetCommand extends BaseCommand
|
||||||
@@ -46,7 +45,8 @@ class ResetCommand extends BaseCommand
|
|||||||
|
|
||||||
// Confirm with user unless --yes is specified
|
// Confirm with user unless --yes is specified
|
||||||
if (!$this->input->getOption('yes')) {
|
if (!$this->input->getOption('yes')) {
|
||||||
if (!confirm('Are you sure you want to continue?', false)) {
|
$helper = $this->getHelper('question');
|
||||||
|
if (!$helper->ask($this->input, $this->output, new ConfirmationQuestion('Are you sure you want to continue? [y/N] ', false))) {
|
||||||
InteractiveTerm::error(message: 'Reset operation cancelled.');
|
InteractiveTerm::error(message: 'Reset operation cancelled.');
|
||||||
return static::SUCCESS;
|
return static::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,11 +11,14 @@ use StaticPHP\Registry\DoctorLoader;
|
|||||||
use StaticPHP\Runtime\Shell\Shell;
|
use StaticPHP\Runtime\Shell\Shell;
|
||||||
use StaticPHP\Runtime\SystemTarget;
|
use StaticPHP\Runtime\SystemTarget;
|
||||||
use StaticPHP\Util\InteractiveTerm;
|
use StaticPHP\Util\InteractiveTerm;
|
||||||
|
use Symfony\Component\Console\Helper\QuestionHelper;
|
||||||
|
use Symfony\Component\Console\Input\ArrayInput;
|
||||||
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
|
use Symfony\Component\Console\Output\ConsoleOutput;
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
use Symfony\Component\Console\Question\ConfirmationQuestion;
|
||||||
use ZM\Logger\ConsoleColor;
|
use ZM\Logger\ConsoleColor;
|
||||||
|
|
||||||
use function Laravel\Prompts\confirm;
|
|
||||||
|
|
||||||
readonly class Doctor
|
readonly class Doctor
|
||||||
{
|
{
|
||||||
public function __construct(private ?OutputInterface $output = null, private int $auto_fix = FIX_POLICY_PROMPT, public readonly bool $interactive = true)
|
public function __construct(private ?OutputInterface $output = null, private int $auto_fix = FIX_POLICY_PROMPT, public readonly bool $interactive = true)
|
||||||
@@ -125,9 +128,14 @@ readonly class Doctor
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// prompt for fix
|
// prompt for fix
|
||||||
if ($this->auto_fix === FIX_POLICY_PROMPT && !confirm('Do you want to try to fix this issue now?')) {
|
if ($this->auto_fix === FIX_POLICY_PROMPT) {
|
||||||
$this->output?->writeln('<comment>You canceled fix.</comment>');
|
$helper = new QuestionHelper();
|
||||||
return false;
|
$input = ApplicationContext::has(InputInterface::class) ? ApplicationContext::get(InputInterface::class) : new ArrayInput([]);
|
||||||
|
$output = ApplicationContext::has(OutputInterface::class) ? ApplicationContext::get(OutputInterface::class) : $this->output ?? new ConsoleOutput();
|
||||||
|
if (!$helper->ask($input, $output, new ConfirmationQuestion('Do you want to try to fix this issue now? [Y/n] ', true))) {
|
||||||
|
$this->output?->writeln('<comment>You canceled fix.</comment>');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// perform fix
|
// perform fix
|
||||||
InteractiveTerm::indicateProgress("Fixing {$result->getFixItem()} ... ");
|
InteractiveTerm::indicateProgress("Fixing {$result->getFixItem()} ... ");
|
||||||
|
|||||||
@@ -3,22 +3,11 @@
|
|||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
// static-php-cli version string
|
// static-php-cli version string
|
||||||
use Laravel\Prompts\ConfirmPrompt;
|
|
||||||
use Laravel\Prompts\Prompt;
|
|
||||||
use Laravel\Prompts\TextPrompt;
|
|
||||||
use StaticPHP\ConsoleApplication;
|
use StaticPHP\ConsoleApplication;
|
||||||
use StaticPHP\DI\ApplicationContext;
|
|
||||||
use StaticPHP\Util\FileSystem;
|
use StaticPHP\Util\FileSystem;
|
||||||
use StaticPHP\Util\System\LinuxUtil;
|
use StaticPHP\Util\System\LinuxUtil;
|
||||||
use StaticPHP\Util\System\MacOSUtil;
|
use StaticPHP\Util\System\MacOSUtil;
|
||||||
use StaticPHP\Util\System\WindowsUtil;
|
use StaticPHP\Util\System\WindowsUtil;
|
||||||
use Symfony\Component\Console\Helper\QuestionHelper;
|
|
||||||
use Symfony\Component\Console\Input\ArrayInput;
|
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
|
||||||
use Symfony\Component\Console\Output\ConsoleOutput;
|
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
|
||||||
use Symfony\Component\Console\Question\ConfirmationQuestion;
|
|
||||||
use Symfony\Component\Console\Question\Question;
|
|
||||||
|
|
||||||
const SPC_VERSION = ConsoleApplication::VERSION;
|
const SPC_VERSION = ConsoleApplication::VERSION;
|
||||||
// output path for everything, other paths are defined relative to this by default
|
// output path for everything, other paths are defined relative to this by default
|
||||||
@@ -75,31 +64,3 @@ putenv('CPU_COUNT=' . CPU_COUNT);
|
|||||||
putenv('SPC_ARCH=' . php_uname('m'));
|
putenv('SPC_ARCH=' . php_uname('m'));
|
||||||
putenv('GNU_ARCH=' . GNU_ARCH);
|
putenv('GNU_ARCH=' . GNU_ARCH);
|
||||||
putenv('MAC_ARCH=' . MAC_ARCH);
|
putenv('MAC_ARCH=' . MAC_ARCH);
|
||||||
|
|
||||||
// initialize windows prompt fallback for laravel-prompts
|
|
||||||
Prompt::fallbackWhen(PHP_OS_FAMILY === 'Windows');
|
|
||||||
ConfirmPrompt::fallbackUsing(function (ConfirmPrompt $prompt) {
|
|
||||||
$helper = new QuestionHelper();
|
|
||||||
$case = $prompt->default ? ' [Y/n] ' : ' [y/N] ';
|
|
||||||
$question = new ConfirmationQuestion($prompt->label . $case, $prompt->default);
|
|
||||||
if (ApplicationContext::has(InputInterface::class) && ApplicationContext::has(OutputInterface::class)) {
|
|
||||||
$input = ApplicationContext::get(InputInterface::class);
|
|
||||||
$output = ApplicationContext::get(OutputInterface::class);
|
|
||||||
} else {
|
|
||||||
$input = new ArrayInput([]);
|
|
||||||
$output = new ConsoleOutput();
|
|
||||||
}
|
|
||||||
return $helper->ask($input, $output, $question);
|
|
||||||
});
|
|
||||||
TextPrompt::fallbackUsing(function (TextPrompt $prompt) {
|
|
||||||
$helper = new QuestionHelper();
|
|
||||||
$question = new Question($prompt->label . ' ', $prompt->default);
|
|
||||||
if (ApplicationContext::has(InputInterface::class) && ApplicationContext::has(OutputInterface::class)) {
|
|
||||||
$input = ApplicationContext::get(InputInterface::class);
|
|
||||||
$output = ApplicationContext::get(OutputInterface::class);
|
|
||||||
} else {
|
|
||||||
$input = new ArrayInput([]);
|
|
||||||
$output = new ConsoleOutput();
|
|
||||||
}
|
|
||||||
return $helper->ask($input, $output, $question);
|
|
||||||
});
|
|
||||||
|
|||||||
Reference in New Issue
Block a user