🚀🚀🚀 Prettier 3.6.0 正式发布,支持 OXC⚓️、Hermes !更快的体验⚡️

前言

Prettier 3.6.0 正式发布!这次更新带来了实验性的快速 CLI 和全新的 OXCHermes 插件,简直是前端开发者的福音!下面就带大家深入了解这次更新的亮点!

往期精彩推荐

正文

Prettier 3.6.0 新特性分享

Prettier 作为一个"固执"的代码格式化工具,以其一致性和零配置的特性深受开发者喜爱。这次的 3.6.0 版本在性能和插件生态上迈出了重要一步,重点推出了三个亮点:实验性快速 CLI、全新 OXC 插件和 Hermes 插件。让我们逐一拆解这些新特性,以及它们如何提升你的开发体验。

1. 实验性快速 CLI:性能飞跃

Prettier 的 CLI(命令行接口)一直是项目中不可或缺的工具,但在大规模代码库中,格式化速度有时会成为瓶颈。3.6.0 引入的实验性快速 CLI 针对性能进行了深度优化。这得益于 Fabio Spampinato 的工作,他在 CLI 性能优化上投入了大量精力。新 CLI 通过更高效的代码解析和处理逻辑,显著缩短了格式化时间,尤其在处理大型项目时效果明显。

使用方法

bash 复制代码
npx prettier --experimental-cli .

或者通过环境变量:

bash 复制代码
PRETTIER_EXPERIMENTAL_CLI=1 npx prettier .

运行之后是这样的:

这个 --experimental-cli 标志目前是可选的,建议在非生产环境中测试。官方提到,这项优化将在未来的 4.0 版本中成为默认行为。如果你有上千个文件的项目,不妨试试看,可能会让你惊讶于它的速度!

2. 新插件:@prettier/plugin-oxc

OXC 是一个用 Rust 编写的快速 JavaScriptTypeScript 解析器,性能优异。Prettier 3.6.0 引入了基于 OXC 的新插件 @prettier/plugin-oxc,提供了 oxc(JavaScript 语法)和 oxc-ts(TypeScript 语法)两个解析器。这对于需要处理大量 JavaScriptTypeScript` 代码的项目来说,是一个巨大的性能提升。

安装

bash 复制代码
yarn add --dev prettier @prettier/plugin-oxc

配置 : 在 .prettierrc 中添加:

json 复制代码
{
  "plugins": ["@prettier/plugin-oxc"]
}

由于插件体积较大,因此被分离为单独的包

使用场景 : 如果你在项目中使用 TypeScript,oxc-ts 解析器可以显著加快格式化速度。例如:

typescript 复制代码
// 输入
function greet(name: string) {
  return `Hello, ${name}!`;
}

格式化后:

typescript 复制代码
// 输出
function greet(name: string) {
  return `Hello, ${name}!`;
}

OXCRust 实现让解析过程更快,尤其适合大型 TypeScript 项目。

3. 新插件:@prettier/plugin-hermes

Hermes 是 Meta 开发的 JavaScript 引擎,广泛用于 React Native 等场景。Prettier 3.6.0 引入了基于 Hermes 的新插件 @prettier/plugin-hermes,提供了 hermes 解析器,专门用于 Flow 语法。这为使用 Flow 的开发者提供了更高效的格式化选项。

安装

bash 复制代码
yarn add --dev prettier @prettier/plugin-hermes

配置 : 在 .prettierrc 中添加:

json 复制代码
{
  "plugins": ["@prettier/plugin-hermes"]
}

同样,由于插件体积较大,因此被分离为单独的包。官方计划在 Prettier v4 中,将 hermes 解析器设为 Flow 的默认解析器,并移除 babel-flow 解析器。

使用场景 : 对于 Flow 项目,hermes 解析器可以更高效地处理类型注解。例如:

javascript 复制代码
// @flow
function add(a: number, b: number): number {
  return a + b;
}

格式化后:

javascript 复制代码
// @flow
function add(a: number, b: number): number {
  return a + b;
}

Hermes 插件的引入为 Flow 用户提供了更现代化的解析方案。

最后

Prettier 3.6.0 的发布为开发者带来了性能提升和更丰富的插件生态。实验性快速 CLI 让格式化速度更快,而 OXCHermes 插件则提供了更高效的解析能力。无论你是小型项目的维护者,还是大型代码库的管理者,这些新特性都能帮助你更高效地管理代码格式。快去试试吧!

今天的分享就这些了,感谢大家的阅读!如果文章中存在错误的地方,欢迎指正!

往期精彩推荐

相关推荐
黄智勇3 分钟前
xlsx-handlebars 一个用于处理 XLSX 文件 Handlebars 模板的 Rust 库,支持多平台使
前端
brzhang1 小时前
为什么 OpenAI 不让 LLM 生成 UI?深度解析 OpenAI Apps SDK 背后的新一代交互范式
前端·后端·架构
brzhang2 小时前
OpenAI Apps SDK ,一个好的 App,不是让用户知道它该怎么用,而是让用户自然地知道自己在做什么。
前端·后端·架构
程序员王天2 小时前
【开发AGIC】Vue3+NestJS+DeepSeek AI作业批改系统(已开源)
vue.js·ai编程·nestjs
水冗水孚2 小时前
React中使用map+area标签实现img图片特定区域标记功能(可用Photoshop精准拾取对应点位)
react.js·html·photoshop
井柏然2 小时前
前端工程化—实战npm包深入理解 external 及实例唯一性
前端·javascript·前端工程化
昔冰_G3 小时前
Vue内置组件KeepAlive——缓存组件实例
vue.js·缓存·vue3·vue2·keep-alive·vue组件缓存·vue内置组件
IT_陈寒3 小时前
Redis 高性能缓存设计:7个核心优化策略让你的QPS提升300%
前端·人工智能·后端
aklry3 小时前
elpis之动态组件机制
javascript·vue.js·架构
井柏然3 小时前
从 npm 包实战深入理解 external 及实例唯一性
前端·javascript·前端工程化