Опция color в Esbuild управляет использованием цветного
вывода в терминале при сборке. Она влияет на форматирование логов,
предупреждений и ошибок, делая их более читаемыми за счёт цветового
выделения ключевых элементов.
Основная задача механизма — улучшение визуального восприятия диагностической информации при работе сборщика в CLI и через JavaScript API.
Опция поддерживает три основных режима:
true — принудительное включение цветного выводаfalse — полный запрет цветового вывода"auto" — автоматическое определение поддержки
терминалаautoРежим "auto" является стандартным поведением. Esbuild
анализирует окружение выполнения и принимает решение о включении цветов
на основе нескольких факторов:
NO_COLOR,
FORCE_COLOR)Если окружение не поддерживает цветной вывод, форматирование упрощается до монохромного текста.
В командной строке опция задаётся через флаг:
esbuild input.js --bundle --color=true
или
esbuild input.js --bundle --color=false
или
esbuild input.js --bundle --color=auto
При отсутствии параметра используется режим auto.
В API Esbuild опция передаётся через объект конфигурации
build или context:
import { build } from 'esbuild';
build({
entryPoints: ['src/index.js'],
bundle: true,
outfile: 'dist/bundle.js',
color: true
});
Пример с отключением цветового вывода:
import { build } from 'esbuild';
build({
entryPoints: ['src/index.js'],
bundle: true,
outfile: 'dist/bundle.js',
color: false
});
Автоматический режим:
build({
entryPoints: ['src/index.js'],
bundle: true,
outfile: 'dist/bundle.js',
color: 'auto'
});
Цветовое оформление затрагивает следующие элементы вывода:
Типичная раскраска включает:
Поведение опции зависит от среды выполнения:
Поддержка терминалов:
CI-среды: Во многих CI по умолчанию цвет
отключается, если не задано принудительное включение через
FORCE_COLOR.
На работу color влияют стандартные переменные
окружения:
NO_COLOR — полностью отключает цветовой вывод
независимо от настройкиFORCE_COLOR — принудительно включает цветовой вывод
даже при autoЭти переменные имеют приоритет над частью внутренних автоматических проверок.
При включённом цвете сообщения компиляции становятся структурированными:
При отключении цвета вывод остаётся функциональным, но теряет визуальную структуру.
Механизм цветового вывода в Esbuild оптимизирован для минимального влияния на производительность:
Опция color часто используется совместно с:
logLevel — управляет уровнем детализации логовlogLimit — ограничивает количество сообщенийsilent — полностью отключает вывод (в этом случае
color не применяется)metafile — структурированные данные, не зависящие от
цветового оформленияРазработка: Обычно используется режим
auto или true для улучшения читаемости ошибок
в терминале.
CI/CD: Часто применяется false или
управление через NO_COLOR для чистых логов.
Логирование в файлы: Цвет обычно отключается для избежания ANSI-кодов в текстовых файлах.
В некоторых терминалах поддержка цвета ограничена:
Esbuild не настраивает палитру вручную, а полагается на возможности окружения, используя стандартные ANSI-последовательности.