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 的初步工作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DSPE-PEG-TPP 磷脂聚乙二醇-磷酸三苯酯 靶向线粒体纳米颗粒药物递送系统

DSPE-PEG-TPP 磷脂聚乙二醇-磷酸三苯酯 靶向线粒体纳米颗粒药物递送系统 【中文名称】磷脂-聚乙二醇-磷酸三苯酯 【英文名称】DSPE-PEG-TPP 【结 构】 【品 牌】碳水科技(Tanshtech) 【纯 度】95%以上 【保 存】-20℃ 【规 格】50mg,…

windows11 wsl2 ubuntu20.04安装vision mamba并进行测试

windows11 wsl2 ubuntu20.04安装vision mamba 安装流程使用cifar-100测试安装成功 安装流程 vision mamba安装了半天才跑通,记录一下流程在wsl上安装cuda wget https://developer.download.nvidia.cn/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05…

浅析ARM Contex-CM3内核架构

目录 概述 1. Cortex-M3类型MCU 1.1 MCU 架构 1.2 实时性系统概念 1.3 处理器命名法 1.4 MCU的一些知识 2. Cortex-M3 概览 2.1 Cortex-M3综述 2.2 寄存器组 2.3 操作模式和特权极别 2.4 内建的嵌套向量中断控制器 2.5 存储器映射 2.6 总线接口 2.7 存储器保护单元…

Spring Boot 目前还是最先进的吗?

当谈到现代Java开发框架时,Spring Boot一直处于领先地位。它目前不仅是最先进的,而且在Java生态系统中拥有着巨大的影响力。 1. 什么是Spring Boot? Spring Boot是由Spring团队开发的开源框架,旨在简化基于Spring的应用程序的开…

L1-8 刮刮彩票

“刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示: 每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9,数字各不重复,并以 33 的“九宫格”形式排布在彩票上。 在游戏开始时能看见一个位置上…

sql篇-内连接-左连接-右连接

内连接:表1 inner join 表2 on 条件 inner join join(简写) 查找:满足 匹配两个表条件的记录:student.s_id s.s_id(不匹配的记录不筛选) select * from student inner join score s on student.s_id s.s_id; 查询…

mpeg4标准与 H264标准下QP值间 关系

1 标准对比 MPEG(mpeg1,mpeg2,mpeg4) 与H264 QP值间 关系。 x264vfw 的1pass 是按照 I q:21 P q:24 B q:26 的量化算的,而且在vfw里面不能改变这些参数. 但在mencoder里则可以定义1pass的 qp_constant<1−51> 这个和xvid不同的,xvid一般是用q2跑1pass的,当然你也可以在x2…

Python基于面向对象的图书馆借阅管理系统

应用面向对象程序设计思想,类设计合理。 图书借阅系统功能及设计要求: 主要功能: 1、学生的登陆和注册 2、管理员的登陆和注册3、学生登录后,可以操作书籍的借阅、归还以及查看已借书籍的信息 4、管理员登录后 (1)可以对学生信息进行增加、修改、删除; (2)可以对书籍的…

项目系统名称更改(AntV)

项目系统名称更改&#xff08;AntV&#xff09; 1. 修改文件index.html 文件路径&#xff1a;index.html&#xff0c;修改这两处&#xff0c;即可修改刷新系统时候&#xff0c;浏览器显示的系统名称 2. 修改文件index.js 文件路径&#xff1a;src/config/index.js&#xf…

斯坦福重磅AI报告:中国专利数全球第一 AI还不能完全打败人类

AI浪潮方兴未艾&#xff0c;距chatgpt引爆的变革已过去一年&#xff0c;AI行业发生哪些变化&#xff1f; 4月16日&#xff0c;斯坦福大学“以人为本”人工智能研究所HAI&#xff0c;发布长达501页的《2024年人工智能指数报告》&#xff0c;披露了2023年全球人工智能的发展趋势…

【活动通知】COC 成都 CMeet 系列:2024 WTM 社区(国际妇女节)IWD 活动!

文章目录 前言一、关于 2024 WTM IWD 社区活动二、时间地点三、活动议程及报名方式四、分享嘉宾及主题信息4.1、李然——点燃创造力&#xff0c;重塑未来4.2、何静——乘风破浪&#xff0c;与 AI 的过去、现在、未来式4.3、晓丽老师——用 AI 给女性插上飞翔的翅膀 五、CSDN 成…

网络靶场实战-恶意程序自启动

简介 当恶意程序入侵目标为个人计算机时&#xff0c;相较于服务器&#xff0c;个人计算机对关机或重启操作更加频繁&#xff0c;关机时计算机所有的进程都会被结束&#xff0c;因此恶意程序需要配置自启动来使自己在每次开机时能够被运行。 本篇介绍一个恶意样本(b8090d7d12d…

OCR识别图片的字体与正常的字不同怎么调回来呢?

一般来说&#xff0c;OCR的任务是将图片文字转化成计算机可编辑的文字&#xff0c;一般不识别字体&#xff0c;当然&#xff0c;也不排除某些OCR软件可以识别字体的&#xff0c;具体来说&#xff0c;造成这种现象的可能原因如下&#xff1a; 1. **字体匹配问题**&#xff1a;OC…

【SpringBoot+VUE+ELEMENT 】前后端分离的管理系统的实现——基础功能(记录向)

一个前后端分离的实现。后端使用SpringBoot&#xff0c;前端使用Vue&#xff0c;后端标准的四层结构&#xff0c;前端是用的Element。 一、环境准备 1.安装node.js Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。 成功后cmd中运行 node -v npm -v 出现 对应的版本…

【python】flask中ORM工具SQLAIchemy,各种数据查询操作详细解析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

使用Spring进行文件的上传和下载

概览 使用Spring进行文件的上传和下载Spring上传文件接口设计dubbo接口设计上传文件流的RPC的接口设计 Spring文件下载接口设计dubbo接口设计下载文件流的RPC的接口设计 spring上传文件大小控制 使用Spring进行文件的上传和下载 本文主要介绍在Spring框架下面调用微服务的dubb…

学习笔记(4月17日)vector底层原理

1.vector<vector>底层原理 vector是表示可变大小数组的序列容器&#xff0c;相当于一个动态的数组&#xff0c;比数组优越的在于它具有可动态改变的大小&#xff0c;同时&#xff0c;它写成了类模板&#xff0c;说明可以适用于其他类型&#xff0c;包括vector本身&#…

AI赋能自动化测试:智能接口自动化测试数据生成平台设计思路

目录 1.背景 2.名词解释 3.设计目标 4.设计思路及折衷 4.1阶段性任务 4.2方案选型 4.2.1 设计方案选型 4.2.1.1 原始数据获取模块 4.2.1.2 数据构造模块 4.2.1.3 预执行模块 4.2.1.4 覆盖率反馈调整模块 4.2.1.5 预测模型 4.2.2 技术选型 5.系统设计 5.1 项目架…

LeetCode669:修剪二叉搜索树

题目描述 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果没有被移除&#xff0c;原有的父代子代关系都应…

vivo怎么录屏?玩转手机新体验!(2024最新)

“最近新入手了一款vivo手机&#xff0c;感觉用起来真的很顺手&#xff0c;各种功能都很强大。昨天和朋友一起打游戏&#xff0c;突然想到要记录下精彩瞬间&#xff0c;但是找遍了手机&#xff0c;都没有找到录屏功能。我想请教一下各位vivo手机用户&#xff0c;你们通常在哪里…