История изменений
v1.6.3 13.04.2026
- Исправлено удаление side-effect импортов при сборке (например, файлы с регистрацией обработчиков)
- Исправлено игнорирование параметра
adjustConfigPhp: falseв bundle.config - Настройки tree-shaking приведены к стандартным значениям Rollup
v1.6.2 13.04.2026
Добавлена поддержка директории tests/ как альтернативы test/ для unit и e2e тестов
v1.6.1 11.04.2026
- Исправлена выборочная транспиляция классов: статические свойства других классов больше не затрагиваются
v1.6.0 11.04.2026
- Новая команда
chef baseline— проверка доступности веб-фич для текущих browser targets - Новая подкоманда
chef diag baseline— обзор несовместимых фич по всем расширениям - При сборке выводятся предупреждения об использовании API и CSS-свойств, не поддерживаемых целевыми браузерами
chef typecheckтеперь резолвит внешние зависимости через tsconfig paths и учитывает.d.tsфайлы расширенийtransformClassesпринимает массив имён классов для выборочной транспиляции
v1.5.1 01.04.2026
- Исправлен запуск проверки обновлений на Windows (ошибка EINVAL при вызове npm.cmd)
- Команды диагностики (chef diag) больше не создают файлы на диске при анализе зависимостей
v1.5.0 01.04.2026
- Новые диагностические команды:
deps-tree(дерево зависимостей с--depth,--flat,--why) иbundle-size(размер бандла с--with-deps) - Размер ассетов (изображения, шрифты, SVG) теперь учитывается в
top-bundle-sizeиtop-total-size— считаются только файлы, реально используемые в бандле - Сортировка по колонке в
top-bundle-size(--sort js|css|assets|total) иtop-total-size(--sort own|total|deps|tree) - Исправлен парсинг
config.phpс ранним return по условию - Исправлена генерация
.d.ts: интерфейсы с JSDoc-аннотациями выносятся за пределы namespace - Исправлено применение
preset-envк TypeScript-файлам на основеtargets
v1.4.1 30.03.2026
Исправлена ошибка запуска при глобальной установке. Исправлена двойная индентация в бандлах TypeScript-расширений
v1.4.0 29.03.2026
- Переработана генерация
.d.tsфайлов: entry-point traversal, резолв зависимых типов между файлами, поддержка re-export алиасов, abstract классов, перегрузок функций, unique symbol, дженериков - Исправлена транспиляция TypeScript файлов, импортируемых из-за пределов корня пакета (например
../../src/) - Добавлены тесты генерации
.d.ts(99 кейсов)
v1.3.1 27.03.2026
Добавлено уведомление о новых версиях chef. При запуске CLI в терминале проверяется наличие обновлений в npm-реестре, результат кешируется на 24 часа. Если доступна новая версия — после завершения команды выводится информативное сообщение с инструкцией по обновлению.
v1.3.0 27.03.2026
- Табуляция в собранных бандлах вместо пробелов
- Итоговая статистика при сборке и тестировании нескольких расширений
- Правило deny.exportDefault в chef.config — запрет export default в точке входа
- Исправлены ложные срабатывания циклических зависимостей и ускорен фильтрованный поиск
- Подавлено предупреждение Babel о деоптимизации стилей для больших файлов
- Исправлена транспиляция TypeScript-зависимостей в standalone-бандлах
v1.2.1 26.03.2026
- Исправлена генерация путей к изображениям в CSS при копировании в dist — стабильная структура с префиксом images/ и корректная перезапись url()
- Исправлено создание config.php при сборке компонентов и шаблонов — файл обновляется только для расширений
- Исправлен захват ошибок консоли в chef test — теперь отображаются runtime-ошибки и uncaught exceptions, вывод дедуплицируется между браузерами
- Исправлено дублирование бандла при совпадении имени concat-файла с выходным файлом
- Исправлены пустые строки после удаления комментариев в TypeScript-сборках
- Исключены файлы бандлов из chef lint и chef typecheck
- Добавлена поддержка rollup-совместимого формата опции treeshake в bundle.config
- Добавлена опция --exclude для команд lint и typecheck
v1.2.0 25.03.2026
Новая команда chef typecheck — проверка типов TypeScript в расширениях. Поддерживает имена расширений, glob-паттерны, --path и --file. Коды ошибок "не найдено" объединены под CF2005.
v1.1.2 25.03.2026
Исправлена проверка типов при сборке: теперь учитываются настройки compilerOptions из tsconfig.json (включая lib). Обновлён шаблон tsconfig.json — добавлены библиотеки DOM.Iterable и WebWorker.
v1.1.1 25.03.2026
Исправлен неймспейс для зависимостей без bundle.config — в source-окружении используется BX, в project — BX для расширений из bitrix/, window для остальных. Комментарии больше не удаляются из JS-расширений, только из TypeScript.
v1.1.0 24.03.2026
Новый параметр safeNamespaces в bundle.config — безопасные обращения к неймспейсам зависимостей через optional chaining в IIFE-обёртке. Исправлено копирование больших CSS-картинок в dist и порядок CSS в бандле.
v1.0.0 24.03.2026
- Команда
chef lint— линтинг расширений через ESLint 9 с поддержкой TypeScript, кешем и автоисправлением - Команда
chef diag— диагностика проекта: топ зависимостей, размеры бандлов, циклические зависимости, неиспользуемые расширения, поиск использований - Команда
chef aliasesиchef init hooks— генерация алиасов путей для TypeScript и VCS-хуки для автообновления - Флаг
chef --versionдля проверки установленной версии - Минификация через Terser вместо oxc-minify
- Валидация конфига расширения перед сборкой с подробными ошибками
- Предупреждение при отсутствии
.env.testперед запуском тестов - Дебаунс watcher в тестах для предотвращения параллельных перезапусков
- Фильтры
--include/--excludeв командах диагностики
v0.0.0-beta.15 13.03.2026
- Генерация
.d.tsдеклараций для TypeScript-расширений с поддержкой namespace - Удаление комментариев из бандла
- Паттерн
**для глубокого поиска расширений - CSS и зависимости включаются в тестовый бандл
- Структурированные диагностики с кодами ошибок (CF-коды)
- Замена внутренних зависимостей: terser → oxc-minify, php-parser → собственный парсер config.php, rollup-plugin-postcss → собственный CSS-плагин, p-queue → встроенная очередь
- Удалены неиспользуемые зависимости (@vue/compiler-sfc, @rollup/plugin-typescript)
- Убрана зависимость ora из репортеров тестов и инициализации
v0.0.0-beta.14 11.03.2026
Добавлена проверка типов TypeScript при сборке. Ошибки выводятся с фрагментом кода, подчёркиванием и кликабельной ссылкой на файл. Если есть ошибки — сборка останавливается до запуска Rollup.
v0.0.0-beta.13 11.03.2026
- Исправлена работа chef init при установке из npm
- Исправлено форматирование сообщений в chef init
- Описания релизов на двух языках с раздельным changelog в документации
v0.0.0-beta.12 11.03.2026
- Интеграция с PhpStorm — запуск и отладка тестов, TeamCity reporter, CDP debugging
- Новый тестовый reporter с live-обновлением статуса по браузерам
- Кэширование тестовых бандлов между браузерами и Rollup-модулей между расширениями
- Конфиг проекта
chef.config.ts— запрет расширений, дефолты, enforce-правила - Автозамена переменных окружения в сборке
- Улучшенная миграция Flow → TypeScript с новыми трансформациями типов
- Production-сборка (
--production), standalone-бандлы, кастомные Rollup-плагины - Ленивая загрузка команд и плагинов — быстрый холодный старт
- Документация на двух языках с деплоем на GitHub Pages
- Публикация на npm через Trusted Publisher (OIDC provenance)