首页 程序笔记 ESLint9.0 正式发布 带来重大更新和破坏性更改

ESLint9.0 正式发布 带来重大更新和破坏性更改

ESLint是一个插件化的代码检测工具,它可以静态分析代码,快速发现问题。它可以内置在大多数文本编辑器中,开发者可以将 ESLint 作为 DevOps 的一部分来运行。下面是最近几次发布的版本主要特性回顾:

v7.0.0 - 放弃对 Node.js 8 的支持,改进开发者体验。 v8.50.0 - 弃用 no-new-object 规则,取而代之的是新的 no-object-constructor 规则。 v8.56.0 - 报告未使用的禁用指令时支持自定义严重程度。 v8.0.0 - 默认解析器和所有核心规则完全支持 ES2022 类的公共、私有方法及私有字段。

2023年09月23日,在 ESLint v8.50.0 版本发布时,ESLint 官推发布消息:ESLint 计划在 v9.0.0 中放弃对 Node.js < 18 和 Node.js 19 的支持。

2024年04月05日,经过近半年的迭代,ESLint v9.0.0 正式发布,下面来看看本次版本带来的重点更新。

放弃对 Node.js < v18.18.0、v19 的支持

随着 Node.js v20.x 将成为 LTS 版本,ESLint 将不再支持 v18.18.0 之前的所有 Node.js 版本以及 v19.x。

默认启用 Flat config

Flat config 现在是 ESLint 的默认配置格式,eslintrc 已被正式弃用。要继续使用 eslintrc 配置文件,需要将 ESLINT_USE_FLAT_CONFIG 环境变量设为 false。

这一变更会影响到用户、插件开发人员和集成人员,因为 ESLint 的许多方面都必须为此做出改变。此版本还引入了配置检查器,可使用 --inspect-config 在命令行上启动。

删除众多 formatter

删除了除 stylish、html、json 和 jsonon-with-meta 以外的所有 formatter:

checkstyle compact jslint-xml junit tap unix visualstudio

如果您目前正在使用这些格式化器,则需要安装独立软件包,以便与 ESLint v9.0.0 一起使用。

删除 valid-jsdoc 和 require-jsdoc 规则

ESLint 移除了 valid-jsdoc 和 require-jsdoc。建议使用 eslint-plugin-jsdoc 插件。

删除 context and SourceCode 中已废弃的方法

正如在九月份宣布的那样,ESLint 已经删除了上下文中的大量废弃方法,并用源代码中的方法取而代之。

eslint:recommended 更新

更新了 eslint:recommended 配置,以纳入 ESLint 认为重要的新规则,并删除过时和不太重要的规则。

新规则:no-useless-assignment

ESLint v9.0.0 引入了一条新规则 --no-useless-assignment,旨在捕捉为变量赋值但该值从未被使用的情况。例如:

let id = 1234;      // 1234 is never used
id = calculateId();

新 API:loadESLint()

ESLint 现在从其主入口导出了一个新函数 loadESLint()。集成程序可使用该函数获取 ESLint 类(原 FlatESLint 类)或 LegacyESLint 类(原 ESLint 类),从而在 flat config 和 eslintrc API 之间轻松切换。

不允许同一规则包含多个 eslint 注释

在 ESLint v8.x,如果被标记的文件包含多个针对同一规则的 /* eslint */ 配置注释,最后一个注释将被应用,而其他注释将被静默忽略。

在 ESLint v9.0.0 中,第一个配置注释将被应用,而其他配置注释将被报告为 lint 错误。

--quiet 选项运行更高效

在 ESLint 控制台中,--quiet 选项会隐藏所有警告。在 v9.0.0 中,也不执行任何设置为 "警告" 的规则,从而提高了性能。

未使用的禁用指令默认会导致警告

一直以来,ESLint 都能标记未使用的禁用指令。在此版本中,默认启用了对未使用禁用指令的警告。你可以在配置文件中使用 linterOptions.reportUnusedDisableDirectives 或在命令行中使用 --report-unused-disable-directives-severity 来修改该值。

最后

ESLint v9.0.0 是一次重大版本升级。该版本增加了一些新功能,带来 38+ 破坏性更改、 20+ 特性更新以及相关问题修复。需要升级的同学可以参考官网提供的集成指南。

2

站心网

ESLint是一个插件化的代码检测工具,它可以静态分析代码,快速发现问题。它可以内置在大多数文本编辑器中,..

为您推荐

帝国CMS8.0即将发布2025年1月18号闪亮登场

一、新增支持PostgreSQL数据库和国产数据库:(支持国产数据库如:国产华为高斯(openGauss)、国产金仓数据库(kingbase)等)1、为了适配其它数据库,所有数据表查询限制数量单独函数返回,并保存在各数据库操作类文件里..

微软于发布了.NET 9 Release Candidate 2 提高整体质量

微软于2024年10月8日发布了 .NET 9 的第二个也是最后一个候选版本(Release Candidate 2),标志着正式版发布前的最后阶段。主要更新内容:质量提升:专注于提高整体质量,修复已知问题,确保框架的稳定性和可靠性。..

.NET9 Blazor有哪些更新?

