最近,ESLINT发布了V8.0.0的RC版本,这意味着即将发布官方版本。V8.0.0引入了许多重大更新,以便首先了解ESLINT V8.0.0的相关特征。
原始链接:https://eslint.docschina.org/docs/8.0.0/user-nide/migrating-to-8.0.0.0.0.0.0
ESLINT V8.0.0是ESLINT的重要版本,我们在此版本中介绍了一些重大更新。本指南是为了帮助您了解这些更新。
大多数更改将在下面的列表中列出。每个更改均根据用户的预期影响进行排序。第一项对用户的影响最大。
Node.js V10,V13,V15已于2020年或2021年初停止维护。Eslint正式放弃了从v8.0.0.0.eslint的Node.js的支持,现在支持下一个版本的Node.js:
解决方案:至少在使用ESLINT V8.0.0.时,请确保将Node.js版本升级到至少要注意的是,请注意的另一件事是,您需要在使用eslint.js版本时检查编辑器使用的node.js版本由于某种原因无法升级,我们建议您在升级Node.js版本之前继续使用ESLINT 7。
相关问题:#14023
ESLINT V8.0.0已从核心代码中消除了格式化器。该数据包依赖于ESLINT中的其他位置,从而消除了它们以减少ESLINT的体积并使其更快地安装。
解决方案:如果您使用或使用格式并升级到V8.0.0,则需要安装或安装或NPM软件包,以便它们正常使用。
相关问题:#14277,#14316
在ESLINT v7.0.0中,以下方式不会出现错误:
根据上面的配置,规则仅读取第二个元素,并且数组中的第三个元素将被忽略。在ESLINT V8.0.0中,此配置将导致ESLINT抛出错误。
解决方案:调整规则配置,确保数组中只有两个元素。第二个元素可以是字符串或对象,例如::::
相关问题:#13739
在ESLINT v7.0.0中,该规则只能在命令行中同时修复,但保留了未使用的禁用说明。在ESLINT v8.0.0中,此命令选项的组合将导致未使用的禁用说明被删除。
解决方案:如果您同时在命令行中使用和谐,但不希望删除未使用的禁用说明,请添加命令行选项。
相关问题:#11815
预设启用了四个新规则。
解决方案:修复错误或禁用这些规则。
相关问题:#14673
在ESLINT v7.0.0中,规则提供了建议,您不需要告知ESLINT.in v8.0.0,规则提供了要设置的建议。这将为ESLINT提供此规则,该规则将提供建议。没有此属性,任务将报告一个错误。
解决方案:如果您的自定义规则提供建议,则需要将其设置为True,例如:
使用Eslint-Plugin/Require-Meta-Has-suggestions自动修复此问题并将正确的设置迫使您的规则中。
相关问题:#14312
在ESLINT v7.0.0中,导出到功能的规则可以提供维修方法。在ESLINT V8.0.0中,只要对象的规则被导出,允许修复方法,并且必须将属性设置为或。
解决方案:如果您的规则提供维修方法并写入功能,例如:
请按以下方式重写您的规则:
ESLINT-PLUGIN/REECRECT-META-CIX-CIX-CIX-CIXER规则可以自动修复此问题,并在规则中迫使正确的设置。
ESLINT-PLUGIN/PEREP-OBJECT-RULE规则可以自动修复规则作为函数的规范问题,这将迫使废弃的函数格式更改为对象格式。
有关编写规则的更多详细信息,请参阅规则文档。
相关问题:#13349
实际上,在ESLINT v4.0.0中,我们已经废除了它,并且由于疏忽而忘记了删除它。但是我们没有选择立即从v8.0.0中删除它,而是采用了一种过渡方法。我们对其进行了更新。当我们在规则中使用时,我们失败了。因此,现有规则将正常起作用,但是当开发人员测试规则时,测试失败。
方法将在v9.0.0中完全删除。
解决方案:如果您在规则中使用,请使用或替换。
相关问题:#14744
ESLINT V8.0.0还将ESPREY升级到V8.0.0,以支持新的语法。ESPREE的升级还涉及Acorn v8.0.0的升级,ACRON的升级改变了AST属性属性的缩写方式。具体示例如下:
该代码将生成一个属性节点,可能如下:
请注意,在Acorn V8.0.0之前,它包含与属性相同的信息(也可以说是ESLINT V8.0.0)。这两个节点将指出:例如:
在ESLINT V8.0.0(基于Acorn V8.0.0)中,键和值现在指向两个独立的对象,因此它们不再相等。
解决方案:如果您的规则需要确定对象的缩写属性的密钥和值是否处于相同的节点,则需要使用以下两种格式来重写代码:
相关问题:#14591
该课程已被删除并用课程代替。
解决方案:如果您在代码中使用它,请更新代码以使用新类。下表是现有方法和方法之间的相应关系:
(删除※1)Constructionor选项(删除※2)(已删除※3)相关问题:RFC80,#14716,#13654
在v8.0.0中,废弃的对象已从ESLINT软件包中删除。
解决方案:例如,如果使用对象,例如:
请将代码修改为:
相关问题:RFC80,#14716,#13654
由于v8.0.0,ESLINT严格定义了其对公共API的访问。在过去,您可以访问单个文档,例如,不再允许允许操作。考虑兼容性问题,现在有一些API可以是通过入口访问。
解决方案:如果您直接通过入口访问某个规则,例如:
请将代码修改为:
如果您直接通过入口访问它,例如::
请将代码修改为:
相关问题:RFC80,#14716,#13654