Skip to main content

Як Turbopack кешує результати збірки?

Turbopack кешує результати збірки на рівні кожного модуля і кожного кроку його обробки, зберігаючи проміжні та фінальні артефакти в локальному persistent-кеші. Це дозволяє повторно використовувати попередньо розраховані дані і пересобирати тільки те, що реально змінилося.


Як влаштоване кешування в основі

  1. Зберігання результатів за модульною схемою Кожен файл (JS, TS, CSS тощо) кешується після аналізу, трансформації та обчислення залежностей. Якщо файл не змінювався - Turbopack просто бере його результат з кешу.
  2. Контроль цілісності через хеші Вміст файлів і параметри оточення хешуються. Якщо хеш збігається - пересборка для цього модуля не запускається.
  3. Кешування всіх етапів пайплайна Turbopack зберігає не тільки підсумковий модуль, а й проміжні кроки: парсинг AST, резолв імпортів, перетворення, результати плагінів тощо.
  4. Інкрементальний перерахунок графа При зміні одного файлу перераховуються тільки пов'язані вузли графа залежностей, а не весь проєкт.

Що це дає

МеханізмКористь
Кешування модулівповторна збірка не виконується без потреби
Хеш-перевіркивиключає перерахунок незмінених частин
Кеш проміжних етапівзаощаджує CPU на складних трансформаціях
Інкрементальна модельоновлюється тільки необхідний мінімум

Підсумок

Turbopack кешує збірку глибоко і поетапно, використовуючи хеші й модульну структуру, щоб повторно використовувати максимальний обсяг результатів і пересобирати лише затронуті частини проєкту. Саме це - база його високої швидкості при наступних оновленнях.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.