automattic/eslint-config-target-es

安装量: 8

依赖项: 0

建议者: 0

安全: 0

星级: 4

关注者: 5

分支: 1

语言:JavaScript

v2.2.0 2024-08-29 19:01 UTC

README

ESLint 可共享配置,用于激活基于 eslint-plugin-es-x 检查、browserslist 浏览器目标和 MDN 浏览器兼容性数据 的检查。

安装

通常您会通过包管理器安装此配置,例如。

npm install --save-dev eslint eslint-plugin-es-x @automattic/eslint-config-target-es

使用方法

首先,您可能需要设置一个 browserslist 配置。

然后,您可以将此配置像其他任何共享配置一样,用于您的 eslint.config.js.eslintrc.* 文件。提供了三种配置。

  • 要仅检查语言功能,如 nullish coalescing,请使用 'language' 配置。
  • 要仅检查内置函数,如 Promise、WeakRef 和各种 RegExp 功能,请使用 'builtins' 配置。
  • 要同时检查两者,请使用 'all' 配置。

对于 eslint.config.js,可能看起来像这样

import eslintConfigTargetEs from '@automattic/eslint-config-target-es/flat/language';

export default [
	eslintConfigTargetEs,
	// etc
];

对于 eslintrc,您可能需要这样做

{
	extends: [ '@automattic/eslint-config-target-es/rc/language' ],
}

为了向后兼容,eslintrc 配置也可以不使用 /rc/ 路径组件来访问(例如,作为 @automattic/eslint-config-target-es/language),并且 @automattic/eslint-config-target-es 等同于 @automattic/eslint-config-target-es/rc/all

检查构建文件

如果您想检查您的构建文件,以确保您没有省略需要转译的任何包,您可以创建一个类似于这样的 validate-es.config.js

module.exports = {
	root: true,
	extends: [ '@automattic/eslint-config-target-es/rc/language' ],
	env: {
		// Whatever environments you need.
	},
};

然后运行 eslint,如下所示

eslint --no-eslintrc --no-inline-config --config validate-es.config.js --no-ignore build/

以避免您的标准 eslintrc 和 eslintignore,以及避免任何内联指令的错误。

对于平面配置,也可以做类似的事情。

高级使用方法

您可以通过导入或 require @automattic/eslint-config-target-es/functions 来获取一些函数,这些函数可用于构建您自己的配置。

由于 browserslist 和 MDN 使用不同的浏览器代码,getAllBrowsers( { query: } ) 将接受一个 browserslist 查询,并返回一个对象,其中包含每个 MDN 浏览器代码及其匹配的版本。

getRules( { query:, builtins: } ) 将返回规则配置。将 builtins 设置为 "builtins","language" 设置为 false,或 "all" 设置为 null/undefined。

注意事项

一些由 browserslist 支持的浏览器在 MDN 数据中不可用(例如 Opera Mini)或不再更新(例如 Internet Explorer)。在这些没有数据的情况下,假设功能是支持的。将环境变量 DEBUG=@automattic/eslint-config-target-es:warn 设置为生成消息,当这种情况发生时。

安全

需要报告安全漏洞?请访问 https://automattic.com/security/ 或直接访问我们的安全漏洞赏金网站 https://hackerone.com/automattic

许可

eslint-config-target-es 根据 GNU 通用公共许可证 v2 (或更新版) 许可。

--