Biome 1.7 发布,支持从 ESLint 和 Prettier 迁移

近日,Biome v1.7 正式发布!这个新版本提供了从 ESLint 和 Prettier 迁移的简单路径。它还引入了格式化程序和 linter 的实验性机器可读报告、新的 linter 规则和许多修复。

使用以下命令更新 Biome:

npm install --save-dev --save-exact @biomejs/biome@latest
npx @biomejs/biome migrate

从 ESLint 迁移

此版本引入了一个新的子命令 biome migrate eslint。此命令将读取您的 ESLint 配置并尝试将其设置移植到 Biome。

该子命令能够处理旧配置文件和平面配置文件。它支持 extends 遗留配置领域并加载共享和插件配置,该子命令也会迁移 .eslintignore

给出以下 ESLint 配置:

{"extends": ["plugin:unicorn/recommended"],"plugins": ["unicorn"],"ignore_patterns": ["dist/**"],"globals": {"Global1": "readonly"},"rules": {"eqeqeq": "error"},"overrides": [{"files": ["tests/**"],"rules": {"eqeqeq": "off"}}]
}

以及以下 Biome 配置:

{"linter": {"enabled": true,"rules": {"recommended": true}}
}

运行 biome migrate eslint --write 以将您的 ESLint 配置迁移到 Biome。该命令会覆盖您的初始 Biome 配置。

例如,它禁用 recommended 会产生以下 Biome 配置:

{"organizeImports": { "enabled": true },"linter": {"enabled": true,"rules": {"recommended": false,"complexity": {"noForEach": "error","noStaticOnlyClass": "error","noUselessSwitchCase": "error","useFlatMap": "error"},"style": {"noNegationElse": "off","useForOf": "error","useNodejsImportProtocol": "error","useNumberNamespace": "error"},"suspicious": {"noDoubleEquals": "error","noThenProperty": "error","useIsArray": "error"}}},"javascript": { "globals": ["Global1"] },"overrides": [{"include": ["tests/**"],"linter": { "rules": { "suspicious": { "noDoubleEquals": "off" } } }}]
}

该子命令需要 Node.js 加载并解析所有插件并 extends 在 ESLint 配置文件中配置。目前 biome migrate eslint 不支持用 YAML 编写的配置。

我们有一个专门的页面,列出了给定 ESLint 规则的等效 Biome 规则。我们处理一些 ESLint 插件,例如 TypeScript ESLint、ESLint JSX A11y、ESLint React 和 ESLint Unicorn。

有些规则与 ESLint 的对应规则相同,而其他规则则受到启发。默认情况下,Biome 不会迁移启发规则。您可以使用 CLI 标志 --include-inspired 来迁移它们。

从 Prettier 迁移

Biome v1.6 引入了子命令 biome migrate prettier

在 Biome v1.7 中,我们添加了对 Prettier 的 overrides 支持,并尝试将 glob 模式转换 .prettierignore 为 Biome 支持的 glob

在迁移过程中,Prettier 的重写被翻译为 Biome 的重写。考虑到以下 .prettierrc.json

{"useTabs": false,"singleQuote": true,"overrides": [{"files": ["*.json"],"options": { "tabWidth": 2 }}]
}

运行 biome migrate prettier --write 以将 Prettier 配置迁移到 Biome。这会产生以下 Biome 配置:

{"formatter": {"enabled": true,"formatWithErrors": false,"indentStyle": "space","indentWidth": 2,"lineEnding": "lf","lineWidth": 80,"attributePosition": "auto"},"organizeImports": { "enabled": true },"linter": { "enabled": true, "rules": { "recommended": true } },"javascript": {"formatter": {"jsxQuoteStyle": "double","quoteProperties": "asNeeded","trailingComma": "all","semicolons": "asNeeded","arrowParentheses": "always","bracketSpacing": true,"bracketSameLine": false,"quoteStyle": "single","attributePosition": "auto"}},"overrides": [{"include": ["*.json"],"formatter": {"indentWidth": 2}}]
}

该子命令需要 Node.js 来加载 JavaScript 配置,例如 .prettierrc.jsbiome migrate prettier 不支持以 JSON5、TOML 或 YAML 编写的配置。

可读的报告

Biome 现在能够输出 JSON 报告,详细说明命令发出的诊断信息。您可以在检查代码库时发出报告:

