Repository navigation
v1.28.0
В bundle.config появился параметр inline — список расширений, код которых встраивается в бандл вместо подключения внешней зависимостью. В бандл попадает только то, что реально импортировано и используется, остальное удаляется при сборке. Встроенные расширения не попадают в rel в config.php, а их собственные зависимости остаются внешними, если сами не перечислены в inline. Имена принимают глоб-паттерны ('ui.bbcode.*'), исходники могут быть на TypeScript, JavaScript или Flow независимо от языка расширения, CSS встроенного кода попадает в CSS-бандл, а chef test встраивает те же расширения в тестовый бандл. Если у расширения нет исходников, сборка завершается ошибкой CF1016. Если встроенное расширение всё равно загружается на страницу через rel другой зависимости и его код выполнится дважды, chef предупреждает кодом CF1017. В JSON-отчёте сборки появилось поле inlined. Ошибки, которые выбрасывают плагины сборки, теперь сохраняют свой код CFxxxx.
bundle.config has a new inline option — a list of extensions whose code is bundled in instead of being loaded as an external dependency. Only the code that is actually imported and used ends up in the bundle; the rest is removed during the build. Inlined extensions are left out of rel in config.php, and their own dependencies stay external unless they are listed in inline too. Names accept glob patterns ('ui.bbcode.*'), sources may be TypeScript, JavaScript or Flow regardless of the extension's language, CSS of the inlined code goes to the CSS bundle, and chef test inlines the same extensions into the test bundle. An extension without sources fails the build with CF1016. When an inlined extension is still loaded on the page through rel of another dependency and its code would run twice, chef warns with CF1017. The JSON build report has a new inlined field. Errors raised by build plugins now keep their CFxxxx code.