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
为您推荐
一、新增支持PostgreSQL数据库和国产数据库:(支持国产数据库如:国产华为高斯(openGauss)、国产金仓数据库(kingbase)等)1、为了适配其它数据库,所有数据表查询限制数量单独函数返回,并保存在各数据库操作类文件里..
微软于2024年10月8日发布了 .NET 9 的第二个也是最后一个候选版本(Release Candidate 2),标志着正式版发布前的最后阶段。主要更新内容:质量提升:专注于提高整体质量,修复已知问题,确保框架的稳定性和可靠性。..
.NET 9 在 Blazor 中引入了多项更新,增强了开发体验和应用性能。以下是主要更新内容:1. 新的 Blazor 混合应用模板.NET 9 引入了一个支持 .NET MAUI 和 Blazor Web 客户端的混合应用模板。开发者可以利用该模板在共..
微软发布了VS Code AI工具包,增强了代码编辑器的AI功能!微软推出了VS Code AI工具包,这是一个全新的扩展,旨在将AI功能集成到Visual Studio Code中。该工具包支持多种AI模型,包括本地和远程模型,用户可以配置自..
微软正式发布了 .NET 9,这是一次重大的版本更新。微软在 .NET 9 中带来了一系列新特性和改进,主要聚焦在性能优化、云原生支持、AI集成以及开发者体验的提升。以下是一些重要的更新亮点:性能改进:在 .NET 9 中,..
在.NET 9 中,ASP.NET Core MVC 和其他 ASP.NET 功能进行了多项增强,以改善开发者的体验和应用性能:静态文件处理和缓存优化:ASP.NET Core MVC 现在支持静态文件的“指纹化”处理,发布时会生成包含唯一..
Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..
OpenAI GPT-4官网https://openai.com/research/gpt-4GPT-4官方公告OpenAI团队创建了GPT-4,这是OpenAI在扩大深度学习方面的最新里程碑。GPT-4是一个大型多模态模型(接受图像和文本输入,发出文本输出),虽然在许多..
vercel 免费playground地址:https://play.vercel.ai/无需登录,无需翻墙就可以免费使用vercel AI工具,支持GPT3.5,GPT-4 和 claude 等20多个模型,下面是我是用的截图。速度也很快,国内可以直接使用。..
在 .NET Core 中,你可以使用一种称为 "Razor Pages" 或 "Razor Views" 的技术来实现页面的热重载,即不需要重新编译应用程序就能立即更新页面。这通常用于开发环境中,以提高开发人员的生产力。以下是一些方法来实..
一、什么是access_token? access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。由于获取access_to..
要开发 VSCode 插件,你需要遵循以下步骤:安装 Node.js:确保你的计算机上安装了 Node.js。你可以从官方网站 https://nodejs.org/ 下载和安装最新版本。安装 Yeoman 和 VSCode 插件生成器:Yeoman 是一个用于生成项..
ASP.NET Core在IIS发布首先需要安装.NET Core托管捆绑包。微软官网下载地址:https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.5-windows-hosting-bundle-installer下载之后需..
ESLint 是一种用于识别和报告在 ECMAScript/JavaScript 代码中发现的模式的工具,其目标是使代码更加一致并避免错误。ESLint 是完全可插拔的。 每条规则都是一个插件,您可以在运行时添加更多。 您还可以添加社区插..
把testing-library从13.5.0更新到了14.1.1,发现原来paste的case过不了。官网上V13的用法和Demo是这样的:paste(element, text, eventInit, options)test('shouldpastetextininput',()=>{render(<MyInput/>)..
今天给大家介绍的主题是 Markdoc,即由 Stripe 开发的一种基于 Markdown 的文档格式和内容发布框架。Markdoc官网:https://markdoc.dev/什么是 MarkdocMarkdoc 是一种基于 Markdown 的文档格式和内容发布框架, 它由..
域名备案不需要先把网站做完发布。域名备案是指将域名与网站的服务器地址进行关联,使域名能够正常访问网站。域名备案只需要提供域名注册信息和网站建设者的身份信息即可。因此,您可以先将域名备案完成,然后再进行..
要使用 Visual Studio Installer 更新 Visual Studio,请按照以下步骤操作:在计算机上启动 Visual Studio Installer。在已安装Tab下面可以看到已经安装的Visual Studio版本。在已经安装的Visual Studio的右边菜单点..
通过AutoUpdater.NET,你可以轻松实现.NET应用程序的自动更新。首先,引入AutoUpdater.NET库,然后在应用程序中集成并设置更新源。创建服务器上的XML文件以存储更新信息。最后,在应用程序中处理AutoUpdater.NET的事..
Visual Studio 2019 是一款广泛使用的集成开发环境 (IDE),用于开发 .NET 相关的应用程序。在使用 Visual Studio 2019 更新 NuGet 包时,可能会遇到各种不同的问题。以下是一些导致更新 NuGet 包失败的常见原因:网..