Skip to content

Линтер

Новые правила

См. руководство добавление правил.

Разработка

Создайте ./test.ts, затем:

bash
just watch "cargo run --bin oxlint -- test.ts"

Или запускайте тесты с фильтром по правилу:

bash
just watch "cargo test -p oxc_linter -- rule-name"

Проверка oxlint на целой кодовой базе

Чтобы прогнать oxlint на большом проекте и проверить изменения:

bash
# соберите CLI oxlint в репозитории oxc
just oxlint-node
# затем в каталоге тестового проекта:
node <path-to-oxc-repo>/apps/oxlint/dist/cli.js
# можно передавать флаги, например -D для правила и --disable-x-plugin:
node <path-to-oxc-repo>/apps/oxlint/dist/cli.js -D rulename --disable-unicorn-plugin --disable-oxc-plugin --disable-typescript-plugin

Снапшот-тесты

Для снапшот-тестов используется cargo insta.

После cargo test -p oxc_linter, если вызывается Tester::new(RULE::NAME, pass, fail).test_and_snapshot(), появится файл rule.snap.new.

Примите изменения командой cargo insta accept.

Категории правил

  • correctness — заведомо неверный или бесполезный код
  • suspicious — код, который с высокой вероятностью ошибочен или бесполезен
  • pedantic — строгие правила или с возможными ложными срабатываниями
  • perf — код, который можно ускорить
  • style — более идиоматичный стиль
  • restriction — включать осознанно, по ситуации
  • nursery — новые правила в разработке