【Laravel Prompts】suggestのバグ修正がリリースされました(0.1.19)

GitHub

2024/04/16-23:20(日本時間)にマージされたプルリクエストが、

2024/04/17-00:25(日本時間)にv0.1.19としてリリースされました。

対応が早いですね。

Contributorsの末席に加わりました。

バグ修正の反映を確認していきます。

新規プロジェクト作成

Laravel新規プロジェクト「laravel-prompts-0.1.18」を作成します。

composer create-project laravel/laravel:^11 laravel-prompts-0.1.18

作成したプロジェクトフォルダに入ります。

cd laravel-prompts-0.1.18/

laravel/promptsのバージョンを確認します。

composer show | grep prompts

v0.1.19がインストールされています。

v0.1.18のバグ確認

バグ確認のために、一旦v0.1.19を削除し、

rm -rf vendor/laravel/prompts/

v0.1.18をインストールしなおします。

composer require laravel/prompts:0.1.18

一応、バージョンを確認します。

composer show | grep prompts

Artisanコマンドを新規作成します。

php artisan make:command Foo

「app/Console/Commands/Foo.php」が作成されました。

このファイルを編集・保存します。

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Str;

use function Laravel\Prompts\suggest;

class Foo extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'app:foo';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';

    /**
     * Execute the console command.
     */
    public function handle()
    {
        var_dump($name = suggest(
            'What is your name?',
            fn ($value) => collect(['Taylor', 'Dayle'])
                ->filter(fn ($name) => Str::contains($name, $value, ignoreCase: true))
        ));
    }
}

実行してみます。

php artisan app:foo

TypeErrorが発生しました。

v0.1.19のバグ修正確認

v0.1.18を削除して、

rm -rf vendor/laravel/prompts/

v0.1.19をインストールしなおします。

composer require laravel/prompts:0.1.19

一応、バージョンを確認します。

composer show | grep prompts

先程のArtisanコマンドを実行します。

php artisan app:foo

入力欄が表示されました。

「L」を入力してみます。

「Taylor」と「Dayle」が選択肢として表示されました。

「L」に続けて「E」を入力してみます。

「Dayle」だけに選択肢が絞られました。

「Dayle」を選択して確定してみます。

選択した「Dayle」が文字列として渡されました。

しっかり機能していますね。

以上です。

コメント

タイトルとURLをコピーしました