Generator .prettierignore
Nie formatuj tego, czego nie edytujesz
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator pliku .prettierignore
Prettier formatuje kod automatycznie, ale nie każdy plik powinien być ruszany. Plik .prettierignore wskazuje katalogi i pliki, które mają pozostać nietknięte.
Co pomijać?
| Grupa | Przykłady |
|---|---|
| Zależności | node_modules/, vendor/ |
| Artefakty | dist/, build/, public/build/ |
| Pokrycie | coverage/ |
| Pliki blokad | package-lock.json, composer.lock |
| Zminifikowane | *.min.js, *.min.css |
Dlaczego to ważne?
Formatowanie wygenerowanych plików to strata czasu i nieczytelne różnice w repozytorium. Pominięcie ich przyspiesza Prettier i utrzymuje diffy czyste.
Przykład
Projekt Laravel z frontendem powinien pominąć vendor/, node_modules/, public/build/ i composer.lock. Dzięki temu npx prettier --write . formatuje tylko kod źródłowy.
Jak działa generator .prettierignore
Generator nie skanuje repozytorium — działa na liście wzorców. Zaznaczasz grupy plików, a narzędzie zamienia każde zaznaczenie na jedną lub kilka linii tekstu i skleja je w gotowy plik .prettierignore. Wynik to zwykły plik tekstowy, który wrzucasz do katalogu głównego projektu i trzymasz razem z kodem. Kolejność linii ma znaczenie, bo Prettier stosuje ostatni wzorzec pasujący do ścieżki — wpis ogólny umieszczony wyżej może zostać nadpisany przez wyjątek umieszczony niżej.
Składnia wzorców jest taka sama jak w .gitignore. Gwiazdka * zastępuje dowolny ciąg znaków w obrębie jednego segmentu ścieżki, podwójna gwiazdka ** przechodzi przez wiele katalogów, znak zapytania ? dopasowuje pojedynczy znak, a wykrzyknik ! na początku linii odwraca regułę i przywraca plik do formatowania. Wzorzec zakończony ukośnikiem, na przykład coverage/, obejmuje całe drzewo katalogu. Wzorzec bez ukośnika pasuje do danego segmentu ścieżki na dowolnym poziomie, dlatego warto świadomie decydować, czy kotwiczyć wpis do katalogu pliku .prettierignore.
Prettier czyta .prettierignore z katalogu, w którym uruchamiasz polecenie, a inną ścieżkę wskazujesz flagą --ignore-path. Sam plik nie zmienia reguł formatowania — nie ustawia średników, cudzysłowów ani szerokości wcięć. Odpowiada wyłącznie za to, które pliki w ogóle trafią do parsera. Dlatego pominięcie katalogu nie psuje stylu kodu, a jedynie skraca czas pracy Prettiera i ogranicza liczbę plików w diffie.
Przykład: od zaznaczeń do gotowego pliku
- Pracujesz nad projektem Laravel z frontendem. Zaznaczasz grupę Zależności — generator wypisuje dwie linie: node_modules/ oraz vendor/.
- Dokładasz grupę Artefakty i lista rośnie o trzy linie: dist/, build/ oraz public/build/. Łącznie masz już 2 + 3 = 5 linii.
- Włączasz grupę Pokrycie — dochodzi jedna linia coverage/, co daje 5 + 1 = 6 linii.
- Zaznaczasz Pliki blokad — pojawiają się package-lock.json i composer.lock, czyli 6 + 2 = 8 linii.
- Na końcu włączasz grupę Zminifikowane — dopisują się *.min.js oraz *.min.css. Plik liczy 8 + 2 = 10 linii wzorców.
- Chcesz jednak formatować jeden plik z katalogu dist. Dodajesz wyjątek !dist/keep.js i ustawiasz go po wpisie dist/. Wynik to 11 linii: 10 wzorców pomijających i 1 reguła przywracająca. Efekt netto: Prettier nadal pomija wszystko wskazane przez te 10 wzorców, poza dist/keep.js.
Tabela referencyjna wzorców
| Wzorzec | Co obejmuje | Kiedy stosować |
|---|---|---|
| node_modules/ | Zależności JavaScript i pakiety npm | Prettier pomija je domyślnie, ale wpis dokumentuje intencję zespołu |
| vendor/ | Zależności PHP instalowane przez Composer | Zawsze, gdy repozytorium zawiera katalog vendor |
| dist/, build/, public/build/ | Artefakty kompilacji i bundlowania | Gdy katalog wyjściowy leży w repozytorium |
| coverage/ | Raporty pokrycia testów | Gdy testy generują raporty HTML lub LCOV w projekcie |
| package-lock.json | Plik blokad npm | Gdy lock jest wersjonowany, a chcesz uniknąć zmian formatowania |
| composer.lock | Plik blokad Composer | Analogicznie do package-lock.json w projektach PHP |
| *.min.js, *.min.css | Pliki zminifikowane | Gdy w repozytorium leżą gotowe paczki produkcyjne |
| !dist/keep.js | Wyjątek przywracający pojedynczy plik | Musi stać po wzorcu ogólnym, inaczej nie zadziała |
Jak używać pliku w praktyce
- Trzymaj plik w katalogu głównym — wtedy polecenie uruchomione z korzenia projektu widzi go bez dodatkowych flag i działa tak samo lokalnie oraz w CI.
- Grupuj wpisy i opisuj je komentarzami — linia zaczynająca się od znaku # jest komentarzem, a puste linie są pomijane, więc możesz rozdzielić zależności, artefakty i pliki blokad bez wpływu na wynik.
- Wyprzedzaj wyjątki po wzorcach ogólnych — reguła z wykrzyknikiem działa tylko wtedy, gdy stoi niżej niż wpis, który chce przywrócić; odwrotna kolejność daje efekt bez zmian.
- Sprawdzaj wynik komendą kontrolną — npx prettier --check . pokaże, które pliki wciąż wymagają formatowania, a --list-different wypisze same ścieżki. To najszybszy sposób weryfikacji, czy nowy wpis działa.
- Nie duplikuj ustawień Prettiera — .prettierignore nie zastępuje pliku .prettierrc; jeden pilnuje listy plików, drugi reguł stylu i nie należy ich mieszać.
Ograniczenia i pułapki
- Brak analizy repozytorium — generator nie wie, które katalogi faktycznie istnieją w twoim projekcie. Wpis dla nieistniejącej ścieżki jest po prostu nieszkodliwy, ale zaśmieca plik i myli kolejnych czytających.
- Brak wiedzy o konfiguracji Prettiera — .prettierrc, nadpisania per katalog i wybór parsera nie są brane pod uwagę, a właśnie one decydują, czy dany plik w ogóle jest formatowany.
- Tylko Prettier — ESLint, Stylelint czy narzędzia do CSS mają własne listy pomijania. Ten plik nie wpływa na ich działanie, mimo że składnia wzorców bywa łudząco podobna.
- Zależność od katalogu uruchomienia — jeśli polecenie puścisz z podkatalogu, Prettier może wziąć pod uwagę inny plik ignore albo żaden. W monorepo ustal jedną ścieżkę i podawaj ją jawnie flagą --ignore-path.
Najczęstsze pytania
Czy .prettierignore działa jak .gitignore?
Tak, składnia wzorców jest taka sama — obsługuje gwiazdki, wyjątki z wykrzyknikiem i katalogi.
Czy Prettier domyślnie pomija node_modules?
Tak, ale inne katalogi (dist, coverage) trzeba wskazać ręcznie.
Czy mogę formatować pojedynczy plik z listy?
Tak — npx prettier --write plik.js działa nawet dla wpisów z .prettierignore.
Czy w pliku .prettierignore można pisać komentarze?
Tak, linia zaczynająca się od znaku # jest traktowana jako komentarz i ignorowana przez Prettiera. Puste linie również nie mają znaczenia, więc możesz swobodnie dzielić plik na opisane sekcje.
Czy da się użyć innego pliku niż .prettierignore?
Tak, służy do tego flaga --ignore-path, którą można wpisać w skrypcie npm. Przydaje się, gdy chcesz trzymać listę pominięć w katalogu konfiguracyjnym albo mieć osobny zestaw wpisów dla CI.
Czy plik .prettierignore powinien trafić do repozytorium?
Tak, powinien być wersjonowany razem z kodem. Dzięki temu cały zespół i pipeline formatują dokładnie ten sam zestaw plików, a różnice w artefaktach nie wracają przy każdym uruchomieniu.
Dlaczego Prettier nadal formatuje plik, który dodałem do listy?
Najczęściej wzorzec nie pasuje do ścieżki, na przykład brakuje ukośnika kotwiczącego katalog. Drugą przyczyną jest wyjątek z wykrzyknikiem ustawiony niżej albo uruchomienie polecenia z innego katalogu, przez co brany jest pod uwagę inny plik ignore.
Czy edytor respektuje .prettierignore?
Wtyczki Prettiera w edytorach zwykle czytają ten plik, ale formatowanie po zapisie bywa realizowane inaczej niż przez CLI. Jeśli plik jest pomijany w terminalu, a mimo to zmienia się w edytorze, sprawdź ustawienia wtyczki.