🚀🚀🚀 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 插件则提供了更高效的解析能力。无论你是小型项目的维护者,还是大型代码库的管理者,这些新特性都能帮助你更高效地管理代码格式。快去试试吧!

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

往期精彩推荐

相关推荐
kyriewen6 小时前
别再 console.log 了:5 个 Chrome DevTools 调试技巧,用过就回不去了
前端·javascript·面试
IT_陈寒8 小时前
Python搞不定字符串编码?这破玩意坑我两小时!
前端·人工智能·后端
DigitalOcean9 小时前
Laravel 开发者已在 DigitalOcean 上开通超过 10 万台服务器
前端·laravel
星始流年9 小时前
从 Tool 到 Skill——基于 LangChain 的服务端Skill实现
前端·langchain·agent
李惟10 小时前
开源本地通信库,纯客户端 RPC,像聊天一样通信
前端
YAwu1110 小时前
深入解析 React 炫彩鼠标跟随标题组件:从坐标定位到动画性能
前端·react.js
GuWenyue10 小时前
排序效率低?5分钟吃透快速排序,性能飙升至O(nlogn)
前端·javascript·面试
OpenTiny社区10 小时前
🎨 看完 GenUI SDK 源码我悟了!
前端·vue.js·github
叁两10 小时前
前端转型AI Agent该如何学习?(前置篇)
前端·人工智能·node.js
何时梦醒10 小时前
深入理解递归与快速排序 —— 从基础入门到手写实现
前端·javascript