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

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

往期精彩推荐

相关推荐
fanruitian3 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
rayufo3 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk3 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
摘星编程4 小时前
React Native + OpenHarmony:Timeline垂直时间轴
javascript·react native·react.js
2501_944525545 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
jin1233225 小时前
React Native鸿蒙跨平台完成剧本杀组队详情页面,可以复用桌游、团建、赛事等各类组队详情页开发
javascript·react native·react.js·ecmascript·harmonyos
李白你好5 小时前
Burp Suite插件用于自动检测Web应用程序中的未授权访问漏洞
前端
刘一说6 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
jin1233227 小时前
基于React Native鸿蒙跨平台移动端表单类 CRUD 应用,涵盖地址列表展示、新增/编辑/删除/设为默认等核心操作
react native·react.js·ecmascript·harmonyos
徐同保7 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js