<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Oxfmt вышел в бету: форматирование JavaScript и TypeScript на новом уровне]]></title><description><![CDATA[<p dir="auto">Oxfmt вышел в бету - это значит, что форматирование кода для JavaScript и TypeScript стало еще надежнее и быстрее. Инструмент на Rust полностью совместим с Prettier, но работает в разы шустрее, особенно на больших проектах. Теперь можно забыть о тормозах в CI и редакторах.</p>
<p dir="auto">Поддержка новых форматов файлов и встроенные фичи вроде сортировки импортов решают типичные проблемы команд. Если вы мигрируете с Prettier, diffs будут минимальными. Это упрощает жизнь фронтенд-разработчикам и упрощает workflows.</p>
<h2>Что нового в бете Oxfmt</h2>
<p dir="auto">Бета-версия Oxfmt достигла 100% совместимости с тестами Prettier на JavaScript и TypeScript. Команда проекта доработала оставшиеся несоответствия, сообщив о них в Prettier, и теперь работает над полным слиянием подходов. Это критично для миграции - код будет форматироваться идентично, без сюрпризов в git.</p>
<p dir="auto">С декабря альфы добавили поддержку множества файлов: от JSON и YAML до HTML, CSS и даже Markdown с MDX. Встроенная сортировка Tailwind-классов и импортов избавляет от лишних плагинов. Проекты вроде Vue.js, Turborepo и Sentry уже используют Oxfmt в продакшене - это показывает реальную adoption.</p>
<p dir="auto">Вот ключевые улучшения:</p>
<ul>
<li><strong>100% Prettier-тесты</strong>: Полное покрытие JS/TS, миграция без риска.</li>
<li><strong>Расширенные форматы</strong>: YAML, TOML, HTML, Vue, Angular, GraphQL и другие.</li>
<li><strong>Встроенные фичи</strong>: Сортировка импортов, Tailwind, package.json - без плагинов.</li>
<li><strong>Стабильность</strong>: Фиксы для embedded языков вроде CSS-in-JS и styled-jsx.</li>
</ul>
<h2>Сравнение с Prettier: скорость и совместимость</h2>
<p dir="auto">Oxfmt написан на Rust и использует быстрый парсер Oxc, что дает прирост производительности до 30x по сравнению с Prettier на Node.js. Prettier хорош стабильностью, но на монолитах и в CI он заметно тормозит. Oxfmt решает это, сохраняя opinionated стиль форматирования.</p>
<p dir="auto">Пример: в длинных массивах Prettier иногда ломает строки неоптимально, а Oxfmt держит inline, если помещается - это последовательнее. Конфигурация похожа, основные опции вроде printWidth и singleQuote поддерживаются из коробки. Нет нужды в доп. зависимостях.</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Аспект</th>
<th>Prettier</th>
<th>Oxfmt</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Скорость</strong></td>
<td>Базовая (Node.js)</td>
<td>10-30x быстрее (Rust)</td>
</tr>
<tr>
<td><strong>Совместимость JS/TS</strong></td>
<td>100% эталон</td>
<td>100% тестов в бете</td>
</tr>
<tr>
<td><strong>Поддержка форматов</strong></td>
<td>JS/TS + плагины</td>
<td>20+ встроенно</td>
</tr>
<tr>
<td><strong>Tailwind сортировка</strong></td>
<td>Плагин нужен</td>
<td>Встроено</td>
</tr>
<tr>
<td><strong>Конфиг</strong></td>
<td>.prettierrc</td>
<td>Совместим, oxfmt config</td>
</tr>
</tbody>
</table>
<p dir="auto"><em>Нюанс</em>: Для редких edge-кейсов репортите issues - команда активно фиксит.</p>
<h2>Как подключить Oxfmt в проект</h2>
<p dir="auto">Интеграция простая: замените prettier на oxfmt в package.json скриптах. CLI работает аналогично - oxfmt . форматирует все, oxfmt --check проверяет. Для VSCode и Cursor есть extensions с auto-format on save. Node.js API позволяет вызывать форматирование программно.</p>
<p dir="auto">Пример package.json:</p>
<pre><code class="language-json">{
  "scripts": {
    "fmt": "oxfmt",
    "fmt:check": "oxfmt --check"
  }
}
</code></pre>
<p dir="auto">Для VSCode добавьте в settings.json:</p>
<pre><code class="language-json">{
  "editor.defaultFormatter": "oxc.oxc-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.oxfmt": "always"
  },
  "oxc.fmt.experimental": true
}
</code></pre>
<p dir="auto">Шаги миграции:</p>
<ol>
<li>Установите oxfmt: npm i -D oxfmt.</li>
<li>Замените скрипты и удалите Prettier, если не нужен.</li>
<li>Проверьте diffs на небольшом проекте.</li>
<li>Для сложных конфигов используйте мигратор с --js-plugins.</li>
</ol>
<h2>Возможности за пределами JS/TS</h2>
<p dir="auto">Oxfmt теперь универсален: форматирует CSS, SCSS, HTML с Angular/Vue шаблонами, даже GraphQL и Handlebars. Embedded языки вроде CSS-in-JS или GraphQL в шаблонах обрабатываются нативно. Сортировка полей в package.json - приятный бонус для npm-проектов.</p>
<p dir="auto">Это снижает количество инструментов в стеке. Один oxfmt вместо кучи prettier-плагинов. Поддержка JSON5, TOML упрощает конфиги. В будущем ждем больше языков и фич вроде range-ignore для JS/TS.</p>
<p dir="auto">Список поддерживаемых:</p>
<ul>
<li><strong>Веб</strong>: HTML, CSS, SCSS, Less, Markdown, MDX.</li>
<li><strong>Конфиги</strong>: JSON, JSONC, JSON5, YAML, TOML.</li>
<li><strong>Фреймворки</strong>: JSX/TSX, Angular, Vue, Ember, GraphQL.</li>
</ul>
<h2>Горизонты Rust-инструментов для JS</h2>
<p dir="auto">Бета Oxfmt - шаг к доминированию Rust-tooling в JS-экосистеме. С Oxlint и bundler’ом от той же команды стек становится цельным и сверхбыстрым. Осталось доработать редкие Prettier-опции и нишевые форматы.</p>
<p dir="auto">Дальше - интеграция с monorepo-tools и улучшения для мобильной разработки. Стоит присмотреться, если скорость CI важна. Rust-парсер Oxc уже задает стандарт для парсинга JS/TS.</p>
]]></description><link>https://forum.exlends.ru/topic/1213/oxfmt-vyshel-v-betu-formatirovanie-javascript-i-typescript-na-novom-urovne</link><generator>RSS for Node</generator><lastBuildDate>Sat, 17 Oct 2026 02:56:11 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/1213.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Mar 2026 09:18:32 GMT</pubDate><ttl>60</ttl></channel></rss>