Biome 2025 roadmap 以及 2.0 规划

原文链接: biomejs.dev/blog/roadma...

Biome 是笔者觉得未来会很有使用场景的一个工具,我觉得就目前的维护力度以及规划来看,2025 年 Biome 会赢。

在前段时间,Biome 发布了 2025 的规划,以及对于 2024 年的一些回顾,我们可以来一起看看。

回顾: Biome 2024

2024 年对于 Biome 来说意义重大,这一年可以说是进展神速:

  • 一共发布了4个 minor 级别的版本迭代,分别是从 1.6 到 1.9,迭代了大量很有用的 features:

    • 新增 biome searchbiome explain 两个命令,使得 biome migrate 命令得到了显著的拓展,使得用户从 ESLint 和 Prettier 迁移过来更加容易。
    • 支持了 CSS 以及 GraphQL 文件的 format 以及 lint
    • 部分支持了 Astro 、Svelte 以及 Vue 文件
    • 支持了配置文件之间可以互相 extends,这对于 monorepo 以及大型项目组织会很有用
    • 自定义 reporters (biomejs.dev/reference/r...) 可以实现更好的 CI 集成以及机器可读的日志输出
    • 支持了 .editorconfig 配置
    • 支持了无数条新的 lint 规则以及一些规则的修复和改进,这里特别要提到对于 useSortedClasses (biomejs.dev/linter/rule...) 这一规则的支持,这标记着 Biome 已经初步开始支持了 Tailwind
  • Biome 的维护人员(github.com/biomejs/bio...%25E7%2594%25B1 "https://github.com/biomejs/biome/blob/main/CONTRIBUTING.md#current-members)%E7%94%B1") 2024年最初的 10 个增长到了 18 个(笔者很荣幸作为其中的一员)

  • Biome 在 OS Awards 2024(osawards.com/javascript/...) 中赢下了 "Productivity Booster"奖项(其中 Rspack 拿下同年 Breakthroungh of the year 奖项)

  • Biome 增加了一些新的 Sponsors (github.com/biomejs/bio...%25EF%25BC%258C%25E5%259B%25A0%25E4%25B8%25BA "https://github.com/biomejs/biome#sponsors)%EF%BC%8C%E5%9B%A0%E4%B8%BA") Biome 是一个完全的社区驱动项目,社区的 sponsors 对于 biome 来说显得尤其珍贵

  • 在多个方面改进了对于 IDE 的支持:

    • 新增了 Zed 拓展支持
    • 对于 VS Code 拓展进行了全面的改造,目前处于预发布阶段
    • IDEA 插件同样也有个大版本的更新,目前可以通过 nighltly channel 来使用

企业支持

Biome 将在 2025 年 1 月开始提供企业支持的方式(参考: biomejs.dev/enterprise/...%25EF%25BC%258C%25E8%25BF%2599%25E5%25B0%2586%25E4%25BC%259A%25E8%25AE%25A9%25E5%2585%25B6%25E4%25B8%25AD%25E7%259A%2584%25E4%25B8%2580%25E4%25BA%259B%25E8%25B4%25A1%25E7%258C%25AE%25E8%2580%2585%25E6%259C%2589%25E6%259B%25B4%25E5%25A4%259A%25E7%259A%2584%25E6%2597%25B6%25E9%2597%25B4%25E5%2592%258C%25E7%25B2%25BE%25E5%258A%259B%25E6%258A%2595%25E5%2585%25A5%25E5%2588%25B0 "https://biomejs.dev/enterprise/)%EF%BC%8C%E8%BF%99%E5%B0%86%E4%BC%9A%E8%AE%A9%E5%85%B6%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E8%B4%A1%E7%8C%AE%E8%80%85%E6%9C%89%E6%9B%B4%E5%A4%9A%E7%9A%84%E6%97%B6%E9%97%B4%E5%92%8C%E7%B2%BE%E5%8A%9B%E6%8A%95%E5%85%A5%E5%88%B0") Biome 开发中去。

Biome 2.0 规划

目前 Biome team 正在忙于 2.0 的开发,由于 Biome 仍然由社区志愿贡献者来维护,2.0 目前并没有预期的发布时间,但 Biome 2.0 将会带来这样的一些新特性:

  • Plugins : 插件系统是个长期要求的 features,Biome 在 2024 年 1 月份的一个 RFC (github.com/biomejs/bio...%25E5%2590%258E%25E5%25B0%25B1%25E5%25BC%2580%25E5%25A7%258B%25E4%25BA%2586%25E6%258F%2592%25E4%25BB%25B6%25E7%259A%2584%25E5%25BC%2580%25E5%258F%2591%25E6%25B5%2581%25E7%25A8%258B "https://github.com/biomejs/biome/discussions/1762)%E5%90%8E%E5%B0%B1%E5%BC%80%E5%A7%8B%E4%BA%86%E6%8F%92%E4%BB%B6%E7%9A%84%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B") 。Biome 2.0 中会带来插件的一些能力: 用户可以通过编写插件的形式来创建自己的 lint 规则当用户使用 GritQL 语言开发的时候。

  • Domains : Domains 是一个配置功能,它可以帮助用户轻松的启用或者禁用掉与特定领域相关的所有规则,例如 React、Next.js 或者测试框架,它还允许 Biome 根据 package.json 中列出的依赖项自动启用推荐的特定领域的 lint 规则,具体可以参考: github.com/biomejs/bio...

  • Monorepo Support : 虽然目前 biome.json 配置文件支持了 extends 配置显著提升了对于 Monorepo 项目支持,但目前依旧存在比较多的薄弱环节。Biome 2.0 将会基于内部的 ProjectLayout 能力来显著提升目前的 monorepo 支持架构,将会解决目前的大部分问题。

  • Suppressions: Biome 目前已经支持通过抑制注释 // biome-ignore 来抑制某些 linter 诊断,在 Biome 2.0 中,添加了对于 // biome-ignore-all 以及 // biome-ignore-start/biome-ignore-end 注释的支持。

  • Multi-file analysis: Biome 2.0 支持了真正的多文件分析(以前都只支持从单个文件分析,没办法获取多个文件的上下文)。这意味着未来 Biome 的 lint 规则将可以从其他文件中查询到信息,这将会启用更强大的 lint 规则。

