@ cloudfour/ eslint- config
云四的ESLint配置.
此配置扩展了以下插件 :
这是建立在 eslint-config-xo,哪个
捆绑和配置我们依赖的大多数插件——包括
unicorn, (中文(简体) ),
jsdoc, (中文(简体) ),
n, (中文(简体) ),
@typescript-eslint, (中文(简体) ),
regexp 财务报告和审定财务报表
import-x 附加规则
package.jsonJSON,马克道,CSS和HTML。 再说,我们自己加
超能力,这就是我们家的风格.
规则名称使用xo的命名空间为-is. 请注意,进口规则是 import-x/*没有
import/*。 。 。 .
一个插件是我们的,而不是Xo的:
promise我们正在考虑 放下这个 :promise/param-names是我们唯一的规则, 和整个 依赖一条规则是很难辩解的。 如果我们放弃它, 规则随之而来.
使用量
此套件导出 平面 ESLint 配置。 。 。 .
npm install --save-dev eslint @cloudfour/eslint-config
如果您的工程使用 TypeScript, 其版本必须在 typescript
此软件包中的区域 peerDependencies,这跟随什么 typescript-eslint
支持 。 在这个范围以外, npm 停止与同伴依赖性冲突
名称 @cloudfour/eslint-config。 。 。 .
示例 eslint.config.js数字 :
import cloudFourConfig from '@cloudfour/eslint-config';
export default [
...cloudFourConfig,
{
rules: {
// your overrides here
...
}
},
];
写入您的自定义
xo 将它的分层扩展到它们所插入的文件类型, 并在这些类型上注册插件
层。 A 类 rules 块中无 files 适用于一切,包括
JSON, Markdown, CSS 和 HTML 现在的xo 插件, 这些插件从来就没有过
注册。 ESLint 然后无法完全装入配置 :
A configuration object specifies rule "jsdoc/check-indentation",
but could not find plugin "jsdoc".
因此对 JavaScript 插件的覆盖范围 :
{
files: ['**/*.{js,cjs,mjs,ts}'],
rules: {
'jsdoc/check-indentation': 'off',
},
}
这是很容易错过的,因为当你插入一个文件时它会过去
(单位:千美元)eslint src/index.js),并且只在整个项目中失败(eslint .) (中文(简体) ).
为已发布的软件包推荐设置
关了三个 package.json 规则 否则会向每一个
包括许多从未出版过的东西 每个人都要求
一个真正值得你接受的东西 对 发布到 npm,所以
考虑把它们换回去:
| 规则 | 问 | 值得当 |
|---|---|---|
package-json/prefer-exports | 一个 exports 字段改为 main | 软件包已经发布,您需要定义的公共界面 。 将入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入出入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入. |
package-json/require-engines | engines.node | 该软件包实际运行于节点. 跳过它用于浏览器库, 其中有 Node 版本可以描述 . |
package-json/prefer-type-module | "type": "module" | 你准备只接受无害环境管理 这打破了每个消费者使用 require(),所以这是一个重大释放决定. |
在一个项目中采纳这些建议:
{
files: ['package.json'],
rules: {
'package-json/prefer-exports': 'error',
'package-json/require-engines': 'error',
},
}
请注意,我们的范围xo's package.json 层到 根号 显出. 规则
喜欢 require-fields 财务报告和审定财务报表 prefer-type-module 描述一个包裹的表,
并应用到每个 **/package.json 关于非文件的报表
软件包——最显著的是 {"type": "commonjs"} 标记双重文件
通用JS/ESM在其输出目录中构建位置. 如果你保持真实
显示除寄存器根以外的地方, 如 npm 工作空间,
扩展您自己配置的范围 :
{
files: ['packages/*/package.json'],
rules: {
'package-json/require-fields': 'error',
},
}