Skip to content

История изменений

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)

Распространяется под лицензией MIT.