SuperAPI AI 工具集

biome-configuration

编程与开发

查看项目

更新于 10-16 04:48

技能介绍

用途

本技能用于配置 Biome——一个用 Rust 编写的 JavaScript/TypeScript 工具链,将 lint 与格式化合并为单一工具,作为 ESLint 和 Prettier 的性能替代方案。适用于新项目搭建、从 ESLint/Prettier 迁移、monorepo 配置、规则定制以及 CI/CD 集成等场景。

安装与初始化

安装依赖:

npm install --save-dev @biomejs/biome

或

pnpm add -D @biomejs/biome

或

yarn add -D @biomejs/biome

初始化配置:

npx biome init

该命令在项目根目录创建 biome.json 文件。

配置结构

基本的 biome.json 包含 $schema、vcs、files、formatter、linter 以及语言特定配置(如 javascript.formatter)。示例:

{ "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, "files": { "ignoreUnknown": false, "ignore": [] }, "formatter": { "enabled": true, "indentStyle": "space", "indentWidth": 2, "lineWidth": 80 }, "linter": { "enabled": true, "rules": { "recommended": true } }, "javascript": { "formatter": { "quoteStyle": "single", "trailingCommas": "es5" } } }

Schema 版本

$schema 字段用于 IDE 自动补全与校验,需与 Biome 版本匹配。查看版本:npx biome --version;迁移配置:npx biome migrate --write。

VCS 集成

通过 vcs 配置尊重 .gitignore:enabled 启用集成,clientKind 设为 "git",useIgnoreFile 尊重 .gitignore 模式,defaultBranch 指定默认分支。

文件管理

使用 files.ignore 与 files.include 控制处理范围。常见忽略目录包括 node_modules、dist、build、.next、.cache、coverage 及 .min.js、.log 等。

格式化配置

formatter 支持 enabled、formatWithErrors、indentStyle(space/tab)、indentWidth、lineEnding(lf/crlf/cr)、lineWidth。语言特定配置中,JavaScript/TypeScript 可设置 quoteStyle、quoteProperties、trailingCommas、semicolons、arrowParentheses、bracketSpacing、bracketSameLine;JSON 可设置独立缩进与尾逗号策略。

Linter 配置

linter.rules 支持 recommended 及各规则类别:a11y、complexity、correctness、performance、security、style、suspicious。可对具体规则赋级别:"off" 禁用、"warn" 警告、"error" 报错。例如 suspicious.noExplicitAny 设为 "error",style.useConst 设为 "error"。

Monorepo 配置

根 biome.json 定义共享配置;子包通过 extends 继承根配置并按需覆盖。例如子包 extends: ["../../biome.json"],再单独关闭 noConsoleLog。

最佳实践

始终包含 $schema;升级后运行 migrate;启用 VCS 集成;统一格式化规则;为禁用的规则记录原因;monorepo 使用 extends;CI 中运行 biome ci;配置 pre-commit 钩子;安装编辑器扩展;定期更新。常见问题包括 schema 不匹配、未迁移、规则过严、忽略警告、各包配置不一致等。

高级用法

overrides 可按路径覆盖规则,如对 scripts/**/.js 关闭 noConsoleLog,对 **/.test.ts 关闭 noExplicitAny。package.json 脚本示例:lint 为 biome check .,lint:fix 为 biome check --write .,format 为 biome format --write .,ci 为 biome ci .。CI 模式 biome ci . 会在警告时失败,biome check . 仅检查,biome check --write . 自动修复。

限制

本技能资料未提供 Biome 的收费、价格、平台兼容性等具体信息,相关内容暂未提供。