biome lint --reporter=json-pretty .

目前,我们支持两种报告格式:jsonjson-pretty

请注意,报告格式是实验性的,将来可能会发生变化。请尝试此功能,并告知我们是否需要在报告中添加任何信息。

检查 git 暂存文件

Biome v1.5 添加了 --changed 选项,用于格式化和检查已更改的 Git 跟踪文件。

今天我们推出了一个新选项 --staged,它允许您仅检查添加到 Git 索引的文件(暂存文件)。这对于检查要提交的文件是否已格式化和 linted 非常有用:

biome check --staged .

这对于编写您自己的预提交脚本非常方便。请注意,不会忽略已暂存文件上未暂存的更改。因此,我们仍然建议使用专用的预提交工具。

下一步进展

我们已经开始了 CSS 格式化程序和代码检查工作。面向插件系统的早期实施也正在进行中。我们的一些贡献者已经开始了 GraphQL 和 YAML 的初步工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/824929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql的用户创建、授权(只读)等用户权限体系

MySQL的用户创建、授权以及权限管理体系是其核心功能之一。 1.用户创建 可以使用CREATE USER语句来创建一个新用户。例如,要创建一个名为newuser,密码为password的用户,你可以执行以下命令: CREATE USER newuserlocalhost ID…

larael-admin汉化配置中文

larael-admin汉化配置中文 初始化的laravel-admin框架,界面默认是英文,上干货,配置中文的步骤。 一、执行 composer require "overtrue/laravel-lang:~3.0"; 二、将项目文件 config/app.php中的 Illuminate\Transla…

一篇文章带你快速认识区块链(必看)

引言 区块链技术,这一划时代的分布式账本技术,正在全球范围内掀起一场深度的信任与协作模式变革。区块链如同一部由多方共同维护的公开而又安全的大账本,每一笔交易都被打包成一个区块,通过高级密码学手段确保传输和访问安全&…

Qt——xml文件生成DBus接口

1. 如何根据xml文件生成Dbus接口 要使用 XML 文件生成 D-Bus 接口&#xff0c;你可以按照以下步骤操作&#xff1a; 步骤 1: 准备 XML 文件 确保你的 XML 文件遵循 D-Bus 的接口描述规范。这通常包括定义接口、方法、信号和属性。一个基本的例子如下&#xff1a; <!DOCTYPE…

Axure如何实现限制选择项数量的交互

大家经常会看到这样的功能设计&#xff1a;可以多选&#xff0c;但是限制多选。比如某招聘网站城市的选择只能选择5个。再选择第6个的时候会提示最多只能选择5项。 这个效果是我们经常会遇到的&#xff0c;在工作中也经常会遇到需要制作这样的效果。今天我们一起来看看&#xf…

RabbitMQ-交换机

文章目录 交换机fanoutDirecttopicHeadersRPC 交换机 **交换机 **是消息队列中的一个组件&#xff0c;其作用类似于网络路由器。它负责将我们发送的消息转发到相应的目标&#xff0c;就像快递站将快递发送到对应的站点&#xff0c;或者网络路由器将网络请求转发到相应的服务器…

从二本调剂到上海互联网公司算法工程师:我的成长故事

探讨选择成为一名程序员的原因&#xff0c;是出于兴趣还是职业发展&#xff1f; 在这个科技飞速发展的时代&#xff0c;程序员这一职业无疑成为了许多人眼中的香饽饽。那么&#xff0c;是什么驱使着越来越多的人选择投身于这一行业呢&#xff1f;是出于对编程的热爱&#xff0…

SFusion论文速读

SFusion: Self-attention Based N-to-One Multimodal Fusion Block 摘要 人们用不同的感官感知世界&#xff0c;例如视觉、听觉、嗅觉和触觉。处理和融合来自多种模式的信息使人工智能能够更轻松地理解我们周围的世界。然而&#xff0c;当缺少模态时&#xff0c;可用模态的数…

使用Canal同步MySQL 8到ES中小白配置教程

&#x1f680; 使用Canal同步MySQL 8到ES中小白配置教程 &#x1f680; 文章目录 &#x1f680; 使用Canal同步MySQL 8到ES中小白配置教程 &#x1f680;**摘要****引言****正文**&#x1f4d8; 第1章&#xff1a;初识Canal1.1 Canal概述1.2 工作原理解析 &#x1f4d8; 第2章&…

