Демініфікація JavaScript онлайн
Вставте мінімізований файл .js, збірку webpack або фрагмент в один рядок та отримайте JavaScript із правильними відступами у правій панелі. Prettier форматує код у вашому браузері, нічого нікуди не надсилаючи.
Чому JavaScript стає нечитабельним
Кожен сучасний процес збирання мінімізує JavaScript перед публікацією. Terser, esbuild, SWC та подібні інструменти прибирають пробіли й коментарі, перейменовують локальні змінні та функції в окремі літери, згортають вкладені блоки в ланцюжки виразів та об’єднують застосунок в один або два файли. React-застосунок із трьох сотень читабельних вихідних файлів потрапляє до браузера одним рядком на кількасот кілобайт. Код працює справно, але читати його доводиться як суцільну стіну тексту без помітної структури.
Що насправді повертає форматування
Форматування збірки відновлює те, що допомагає орієнтуватися в коді. Інструкції знову займають окремі рядки, тож замість посилання на рядок 1, стовпець 24815 ви отримуєте зрозуміле місце, до якого можна перейти. Вкладеність показує початок і кінець функції, гілку, яку захищає умова, та будову ланцюжка зворотних викликів. Рядки, URL-адреси й назви кінцевих точок легко переглянути, а саме це часто й потрібно під час перевірки стороннього скрипту.
Підтримка сучасного синтаксису
Форматер аналізує сучасний JavaScript, а не обмежений набір конструкцій десятирічної давності. Стрілкові функції, класи, async і await, генератори, optional chaining, nullish coalescing, шаблонні літерали, деструктуризація, spread-синтаксис, динамічний імпорт та ES-модулі форматуються правильно. Підтримується й JSX, що корисно для React-компонентів, які зібрали без його перетворення. Оскільки всю роботу виконує Prettier, результат відповідає правилам, які ваш редактор уже застосовує до ваших файлів.
Обмеження демініфікації
Демініфікація не є зворотним відновленням програми. Мінімізатор видалив коментарі та перейменував змінні, і жоден форматер не вгадає, що змінна n раніше називалася remainingRetries. Якщо проєкт опублікував карту вихідного коду, завантажте її в інструментах розробника браузера: лише вона дозволяє повернути справжній оригінал. А якщо файл навмисно обфускували, а не просто мінімізували, очікуйте читабельної структури, але не обов’язково зрозумілого задуму.
Поширені запитання
Чи можна демініфікувати збірку webpack або Vite?
Так. Вставте збірку або відкрийте файл кнопкою вибору, і він відформатується як будь-який JavaScript-файл. Великі збірки потребують кількох секунд, бо обробка відбувається на вашому пристрої. Після додавання відступів структуру модулів стає легше розрізняти.
Чи виконується деобфускація JavaScript?
Інструмент форматує обфускований код, завдяки чому його значно легше читати, але саму обфускацію не усуває. Закодовані рядки, штучно ускладнений потік керування та навмисно доданий зайвий код залишаються на місці.
Чи може форматування пошкодити код?
Форматер прагне зберегти поведінку JavaScript, застосовуючи узгоджений стиль. Він може змінити розділові знаки, лапки та розташування тексту, тому результат не буде побайтовою копією. Збережіть оригінал, перевірте результат і запустіть тести проєкту перед використанням зміненої збірки в робочому середовищі.
