Як Turbopack кешує результати збірки?
Turbopack кешує результати збірки на рівні кожного модуля і кожного кроку його обробки, зберігаючи проміжні та фінальні артефакти в локальному persistent-кеші. Це дозволяє повторно використовувати попередньо розраховані дані і пересобирати тільки те, що реально змінилося.
Як влаштоване кешування в основі
- Зберігання результатів за модульною схемою Кожен файл (JS, TS, CSS тощо) кешується після аналізу, трансформації та обчислення залежностей. Якщо файл не змінювався - Turbopack просто бере його результат з кешу.
- Контроль цілісності через хеші Вміст файлів і параметри оточення хешуються. Якщо хеш збігається - пересборка для цього модуля не запускається.
- Кешування всіх етапів пайплайна Turbopack зберігає не тільки підсумковий модуль, а й проміжні кроки: парсинг AST, резолв імпортів, перетворення, результати плагінів тощо.
- Інкрементальний перерахунок графа При зміні одного файлу перераховуються тільки пов'язані вузли графа залежностей, а не весь проєкт.
Що це дає
| Механізм | Користь |
|---|---|
| Кешування модулів | повторна збірка не виконується без потреби |
| Хеш-перевірки | виключає перерахунок незмінених частин |
| Кеш проміжних етапів | заощаджує CPU на складних трансформаціях |
| Інкрементальна модель | оновлюється тільки необхідний мінімум |
Підсумок
Turbopack кешує збірку глибоко і поетапно, використовуючи хеші й модульну структуру, щоб повторно використовувати максимальний обсяг результатів і пересобирати лише затронуті частини проєкту. Саме це - база його високої швидкості при наступних оновленнях.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.