Python学习之旅中级篇总结:综合应用与展望

在Python中级篇的学习旅程中&#xff0c;我们已经探索了数据结构、网络编程、并发处理、数据库交互等多个关键领域。这些知识为我们构建复杂和高效的Python应用程序奠定了坚实的基础。在本文中&#xff0c;我们将回顾这些主题&#xff0c;并提供一个综合应用的例子。最后&#…

Python多态

1.多态 多态定义&#xff1a;多态&#xff08;polymorphism&#xff09;是指同一个方法调用由于对象不同可能会产生不同的行为 注意以下2点&#xff1a; 1.多态是方法的多态&#xff0c;属性没有多态。 2.多态的存在有2个必要条件&#xff1a;继承、方法重写 class Animal:de…

DRF过滤类

DRF过滤类 目录 DRF过滤类OrderingFilter排序SearchFilter过滤第三方过滤django-filter自定义过滤类使用 OrderingFilter排序 DRF自带的排序类OrderingFilter 必须是继承 GenericAPIView 的视图类才能调用&#xff0c;继承APIView时不能这么配置 # views.py from rest_frame…

QML学习之加载gif

在QML中直接加载GIF图片是不支持的&#xff0c;因为QML的Image元素不支持动画GIF。不过&#xff0c;你可以使用AnimatedImage元素来播放GIF。AnimatedImage是Qt QML模块的一部分&#xff0c;可以加载和播放GIF动画。 import QtQuick 2.0 import QtQuick.Controls 2.0 import Qt…

Hadoop中的MapReduce流程(图解)

一、MapReduce流程图&#xff1a; 二、MapReduce流程步骤&#xff1a; 1.文件上传到HDFS中&#xff0c;默认以128M切分为一个block块 2.每个block块对数据进行逻辑上的切片&#xff0c;切片大小为128M,与block块大小一致 3.之后根据切片产生Map任务 4.Map任务会进入环形缓冲区&…

【Go语言快速上手(二)】 分支与循环函数讲解

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Go语言专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Go语言知识   &#x1f51d;&#x1f51d; Go快速上手 1. 前言2. 分支与循环2.1…

PLGA-PEG-PLGA温敏水凝胶 相变温度下是溶液 相变温度上是凝胶

PLGA-PEG-PLGA温敏水凝胶 相变温度下是溶液 相变温度上是凝胶 【中文名称】 温敏水凝胶 【英文名称】 PLGA-PEG-PLGA 【结 构】 【品 牌】 碳水科技&#xff08;Tanshtech&#xff09; 【纯 度】 95%以上 【保 存】 -20 【规 格】 10g/袋 【产品特性】…

Web端Webrtc,SIP,RTSP/RTMP,硬件端,MCU/SFU融合视频会议系统方案分析

Web端视频融合&#xff0c;会议互通已经是视频会议应用的大趋势&#xff0c;一是目前企业有大量的老视频会议硬件设&#xff0c;二新业务又需要Web端支持视频会议监控直播需求&#xff0c;迫切需要一个融合对接的方案&#xff0c;即能把老的设备用起来&#xff0c;又能对接新的…

浅析LED节能原理

随着全球对节能环保意识的增强&#xff0c;LED显示屏行业也在积极探索更加节能的生产和使用方式。作为显示屏制造厂家&#xff0c;了解和应用LED节能原理不仅是市场的需求&#xff0c;也是企业履行社会责任的表现。本文将浅析LED节能原理及其在显示屏制造中的应用。 LED节能的基…

【R语言】动画图:散点图

绘制成如下的散点图&#xff1a; 如果数据量大&#xff0c;有多个年份&#xff0c;就会生成多张图&#xff0c;例如&#xff1a; 具体代码如下&#xff1a; library(gapminder)#加载 gapminder 包&#xff0c;其中包含了从 1952 年至 2007 年各个国家的 GDP、预期寿命和人口数据…

Activity 的生命周期

进入应用&#xff0c;点击 Home 键退出&#xff0c;再次回到应用&#xff1a; 横竖屏切换时&#xff0c;Activity 的生命周期&#xff08;没有配置 configChanges 属性时&#xff09;&#xff1a; 横竖屏切换时&#xff0c;Activity 的生命周期&#xff08;在清单文件中配置 a…