Skip to content

Biome

Biome 是一个用于 Web 项目的一体化高性能工具链,旨在为开发者提供维护项目的工具,它既可以作为代码检查工具,也可以作为代码格式化器。

Biome 的定位

Biome 速度非常快,但它和已有的常见工具(如 ESLint、Stylelint 和 Prettier)并非 100% 兼容,目前仍然需要进一步的发展。

Biome 对 JavaScript、TypeScript、JSX、TSX、JSON 和 JSONC 支持度良好,对其它支持度有待改进,因此建议将其用于 JS、TS、JSX 和 TSX 项目,不要与其它代码检查工具、代码格式化器混合使用。

Biome 具体支持情况请参考 Biome 官方文档

安装

首先你需要安装 Biome。目前支持 Biome v1。

shell
npm install @biomejs/biome -D
shell
yarn add @biomejs/biome -D
shell
pnpm install @biomejs/biome -D

配置

JSON

在项目根目录下创建 biome.json

json
{
  "extends": ["@modyqyw/fabric/biome.json"]
}

更新 package.json,增加 lint:biome 命令。

json
{
  "scripts": {
    "lint:biome": "@biomejs/biome lint --write"
  }
}

如果你希望同时使用代码格式化和代码检查,请使用 check 命令代替 lint:biome 命令。

json
{
  "scripts": {
    "check": "@biomejs/biome check --write"
  }
}

如果需要自定义,请参考 Biome 官方文档 / 配置

FAQ

整合 VSC?

先安装 对应的 Biome 插件

视实际情况修改 用户设置工作区设置

json
{
  "editor.codeActionsOnSave": {
    "quickfix.biome": "explicit",
    "source.organizeImports.biome": "explicit"
  }
}

如果你希望同时使用代码格式化和代码检查:

json
{
  "editor.codeActionsOnSave": {
    "quickfix.biome": "explicit",
    "source.organizeImports.biome": "explicit"
  },
  "editor.defaultFormatter": "biomejs.biome",
  "editor.formatOnSave": true
}

整合 WebStorm?

WebStorm 可以使用 插件 以获取 Biome 支持。

整合 lint-staged?

如果你使用该库提供的 lint-staged 配置,请查看 lint-staged 章节

如果你没有使用该库提供的 lint-staged 配置,可以参考以下配置。

javascript
// lint-staged.config.mjs
export default {
  "*": "biome lint --write --no-errors-on-unmatched --files-ignore-unknown=true",
  // 如果你希望同时使用代码格式化和代码检查
  // '*': 'biome check --write --no-errors-on-unmatched --files-ignore-unknown=true',
};

Released under the MIT License.