Skip to content

Быстрый старт

Рекомендуемая настройка и типовые сценарии.

Установка

Установите oxfmt как dev-зависимость:

sh
$ npm add -D oxfmt
sh
$ pnpm add -D oxfmt
sh
$ yarn add -D oxfmt
sh
$ bun add -D oxfmt

Добавьте скрипты в package.json:

package.json
json
{
  "scripts": {
    "fmt": "oxfmt",
    "fmt:check": "oxfmt --check"
  }
}

Форматирование файлов:

sh
npm run fmt
sh
pnpm run fmt
sh
yarn run fmt
sh
bun run fmt

Проверка форматирования без записи файлов:

sh
npm run fmt:check
sh
pnpm run fmt:check
sh
yarn run fmt:check
sh
bun run fmt:check

Использование

sh
oxfmt [OPTIONS] [PATH]...

Запуск oxfmt без аргументов форматирует текущий каталог (аналог prettier --write .).

Опции CLI вроде --no-semi не поддерживаются. Вместо этого используйте файл конфигурации, чтобы настройки были одинаковыми в CLI и в интеграциях с редакторами.

При использовании glob-путей в позиционных аргументах заключайте их в кавычки — иначе оболочка может или не может их развернуть в зависимости от окружения.

Полный список опций см. в справочнике CLI.

Типовые сценарии

Pre-commit с lint-staged

package.json
json
{
  "lint-staged": {
    "*": "oxfmt --no-error-on-unmatched-pattern"
  }
}

--no-error-on-unmatched-pattern предотвращает ошибку, когда ни один файл не подходит под шаблон.

Создать файл конфигурации

Инициализируйте .oxfmtrc.json значениями по умолчанию:

sh
oxfmt --init

Миграция с Prettier

sh
oxfmt --migrate prettier

Подробности см. в разделе миграция с Prettier.

Список отличающихся файлов

sh
oxfmt --list-different

Удобно для настройки игнорируемых файлов.

Передача содержимого через pipe

sh
echo 'const   x   =   1' | oxfmt --stdin-filepath test.ts

Вывод: const x = 1;

Node.js API

ts
import { format, type FormatOptions } from "oxfmt";

const input = `let a=42;`;
const options: FormatOptions = {
  semi: false,
};

const { code } = await format("a.js", input, options);
console.log(code); // "let a = 42"

Дальнейшие шаги