Sabtu, 11 March 2023

PHP dan Laravel Fixer Dengan Duster

Dalam artikel ini kita akan membahas tentang PHP dan Laravel fixer yang baru saja di rilis oleh tim tighten yaitu Duster.

Laravel
Package

Dalam artikel ini kita akan membahas tentang PHP dan Laravel fixer yang baru saja di rilis oleh tim tighten yaitu Duster.

Apa itu Duster

Duster adalah gabungan dari TLint, PHP_CodeSniffer, PHP CS Fixer, dan Pint, yang mana package ini mampu melihat apa-apa saja yang salah yang telah kita ketik berdasarkan pengetahuan kita. Tidak sekedar itu, ini package ini juga mampu memperbaiki apa-apa yang tidak perlu, dan banyak lagi.

Untuk contoh kali ini, kita akan install laravel dengan jetstream, agar kita mendapatkan banyak route dan juga controller. Oleh karena itu, silakan install laravel nya dengan perintah berikut.

laravel new project --jet --stack=livewire --pest --teams

Dengan perintah di atas, kita akan di beri scaffolding jetstream lengkap dengan pest, stack dengan livewire dan juga fitur teams.

Install Duster

Silakan install duster nya dengan composer seperti perintah berikut ini:

composer require tightenco/duster --dev

Kita sengaja kasi flag --dev, karena pada dasarnya, kita tidak butuh fixer-fixeran jika sudah masuk ke production.

Jalankan Duster

Kita bisa melihat apa-apa saja kode yang perlu diperbaiki dengan menjalankan perintah:

./vendor/bin/duster lint

Dengan perintah itu, kita akan disajikan informasi terkait code-code yang penulisannya salah. Seperti misalnya front-slash, return type dsb.

Selain itu, kita juga bisa memperbaiki yang salah tersebut dengan menjalankan perintah ini:

./vendor/bin/duster fix

Tidak cukup disitu, dia juga mampu memperlihatkan apa-apa saja code yang belum di commit berdasarkan git dengan perintah:

./vendor/bin/duster lint --dirty

atau bisa dengan fix:

./vendor/bin/duster fix --dirty

Konfigurasi Duster

Sama hal nya seperti pint, duster juga bisa di sesuaikan, jadi kita bisa buat file duster.json pada root directory kita. Kemudian masukkan konfigurasi yang Anda inginkan seperti misalnya yang ada di bawah ini:

{
    "include": [
        "bin",
        "scripts",
        "src",
        "tests"
    ],
    "exclude": [
        "tests/fixtures"
    ]
}

Atau bahkan Anda sedang menggunakan phpstan, bisa membuat seperti:

{
    "scripts": {
        "lint": {
            "phpstan": ["./vendor/bin/phpstan", "analyse"]
        }
    }
}

Kemudian, jika Anda ingin melihatnya bisa dengan perintah:

./vendor/bin/duster lint --using="phpstan,tlint,pint"

Semua perintah bisa Anda lihat pada dokumentasi resmi disini. Semoga artikel ini bermanfaat, saya Irsyad. Dan saya akan melihat Anda di artikel selanjutnya.