Что это такое?
Parcel — это сборщик для веба, не требующий настройки: он собирает и компилирует JavaScript, CSS, HTML и другие ассеты в оптимизированный результат, и для начала работы не нужен конфигурационный файл.
Это один инструмент или набор пакетов, связанных между собой?
Parcel устроен как монорепозиторий из множества пакетов (core, transformers, reporters, resolvers и др.), которым управляет Lerna, но подключаете вы его как одну CLI-утилиту или dev-зависимость с именем parcel.
Как мне запустить его в проекте?
Установите его как dev-зависимость командой yarn add --dev parcel или npm install -D parcel, затем передайте ему входной файл, например parcel index.html для режима разработки или parcel build index.html для production-сборки.
Нужна ли мне определённая версия Node.js?
Да, в package.json у Parcel указано, что для работы требуется Node.js >= 16.0.0.
Могу ли я попробовать Parcel, ничего не устанавливая?
Да, в проекте есть REPL (@parcel/repl), собранный из WebAssembly-версии его нативного кода на Rust. Он позволяет попробовать сборку прямо в браузере.
Parcel внутри состоит только из JavaScript?
Нет, помимо пакетов на JavaScript и TypeScript, в Parcel есть нативный код на Rust. Он компилируется в нативные бинарники и в WebAssembly для тех частей сборщика, где важна производительность.
Parcel умеет работать только с JavaScript-бандлами?
Нет, его теги и инструменты охватывают JavaScript, CSS, HTML, модули ES6 и CommonJS. Все они считаются полноценными ассетами, которые Parcel умеет собирать и компилировать.
Which topics is it in?
module-bundler, hmr, modules, commonjs, zero-configuration, assets, es6, build-tool, compiler, monorepo, wasm, css