---
title: "Laravel Pint навчився форматувати Blade"
url: https://laravelukraine.com/blog/laravel-pint-navcivsia-formatuvati-blade
date: 2026-08-04
---

# Laravel Pint навчився форматувати Blade

[Pint 1.30.0](https://github.com/laravel/pint/releases/tag/v1.30.0) навчився форматувати Blade-шаблони. Досі Pint свідомо обходив `.blade.php` стороною, і кожен вирішував це питання сам - зазвичай окремим конфігом Prettier поруч з конфігом Pint.

### Як увімкнути

Найшвидший спосіб - прапорець:

```bash
./vendor/bin/pint --blade
```

Він вмикає правило `Pint/laravel_blade`. Щоб не згадувати про прапорець щоразу, пропишіть правило в `pint.json`:

```json
{
    "preset": "laravel",
    "rules": {
        "Pint/laravel_blade": true
    }
}
```

Після цього звичайний `pint` форматує і PHP, і Blade.

### Що саме форматується

Під капотом - [Prettier](https://prettier.io/) і плагін [prettier-plugin-blade](https://github.com/shufo/prettier-plugin-blade) Шухея Хаясібари, той самий, що лежить в основі `blade-formatter`. Тобто Laravel не писав власний форматер, а взяв перевірений інструмент спільноти й прибрав ручне налаштування.

Обробляються:

- Blade-синтаксис і вкладені директиви;
- атрибути Alpine;
- `wire:`-звʼязки Livewire;
- компоненти Flux;
- сортування класів Tailwind;
- блоки `@verbatim`;
- heredoc та інлайновий SVG;
- класи однофайлових компонентів.

Сортування класів Tailwind тут варте окремої згадки: суперечки про порядок утиліт у `class` - класична тема code review, яку тепер закриває інструмент.

### Форматує Node, а не PHP

Головна практична деталь: правило виконується не на PHP. Потрібні три npm-пакети:

- `prettier` (^3.8.4)
- `prettier-plugin-blade` (^3.2.2)
- `prettier-plugin-tailwindcss` (^0.8.0)

Якщо їх немає, Pint це помічає, визначає ваш пакетний менеджер і пропонує встановити - кожен з потрібним обмеженням версії. Тобто ручного налаштування майже немає, але залежність від Node зʼявляється. Для CI це означає, що на кроці лінтингу тепер має бути не лише PHP.

### Що Pint не чіпає

Навіть з увімкненим правилом форматер обходить:

- файли Envoy - `Envoy.blade.php` і `envoy.blade.php`;
- гайдлайни Boost у `resources/boost/guidelines/`;
- поштові шаблони в `resources/views/emails/` і `resources/views/mail/`.

Виняток для пошти цілком слушний: верстка листів тримається на таблицях та інлайнових стилях і болісно реагує на переформатування. Той, хто хоч раз ловив зіпсований лист у Outlook після «косметичної» правки, оцінить.

### Решта релізу

Крім Blade, у 1.30.0 приїхали дрібніші зміни:

- `--diff` тепер враховує перейменовані файли - фільтр змінили на `--diff-filter=AMR`;
- `--quiet` більше не ковтає проблеми, а пише їх у stderr;
- у `pint.json` зʼявився ключ `in` для налаштування тек.

### Чи варто вмикати

Ламких змін немає: можливість опційна, і з вимкненим правилом Pint поводиться з `.blade.php` рівно так, як раніше - просто виключає їх зі свого пошуку файлів.

Якщо у вас уже налаштований Prettier для Blade, виграш - здебільшого в тому, що конфігурація й запуск стають одним інструментом замість двох. Якщо ж Blade у вас досі форматувався «як вийде», це хороший привід нарешті закрити питання - разом з порядком класів Tailwind у розмітці.

Перед першим запуском на великому проєкті варто зробити окремий коміт: форматування 200 шаблонів дасть diff, у якому загубиться будь-яка змістовна правка.
