Skip to content

v1.27.0

Choose a tag to compare

@vovkabelov vovkabelov released this 30 Sep 12:06
· 77 commits to main since this release

Проверка типов, транспиляция TypeScript и сборка .d.ts переведены на TypeScript 7.1 — новый компилятор, написанный на Go. chef typecheck работает примерно в 3 раза быстрее, сборка TypeScript-расширений — в 1,6–1,9 раза. TypeScript 7 строже выводит типы из JS-зависимостей, поэтому в части расширений могут появиться новые ошибки: параметры Flow-функций с аннотацией типа стали обязательными при вызове из TypeScript, JSDoc-тип Object больше не приравнивается к any, а некоторые @ts-expect-error становятся лишними. Если IDE работает на TypeScript 5 или 6, её ошибки могут отличаться от ошибок chef. Обращения к глобальному BX — BX.ready(), window.BX, globalThis.BX — по-прежнему не считаются ошибкой, даже если значение BX нигде не объявлено. chef aliases больше не записывает baseUrl в aliases.tsconfig.json: TypeScript 7 эту опцию не поддерживает, а старые файлы с baseUrl chef читает как раньше. Убраны ложные предупреждения CHEF_DTS о встраивании типов в .d.ts.

Chef запускается примерно в 5 раз быстрее: каждая команда загружает только свои зависимости. Проверка Baseline разбирает исходники нативным парсером Oxc, а к Babel обращается, только если Oxc не справился.

Данные о браузерах (caniuse-lite) теперь обновляются с каждым релизом chef. Вместо предупреждения browserslist с советом запустить update-browserslist-db chef показывает своё и предлагает обновить сам chef.

Зависимости обновлены до последних версий в рамках текущих мажоров, в том числе с исправлениями уязвимостей в rollup, postcss и svgo.


Type checking, TypeScript transpilation and .d.ts bundling now run on TypeScript 7.1, the new compiler written in Go. chef typecheck is about 3 times faster, and building TypeScript extensions is 1.6–1.9 times faster. TypeScript 7 infers types from JS dependencies more strictly, so some extensions may get new errors: Flow function parameters with a type annotation are now required when called from TypeScript, the JSDoc type Object no longer means any, and some @ts-expect-error directives become unused. An IDE running TypeScript 5 or 6 may report different errors than chef. Uses of the global BX — BX.ready(), window.BX, globalThis.BX — are still not reported, even when nothing declares the BX value. chef aliases no longer writes baseUrl to aliases.tsconfig.json, since TypeScript 7 does not support it; older files with baseUrl are still read as before. False CHEF_DTS warnings about types being inlined into .d.ts are gone.

Chef starts about 5 times faster: each command loads only its own dependencies. The Baseline check parses sources with the native Oxc parser and falls back to Babel only when Oxc cannot handle a file.

Browser data (caniuse-lite) now updates with every chef release. Instead of the browserslist warning suggesting update-browserslist-db, chef shows its own notice that suggests updating chef itself.

Dependencies are updated to their latest versions within the current major versions, including security fixes for rollup, postcss and svgo.