Last updated on
使用 biomejs 进行代码格式化
Biomejs 支持的语言有 JS, TS, JSX, JSON, JSONC,那么以后 React 和 Solidjs 的工程就可以直接用这个来格式化了。Vue, Svelte, Astro 的支持还在跟进,还是挺期待的。
 前言
很久以前写了一个专门用于 JSX 的 eslint plugin,主要是应用于 Solidjs 的项目,但依然有很多不满意的地方,甚至经常会出现 BUG。最近看到一个 https://biomejs.dev/ 能够完美满足 JSX 的格式化需求,那就直接用这个工具吧。
配置
在工程的根目录下创建 ,下面是我的配置。
{  "$schema": "https://biomejs.dev/schemas/1.7.3/schema.json",  "organizeImports": {    "enabled": true  },  "linter": {    "enabled": true,    "rules": {      "recommended": true,      "a11y": {        "useButtonType": "off",        "useKeyWithClickEvents": "off",        "noSvgWithoutTitle": "off"      },      "style": {        "noNonNullAssertion": "off",        "noParameterAssign": "off",        "useImportType": "warn"      },      "complexity": {        "noForEach": "off",        "useArrowFunction": "off"      },      "suspicious": {        "noExplicitAny": "off",        "noEmptyInterface": "off"      }    },    "ignore": ["node_modules/**", "dist/**", ".vscode/**"]  },  "formatter": {    "indentStyle": "space",    "indentWidth": 2,    "ignore": ["node_modules/**", "dist/**", ".vscode/**"],    "lineEnding": "lf"  },  "javascript": {    "formatter": {      "semicolons": "asNeeded",      "quoteStyle": "single"    }  }}完成后,在 中,增加一条运行脚本:
{  "scripts": {    "format": "biome format --write ."  }}即可通过下面的命令行来执行格式化了。
pnpm run format ./src二编
刚开始用的时候配置的规则稍有繁琐,按照他本身的规则来写代码是真难受啊。尤其是 import 语句,VSCode 不会自动给引入的 interface 和 type 加上 import type 的提示,然后 biome 不做配置就不会自动修复。
翻来找去找文档,终于在 .vscode/settings.json 的配置中找到了答案。
{  "editor.codeActionsOnSave": {    "quickfix.biome": "explicit",    "source.organizeImports.biome": "explicit"  }}我估计之后还是会回到 eslint,毕竟有个亲民的大佬 @antfu 在不断地做贡献啊。
#formatter  #linter