LFUnminify, deminificator de cod online creat de Ludovic Frank

Deminificare JavaScript online

Lipește un fișier .js minificat, un pachet webpack sau un fragment pe o singură linie și obține JavaScript corect indentat în panoul din dreapta. Prettier realizează formatarea în browser, fără încărcarea codului pe vreun server.

Codul deminificat și formatat va apărea aici

De ce JavaScript ajunge imposibil de citit

Orice proces modern de compilare minifică JavaScript înainte de livrare. Terser, esbuild, SWC și instrumentele similare elimină spațiile și comentariile, apoi redenumesc variabilele și funcțiile locale cu litere individuale, reduc blocurile imbricate la expresii înlănțuite și reunesc aplicația în unul sau două fișiere. O aplicație React care pornea din trei sute de fișiere sursă lizibile ajunge în browser ca o singură linie de câteva sute de kiloocteți. Codul funcționează în continuare, dar când trebuie să îl citești, ai în față un zid de text fără repere structurale.

Ce recuperezi prin formatare

Formatarea unui pachet reface elementele care permit parcurgerea codului. Instrucțiunile revin pe linii separate, iar o urmă a stivei care indică linia 1, coloana 24815 poate fi investigată într-o structură lizibilă. Imbricarea devine vizibilă, astfel încât vezi unde începe și se termină o funcție, ce ramură protejează o condiție și cum este construit un lanț de callbackuri. Șirurile, adresele URL și numele punctelor finale sunt ușor de găsit, exact ce cauți de obicei când auditezi un script extern.

Sintaxa modernă este acceptată

Formatorul analizează JavaScript actual, nu un subset vechi de un deceniu. Funcțiile săgeată, clasele, async și await, generatorii, înlănțuirea opțională, operatorul de coalescență nulă, șabloanele de șiruri, destructurarea, sintaxa spread, importurile dinamice și modulele ES sunt formatate corect. Este acceptat și JSX, util când inspectezi o componentă React compilată fără eliminarea acestuia. Deoarece Prettier realizează procesarea, rezultatul urmează convențiile pe care editorul tău le aplică deja propriilor fișiere.

Care sunt limitele

Deminificarea nu poate reconstitui toate informațiile originale. Minificatorul a șters comentariile și a redenumit variabilele, iar niciun formator nu poate ghici că variabila numită acum n se numea remainingRetries. Dacă proiectul publică o hartă sursă, încarc-o în instrumentele de dezvoltare ale browserului, aceasta este calea către originalul autentic. Dacă fișierul a fost ofuscat intenționat, te poți aștepta la o structură lizibilă, dar intenția codului poate rămâne ascunsă.

Întrebări frecvente

Poate deminifica un pachet webpack sau Vite?

Da. Lipește pachetul sau deschide fișierul cu Alege fișierul și va fi formatat ca orice fișier JavaScript. Pachetele mari necesită câteva secunde deoarece procesarea are loc pe calculatorul tău, iar structura modulelor rămâne vizibilă după indentare.

Deofuschează codul JavaScript?

Formatează codul ofuscat și îl face mai ușor de citit, dar nu inversează ofuscarea. Șirurile codificate, fluxul de control artificial și codul inutil introdus intenționat rămân la locul lor.

Poate strica funcționarea codului?

Formatorul urmărește să păstreze comportamentul JavaScript în timp ce aplică un stil consecvent. Poate modifica punctuația, ghilimelele și aspectul, deci rezultatul nu este identic octet cu octet. Păstrează originalul, verifică rezultatul și rulează testele proiectului înainte de utilizarea în producție.

Deminifică alt format