Beautifier JavaScript - sformatuj JS w przeglądarce
JavaScript to język, który najczęściej przychodzi do beautifiera w stanie pożałowania godnym. Minifikator dla produkcji wyrzucił `app.min.js` o szerokości ekranu. Skopiowałeś snippet ze Stack Overflow z 6-spacjowymi wcięciami. Stażysta wrzucił do PR-a kod z tabami pomieszanymi ze spacjami.
Ten beautifier używa Prettiera (tryb Grzeczny) - tej samej biblioteki, którą instalujesz z `npm install prettier`. Pełen parser Babel obsługuje współczesny JS: arrow functions, async/await, destructuring, spread, optional chaining, template literals, generatory. Dla zminifikowanego kodu produkcyjnego włącz tryb Agresywny (js-beautify) - wymusza nową linię po każdej instrukcji, rozbija łańcuchowe wywołania, rozdziela `if (x) return;` na 3 linie.
Akceptuje pliki `.js`, `.mjs`, `.cjs`. Domyślnie 100 znaków szerokości, pojedyncze cudzysłowy, średniki, przecinki na końcu - czyli ESLint/Prettier defaults dla nowoczesnego JS-a w 2026.
Jak to działa
- Wybierz tryb (Grzeczny / Agresywny / Tylko wcięcia) lub zostaw domyślny.
- Wklej kod w lewy panel albo użyj "Wczytaj plik".
- Dostosuj ustawienia (koło zębate): wcięcie, szerokość, cudzysłowy, średniki.
- Kliknij Sformatuj - pierwszy raz potrwa chwilę (libki ładują się leniwie).
- Po prawej dostajesz wynik z syntax highlightingiem - kopiuj, pobierz albo otwórz w nowej karcie.
Kiedy się przydaje
Pięć typowych sytuacji dla JS-a:
- Pretty-print minifikatu z DevTools. Otwarłeś źródło `app.min.js` w produkcji, jest jedną linią - wklej, Agresywny, masz czytelną strukturę (bez oryginalnych nazw, ale przynajmniej widzisz kontrolę przepływu).
- PR review. Junior wrzucił 200 linii bez spacji wokół operatorów. Wklej, Grzeczny, kopia z 2-spacjowym wcięciem.
- Skopiowane z bloga / Stack Overflow. Tracisz wcięcia przy klejeniu z HTML. Prettier dorabia je z średników i nawiasów.
- Konwersja tabów na spacje. `.editorconfig` mówi 2 spacje, ale ktoś commitował tabami. Tryb Tylko wcięcia, 2 spacje.
- Pre-commit fix. ESLint krzyczy, że format zły. Wklej tutaj, copy, paste z powrotem do pliku, lint passes.