2025 roadmap

OK,下面就是 Biome 2025 年的 roadmap 介绍了,再次之前,需要强调的是: 因为 Biome 是一个完全由社区驱动的项目,所以这里依然没办法承诺做到以下的功能一定能完成。但这同样并不意味着 Biome 团队没有一份 2025 年想要实现的功能清单:

  • HTML support : 如果不支持 html 的 formatter 以及 linter,那么对于一个 Web 工具链而言,这将会是不完整的,目前 Biome 团队已经在研究这一能力了: github.com/biomejs/bio...
  • Embedded languages: 嵌入式语言比如在一个 JavaScript 文件中通过模版字符串插入 CSS 或者 GraphQL 代码片段、或者HTML 文件中的 JS 以及 CSS 代码,Biome 也应该能处理这些,目前 Biome 正在努力实现这一能力,这同样也应该会为 Astro、Svelte 和 Vue 提供比现在更好的支持
  • Type inference : 类型推导甚至最早是 Biome 2024 的一个希望实现的能力,但由于 Biome 团队正忙于实现多文件分析等能力来作为类型推导能力的先决条件,甚至还有个初期版本的 noFloatingPromises 规则实现(参考: github.com/biomejs/bio...%25E3%2580%2582%25E4%25BB%258A%25E5%25B9%25B4%25E6%2588%2591%25E4%25BB%25AC%25E6%2583%25B3%25E5%258F%2591%25E5%25B8%2583 "https://github.com/biomejs/biome/pull/4911)%E3%80%82%E4%BB%8A%E5%B9%B4%E6%88%91%E4%BB%AC%E6%83%B3%E5%8F%91%E5%B8%83") noFloatingPromises 的真实版本,并进一步涉足类型推导能力。
  • .d.ts generation: 在讨论类型时,Biome 将会支持上第一个 transformation 能力: 基于 TS 源码生成 .d.ts 文件。当然,最开始只会基于开启了 Isolated Modules(www.typescriptlang.org/tsconfig/#i...%25E9%2585%258D%25E7%25BD%25AE%25E7%259A%2584 "https://www.typescriptlang.org/tsconfig/#isolatedModules)%E9%85%8D%E7%BD%AE%E7%9A%84") TS 项目
  • JSDoc support: 如果 Biome 可以支持类型推导能力,那么将 JSDoc 注释用作类型信息的来源也将是个不错的能力支持。
  • Markdown support: 目前已经有一些进展来支持这个能力了(github.com/biomejs/bio...%25E3%2580%2582 "https://github.com/biomejs/biome/issues/3718)%E3%80%82")
  • More plugins: 虽然 Biome 2.0 将推出在 GritQL 中创建 lint 规则的功能,但这只是冰山一角。我们知道我们的用户想要更多,我们当然有更多类型的插件的想法。我们将首先收集 2.0 版本的反馈,然后决定下一步将关注哪个插件领域。

你的支持

如果没有用户以及 Sponsors 在 2024 年给予的大力支持,那么 Biome 这个项目将不会是今天这个样子。

希望今年大家同样给给予 Biome 更多的支持,如果你想支持 Biome ,可以通过以下方式:

相关推荐
yi碗吃不够1 小时前
websocket自动重连封装
前端·vue.js·websocket
程序员小续1 小时前
Node.js学习指南
开发语言·前端·javascript·node.js·ecmascript·es6
林涧泣3 小时前
【Uniapp-Vue3】使用uni.$emit和$on页面通讯实现发布成功即时更新数据
前端·vue.js·uni-app
Wu_zpeng3 小时前
第二篇:前端VSCode常用快捷键-以及常用技巧
前端·ide·vscode
SomeB1oody3 小时前
【Rust自学】20.2. 最后的项目:多线程Web服务器
服务器·开发语言·前端·后端·设计模式·rust
垚垚 Securify 前沿站3 小时前
深入剖析 CSRF 漏洞:原理、危害案例与防护
前端·网络·安全·web安全·网络安全·xss·csrf
Golinie4 小时前
【字节青训营-7】:初探 Kitex 字节微服务框架(使用ETCD进行服务注册与发现)
微服务·架构·golang·kitex·字节青训营
性感博主在线瞎搞4 小时前
【Docker】 Manifest与Buildx:多架构镜像管理的解析与实践
docker·容器·架构·manifest·buildx
TurtleOrange4 小时前
VSCode编辑前端快速开发模板
前端
小哈里5 小时前
【后端开发】系统设计101——通信协议,数据库与缓存,架构模式,微服务架构,支付系统(36张图详解)
数据库·缓存·微服务·架构·系统设计