.NET 9 在 Blazor 中引入了多项更新,增强了开发体验和应用性能。以下是主要更新内容:1. 新的 Blazor 混合应用模板.NET 9 引入了一个支持 .NET MAUI 和 Blazor Web 客户端的混合应用模板。开发者可以利用该模板在共..

微软发布VS Code AI工具包,集成多模型AI能力

微软发布了VS Code AI工具包,增强了代码编辑器的AI功能!微软推出了VS Code AI工具包,这是一个全新的扩展,旨在将AI功能集成到Visual Studio Code中。该工具包支持多种AI模型,包括本地和远程模型,用户可以配置自..

微软 .NET 9 正式发布!专为云原生和生成式 AI 应用设计

微软正式发布了 .NET 9,这是一次重大的版本更新。微软在 .NET 9 中带来了一系列新特性和改进,主要聚焦在性能优化、云原生支持、AI集成以及开发者体验的提升。以下是一些重要的更新亮点:性能改进:在 .NET 9 中,..

.NET9在ASP.NET MVC有什么更新?

在.NET 9 中,ASP.NET Core MVC 和其他 ASP.NET 功能进行了多项增强,以改善开发者的体验和应用性能:静态文件处理和缓存优化:ASP.NET Core MVC 现在支持静态文件的“指纹化”处理,发布时会生成包含唯一..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

OpenAI发布GPT-4 附注册方法

OpenAI GPT-4官网https://openai.com/research/gpt-4GPT-4官方公告OpenAI团队创建了GPT-4,这是OpenAI在扩大深度学习方面的最新里程碑。GPT-4是一个大型多模态模型(接受图像和文本输入,发出文本输出),虽然在许多..

vercel发布免费AI工具 支持GPT3.5 GPT-4 和claude等模型

vercel 免费playground地址:https://play.vercel.ai/无需登录,无需翻墙就可以免费使用vercel AI工具,支持GPT3.5,GPT-4 和 claude 等20多个模型,下面是我是用的截图。速度也很快,国内可以直接使用。..

.NET Core不重新编译立即更新页面

在 .NET Core 中,你可以使用一种称为 "Razor Pages" 或 "Razor Views" 的技术来实现页面的热重载,即不需要重新编译应用程序就能立即更新页面。这通常用于开发环境中,以提高开发人员的生产力。以下是一些方法来实..

C#微信公众平台access_token的获取存储与更新

一、什么是access_token? access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。由于获取access_to..

如何开发VSCode插件

要开发 VSCode 插件,你需要遵循以下步骤:安装 Node.js:确保你的计算机上安装了 Node.js。你可以从官方网站 https://nodejs.org/ 下载和安装最新版本。安装 Yeoman 和 VSCode 插件生成器:Yeoman 是一个用于生成项..

ASP.NET Core在IIS发布的两种方式

ASP.NET Core在IIS发布首先需要安装.NET Core托管捆绑包。微软官网下载地址:https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.5-windows-hosting-bundle-installer下载之后需..

VSCode 安装ESLint并配置为保存自动格式化

ESLint 是一种用于识别和报告在 ECMAScript/JavaScript 代码中发现的模式的工具,其目标是使代码更加一致并避免错误。ESLint 是完全可插拔的。 每条规则都是一个插件,您可以在运行时添加更多。 您还可以添加社区插..

React @testing-library UserEvent.paste用法更新到14版本后不生效

把testing-library从13.5.0更新到了14.1.1,发现原来paste的case过不了。官网上V13的用法和Demo是这样的:paste(element, text, eventInit, options)test('shouldpastetextininput',()=>{render(<MyInput/>)..

Markdoc 新一代Markdown文档内容发布框架

今天给大家介绍的主题是 Markdoc,即由 Stripe 开发的一种基于 Markdown 的文档格式和内容发布框架。Markdoc官网:https://markdoc.dev/什么是 MarkdocMarkdoc 是一种基于 Markdown 的文档格式和内容发布框架, 它由..

域名备案需要先把网站做完发布吗?

域名备案不需要先把网站做完发布。域名备案是指将域名与网站的服务器地址进行关联,使域名能够正常访问网站。域名备案只需要提供域名注册信息和网站建设者的身份信息即可。因此,您可以先将域名备案完成,然后再进行..

如何使用Visual Studio Installer更新Visual Studio

要使用 Visual Studio Installer 更新 Visual Studio,请按照以下步骤操作:在计算机上启动 Visual Studio Installer。在已安装Tab下面可以看到已经安装的Visual Studio版本。在已经安装的Visual Studio的右边菜单点..

AutoUpdater.NET实现.NET应用自动更新

通过AutoUpdater.NET,你可以轻松实现.NET应用程序的自动更新。首先,引入AutoUpdater.NET库,然后在应用程序中集成并设置更新源。创建服务器上的XML文件以存储更新信息。最后,在应用程序中处理AutoUpdater.NET的事..

VS2019更新nuget包失败原因有哪些?

Visual Studio 2019 是一款广泛使用的集成开发环境 (IDE),用于开发 .NET 相关的应用程序。在使用 Visual Studio 2019 更新 NuGet 包时,可能会遇到各种不同的问题。以下是一些导致更新 NuGet 包失败的常见原因:网..

发表回复

返回顶部