Parcel рассматривает приложение как граф зависимостей, где каждая точка входа становится корнем сборки. В отличие от классических конфигурационных сборщиков, Parcel стремится автоматически определять тип входного файла и строить цепочку зависимостей без явного описания в конфиге. Точки входа могут быть представлены HTML, JavaScript, TypeScript и CSS файлами, при этом каждый тип обрабатывается как самостоятельный стартовый узел графа.
Parcel интерпретирует точку входа как файл, из которого начинается анализ импортов и подключений. При обработке каждого входного файла система:
Каждый тип входа влияет на начальную структуру графа, но не ограничивает дальнейшее расширение: HTML может подтягивать JS и CSS, JS — импортировать CSS и TypeScript, CSS — включать другие CSS-файлы и ресурсы.
HTML-файл в Parcel выступает как высокоуровневый контейнер приложения. Он не просто копируется в сборку, а анализируется как источник зависимостей.
При встрече HTML Parcel:
<script>,
<link>, <img>,
<source>;Особое значение имеют следующие элементы:
<script src="..."> — подключение JavaScript как
зависимость;<link rel="stylesheet" href="..."> — подключение
CSS как отдельной ветки графа;<script> и <style> —
становятся частью текущего модуля;HTML часто становится точкой входа для сложных приложений, где:
JavaScript-файлы являются наиболее распространёнными точками входа в современных SPA-приложениях. Parcel воспринимает JS как модульную единицу, из которой строится дерево зависимостей.
При старте с JS Parcel:
import и export;Конструкция import() создаёт отдельные чанки:
JS-точка входа часто приводит к структуре:
TypeScript-файлы поддерживаются нативно через встроенный трансформер.
Parcel:
TypeScript как точка входа отличается тем, что:
.ts или .tsx;CSS-файлы могут выступать самостоятельными входными точками, особенно в библиотеках стилей или микрофронтендах.
При использовании CSS как entry:
@import включаются в граф;Parcel обрабатывает:
@import "file.css" — расширение графа;url() — добавление ассетов в сборку;CSS entry часто используется для:
Parcel допускает несколько точек входа одновременно. В этом случае формируется несколько корневых узлов графа.
При наличии нескольких entry:
Parcel определяет тип точки входа автоматически, но дальнейшая обработка зависит от контекста:
Каждый тип влияет на стратегию бандлинга, но не изменяет общую модель зависимостей.
В режиме разработки каждая точка входа:
HTML entry приводит к перезагрузке документа, JS — к hot replacement модулей, CSS — к инъекции стилей без перезагрузки страницы.
Parcel различает:
HTML часто служит источником неявных входов, расширяя граф без прямого указания в конфигурации.
JS и TS могут порождать новые entry через динамическую загрузку модулей, что влияет на итоговую структуру бандлов.
Каждый тип entry активирует собственный pipeline:
.html → HTML parser + asset resolver;.js → JS bundler + module graph builder;.ts / .tsx → TS transformer → JS
pipeline;.css → CSS parser + dependency resolver.Эта система позволяет унифицировать входные точки без ручной настройки трансформаций.