配置文件
您可以将 ESLint 项目配置放在配置文件中。您可以包含内置规则、您希望它们如何执行、具有自定义规则的插件、可共享配置、您希望规则应用到哪些文件等等。
配置文件的格式
ESLint 支持多种格式的配置文件:
- JavaScript - 使用
.eslintrc.js
并导出包含您的配置的对象。 - JavaScript (ESM) - 在
package.json
中指定"type":"module"
的 JavaScript 包中运行 ESLint 时使用.eslintrc.cjs
。请注意,ESLint 目前不支持 ESM 配置。 - YAML - 使用
.eslintrc.yaml
或.eslintrc.yml
定义配置结构。 - JSON - 使用
.eslintrc.json
定义配置结构。ESLint 的 JSON 文件也允许 JavaScript 样式的注释。 - package.json - 在您的
package.json
文件中创建一个eslintConfig
属性并在那里定义您的配置。
如果同一个目录下有多个配置文件,ESLint 只使用一个。优先顺序如下:
.eslintrc.js
.eslintrc.cjs
.eslintrc.yaml
.eslintrc.yml
.eslintrc.json
package.json
使用配置文件
有两种使用配置文件的方法。
G80fZLvtbE+zANfyMfoGplT1tiBL5WvX0y5jjTAJB+ytRhV0l0/ZcaEmN9ya5Vgt5b7aomDEgPZ0Lvt/cxqv2vO6F9hSa6ow81EUkW2M8gXDaCQ2+TdABE0axFZeZddBGEx4ecHdYPf4VZ0RcSa5V1jqPIg9aFQgsVIuVBvWjIFvWckHwzbe3mP18NcmkW/AtE2JD3aL5ULCpi7kaeSK4UdqLOhpq9WqUMYX1+RlUvXGyt46z9HoGvpqiyRKdLi2hVBK1m+EccGpDMI1BiKZqWjklbIZNqU6qMEYj6KUl/K7I+TyBc5JLIxF6HE6twC8J2bXH6GZnkXdFnZ78T/k8vZASv8uItlD0gk4iuzXch2JqAd8xPtcEqWTTz4JkwNwFo7gPMOEdPTieYGZoiZNu16Y+saESB2ahBiPXV7ibluzdKyUazKa9TqFQva5+lRt1b9BIcDgv5KTMJp1KBTwPW5ATRU+FUhrR6mp9nQNpyJvYjE+1IqdoXPwXlAqJJwQExgWA76r94iCPOhzploQZG3w8CQkS1ZO8XlT5/cCju3roZZYAQ9RpJReZeWpFaaC+ZY5u5q5z88dSEj8HRirZUIobMymRPnGFKn1kx72xKUR32npLuuwQdPmG3tBSsV/ht7g5XZZ0hPGtMILohpNsp27Ckdfhp3GeD8z2Ry4bt3/v2Y82RdVUPl0EKZJcsYPH7Gc6Jot2JzxgTAwKDXS8t4mDXrQuXTe+a2VkLiD1++omd+GMUX5SEGwMkgxeDgghitof+qfIWfRiqIU1DrixzBupfc5f8o0Rnh3iUicb0twkA4sg+QX4NyJO6ND1kHF9n7EI8dhUkPfQ84+JzB33o7UQubq2VPJ/CZ2vUsor1k=
G80fZLvtbE+zANfyMfoGpis26lyn388wET5FqTJlnOarE5AMMhbdhWGX68eRsCA9Bs2ym9zlmGjwRFasLsrHlboyKml42C71UlEVxNs59PSLuTTpY2aP87sPgZd8D+sTgvM/0m6tzAqo8Y1ZQeolLANTys3PMVH5pn9B0ZrtJlKOu5PROrjgyOukqGts1PF1uUkkTkFbcl/HjeJ9WctrwQ==
eslint -c myconfig.json myfiletotest.js
e0qCPMKVNsGwK8VvtIRU/fb0Yi5HzLQMylD0ZM+27I8A47+Pccyy16hzDAzgxFpnxpNO5NXKE1mfsZFv7Lbsilz7/C9Xe+h6wr37i7CRNyHZO/h63B9f/Fxij4Qmr3FQ0Qchzjo+LqUWyjyk+HZEY4KuwsnKxFqFubm1HR6dTbJ7HAT111wO2PTpCT6V+wmomcUQW0xD8Qf6Ms+syWUmbOeHWn9itjnVkLhbmnJLPwZkqHnyOZCTZqLgruwYu+UUpTl3RbJ0oIjOyBiK9RTpWVzDuRQSLNISOJ1P1VXqOs0w1fXSaQMLT0V2Pt1MHjOeTb+a6lOgSVSgWS/AHZO05UjlTX5j5mE2m+M0xKrsxmO8sTvDwyETEsvA129lHkUI
v4sDO8M/Gb0Ycw3hkb6PUXNtV6vXERrNaNYhuWtiOStZhZH3fspR6h73BWQy5N/LEWHqXmnDz+juMXb3SDc4V1wzr8h6ZLIxUAp0CLE1C2qXaTiex0N4MlJvOw0np6XmkiX9UDQ43nzK9F5Qg69AZGXXyvPIh+j40v+JFfYa3QM=
{
"root": true,
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": { "project": ["./tsconfig.json"] },
"plugins": [
"@typescript-eslint"
],
"rules": {
"@typescript-eslint/strict-boolean-expressions": [
2,
{
"allowString" : false,
"allowNumber" : false
}
]
},
"ignorePatterns": ["src/**/*.test.ts", "src/frontend/generated/*"]
}
配置文件中的注释
QUTHV1nAuh/kBRHNskUDcD9FGpVEqx+4cXfcjoTCs0ksOt0Y5pZcNMaKp+TkoYMlcRO2mBMkxQZUXLa3ptr1GYWpGApedJQ/7X9UMgHK5EN+tWGj3+gV/iNtZGEF6UR/xhIcF3rTeLTxO0E9YFsFidov7IezjTtykuT/15sa25xQbPazWkmPYl7brqnYhbZ8yOrXCVZ9wqcsCRgN0gP8SQ2pHsDN9S+2p1gJpEi0N4cAsJx+0buQ7aUQT5330/7acmV2T88avKYcpzz8aCqRHhPuiOegnoZqmmdLl0jnymC+ZeoAstgvFZxIT89nF61nRsHzWmRP9ZCazGIDd5z0pddeSBhtOnEsyXMFqhGlZjlND3+HY4yefF6AG+ACPbq78zPQwf6KvcqkijKjBA810w==
CwGuYamZv/s0+NyQsEmuwq4dhoROcXVjWV29Vl4nyw9RE/dcv8uTIj3iostCmu9m
{
"env": {
"browser": true
},
"rules": {
// Override our default settings just for this directory
"eqeqeq": "warn",
"strict": "off"
}
}
e96WcAtMG+WisbUff4+KuYhXbWnG/tO5WXWndRk2h/g=
env:
browser: true
rules:
# Override default settings
eqeqeq: warn
strict: off
添加共享设置
h71Lb7ccD0KhhxpBilrwN3Kju09xSM3vMy3ErLpJkGUHG7FYX8yDHq0HQ6jqH8/MfWhVnqi0VO7Ky/oH82Yl0+zfr/yL8H9YOYvnlPRUkcQjEO6M/RaNSjfC0XjLpOWkqZ9284066+8yHUXb90Farnc10kqXO5DJTiz1eA1KEnL1d5v2HkVfBnRxdGl/7WVyQTw1/XIllwKf7LtOGVCHcQKcNrDQUtWj/L60nPqoetbCNcmAGjReEpCI/GpBEwvFm9KE3274uM6jhv8k6bpxA7cJdcrdEFSGro2rLixV+nguv2t4QAZj1nptMm/GmEZr2pvbpbFAIXN9jrjZ0v6b9efZ2XMYB4iYX3Ps0ZMIdoxeZf/yEgJa18nh+p9DivDGNPNnZjqDl57bJ0hS0PuMrj5eLyutPFCdE7p6LciRHD+vJHkghMFo0i72pNla6kAnwrqLusjs3jhEa5BEGMmi5j6f3JBNsc+5otoo9/5ujlzVwn0lOMADp1I0GCOKaPjP
jt2n4sxTTKhSFPlPNYz8hQ==
{
"settings": {
"sharedData": "Hello"
}
}
6ahD2zkxGAmi8Uj+8N1YMg==
---
settings:
sharedData: "Hello"
级联和层次结构
QXAtWVGvampqn9oIiPBztmlmgiWG3vBS7CkqR8SE16ly5cav/OnQizwX/NNvNUd5YElGNr2ExdbeIncynRNu/yfsvovc1MSeq2Py01atKHAd5ryFmSohEHG2dODuCP2Nc0vTefgT7urNQlLHjI53ODK9/YhJUqggV7g2kKhXSkO6FhY2q1EsCExxvB4l9VLeW/3bIiEHfGdCYeFMc5kpCQ==
your-project
├── .eslintrc.json
├── lib
│ └── source.js
└─┬ tests
├── .eslintrc.json
└── test.js
uog0ccgD0yMwbeejUm8AP2DPPora52q2O9JbBfAMg2d/mKInUHY0OivpOSIRzxdDfWcBrdjzwFRu8HuBXFJeZJOMmAHyy3Ft92T4n9h+uyY45tz4RrPd71fzdQaAzuEu7ucAbmdS/2mlLV13m4GajOA+ZCuMTzXUvEl370QnfvnZJBfoJm76V/Tuhi9fNZ4fTRrgo1wnyxlqx2XhCgJ5epCIn/LHCL3FTTARitaO9iCGjclzWTyKQGCf+xbehsxiHOyhAKMh1GwiE8MQZsPUmJvzojc/g9wrFpAzDUPKRQgIKLLMWV2H0upVfaVDFs4DgmufmQy/PucVN6kpoRjPCIFRQYVFDfdrl3FBHRM0a4xj/ETAtul5HC7tyOPYW2S8H0YNyVqRJEwbaOibMxKI9/4mThD1A+HasrmM15gHzcSwqMYNHYYfGUK0DkJSpdJUsuHNYHxmlGXDbgCqRzvkPfs4WTKHiBcBiWir3YFY7ZA=
CX0TAa6C6TRavstMbeRi7yCuT5Fcu1EJVltMG5OwvYbm0ThwQY7tRJTXk6HOhzNqoYZXwGMB66ntQKIGqMe64/8deZZwyYYcdZTTEre6ulq0fjNJrVHs6yZYHt/w3qsKycru6FN6jTnJbfcWOfRXgAG3KY2kGi834OolWggT0RLr44DhwFwTCeKoxj+cj0tfv2y6JNm0cmmz+YA8GSjfxwZeGMt6CnBjDfP5xVFZv9l7bxyIDt+a19iiVgDJRZmTniEyD1fUcjhgFSYjF/7CuDvX5JwACdtQw3t6Oz868ppQukH6TINJfcgfRQIghU5Lcu167tboJautAXXek0LgUynxbPuxpD9DO92+Cc79a5Q=
your-project
├── package.json
├── lib
│ └── source.js
└─┬ tests
├── .eslintrc.json
└── test.js
3C2tMYK+tyiJ9HsfMjYYJSEZJ04Ui8eHlwPhEjOxedx1ft/33YkIaOVuWV9VxgnYPiWmYTB0LkCarDb8LLYMEoy4g9I/KO2a5ESML5BL/qc2nTXDmVtiQ9rO0FCBZBiAT6d1M83dBLEliT7WAiePH6A7vLi3uP1rp9Fou3MHi83H/68NoT01jfmmequZg0AZIBuP4tBC0Zvo7FVtpqbKsmKpFdImyYSzQX1pR4hd9B4=
FdWRHSA+JqbZ0J3+JiUFRnPqtAxqgtDEebpGth40Zb831Px6n7Wy49C0EaLETToLOl8fFnPv5hSYyFSZnhvVhO8ziAFpSDDbLK7pyj5CRg+LO3oCWMo9Yw8wJ4QAyLro2ARC/nF/EtYkQVunCuDfF4wSmSiu9g/xrFY7fSZ3bL+jvyi5E24tanL0qt+xNA/DbKoocmklzOJPBGrLcjIt6L166SVMwC1q1THnSS3AQ+Tp27za5Q4fxr1CR+KOrZH7efaZvlqjRJlL0L852ZTvr5aSCHzig2hvv0SZy85P4DujU2zm+VjzT+LvDAmWXiO/+WXflpjbLAT6csSLxPHIZS015bBbkXy855Cg7BIh66HiZIJSF+URoR1s/7asXymg8x6989l7iDtpnoFMas3F81SJ9BqluG/ammQfxOBa9TMxSJp6UD6lmYgjBXG/S1hO1Uah0VuUH19dWAdGFP7GD/EaegsPvYsSfJCJ543fzBOSx8/5vUMppm52wUSr9A6oUZ8oQGMP32SRly5/qXYhOJnsrEYe5MttOdksJYXEVmIhdozcaQVg2gcCRB8rLJU3+fQ/UGHGgBSTIamLUVuYfxbLYlxU3Tjb0aGqoi6pCuHjSUQaTx1PjSlO2Rf88xwBFKV8e3qgBcnnbOZKXNVdNKlOKhMEub4b9n7n8ucuvqKHB9jzfR2sft5YP+YD7IyZdK8f/J2cFArMEGS6SHZW+s5exNAbATffFv33FydPOhYSvz48BHATxpuxDiFTX+Oa
{
"root": true
}
6ahD2zkxGAmi8Uj+8N1YMg==
---
root: true
kUlHvVhpvQ1Bgypq7hSrXziqroa179fwAGGDYlawhaKjy0/kUuajgvR5oCmMwhg0lA9nhnQFOmAzPov0N9hqiO9I9LHQrFZkCBDv35MnxjrJukawJWRfXjzkr1MXsF4e4ny9PsAxRCKuQ1mJIHIFkYgquoWUO5SnutZHgZWWLwKKe5KEfgJGMP72B/hG6mV7ZgwAc2XYanoJOfDPqMm6yAP684tyGi2ejEOAvZ/zcS5QcCj4A77kIOzarq3SEHlJWGbAsmyxfsv/4Uixd79vpIze/BP4DB1dTZ+Y3Lavkl5m51GBslAFL84pI+Sqxea0gaYBHlHILACQN3FpAurtMOBezKFk102qi4gChnUzYzQmIzOkSGfocu7GgKlisc4SZVwxw1nRUoPxC0zQHnTcyJTMdN9bw+Fj92AEWNpRYaDC873AQUcvQ50JlqrO6F4w3p3m7kDuL2nXgl5oYCVSaQ==
home
└── user
└── projectA
├── .eslintrc.json <- Not used
└── lib
├── .eslintrc.json <- { "root": true }
└── main.js
4s0uoFo9+bsPisNmXbU1Md0wCj8IlxQ6gDO9z9qMfceJkC2/V0IygghutojagvF/n3ZaWZTZM0Uw5mt6B6QGiJuMkMB/tGZRivSwkwPp+5o=
- 内联配置
/*eslint-disable*/
和/*eslint-enable*/
/*global*/
/*eslint*/
/*eslint-env*/
- 命令行选项(或 CLIEngine 等效项):
--global
--rule
--env
-c
、--config
- 项目级配置:
- 与检查的文件位于同一目录中的
.eslintrc.*
或package.json
文件 - 继续在祖先目录中搜索
.eslintrc.*
和package.json
文件,直到并包括根目录,或者直到找到带有"root": true
的配置。
- 与检查的文件位于同一目录中的
LDneNvWUGWSz5Jk9H44/2YHbUJyWnlwknnvuXZGZs114xo84dAJkwitE8MDaIB6CMldDEC2zo4XynCmJo/tRYAhGOVk8FkyLQX4Ae9gMlWO819U9vtaKS+3rwRdzlSffIn+W0spY4L/NlBN6CAICNJKGjIWWriOCBK6XhiBI9n64Bhs0/TNoE7aITsvVxvdBHRtxb8qRK0sPW+lUo7nmlAuZf5xOA31aNhhfLpPkBcp0uXEPEssiFCGF/hsx/2aY1kQuY6rCE7tmXwXzepjF+Q5ZRQXG8W5fQD5Sz1wzIxxJ7wyKCrebtp7UKD4YIdxhktG/D1S/ITeXUgzIx44f4JIKjIRQ/aNyX2D7Euq+vYAA/iLhIRLFD48DweAeq7rcRf/fiMSLy/RSUuG1AXoGis7P9zXNBR7srxtQfuknHcAdWRB0oGFTy1WvDbYrwaa5xeUPwIstmsQeHZNbWYT9skuflokZXuHzSmhawhNkzbbUiAKSbYGZJgi2Z/cXqFRO
扩展配置文件
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
- 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
- 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
- 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
使用可共享的配置包
EHxD+ZbMegBJK6Lq0l0bif3EWzlCbvOcnBSTs2y0EbL1fjyG+/JgrYVWW/Yi6PChAHLFgpuQEXJ6CRU5HvyYC7fBJlBRWPnUZk3dMRrM+6Ui2hHzt+tpY4aKMQu/V6GQ1uVCYoR/nov/He1sKG9mfLepTUQqfTolL51x6gxdke0eWICcpVoM1OKpIo9D2tIyKAQaUNdjpN0CKXlVLub5VNP32t4c25ImJUhdfppVdACOq4uvkZ/XKSpUs0nPINhBz5wMypLD1dTExg8Be7Yp/w==
NJpIXBSOdrv+NU0Oy621UFrTt5k2JmwqPo/kRMtli9NTDYK1BHEj7OMYb3oFNh8D/oVaUL/RIp40GUPYNb7tlWXB0OT6wAFCKeD+0faKMDaNvExrhAShABKTWioxFfnv
XJ0eUSlkTl4zcR1Dx/O/euVYhiL6pme6cWEZWz4JN/t4VdkwrnRs0Dp3XSAIvFHsGH4Uc4cSdVq0UNo/ECd9a7+3G53EnGnYhjEfmPPh2NFx9A7z6df6HftvyuM/irMNcEZN+uCXMQtzya4CAJmknWhUa3Fu3C194QPCLhW9qu9aaZtNDzDMlrRcMIW2WgTlgB51Inf9IamJGRAFcnS5Gg==
5cX7Euq3BRIVdr95Y5QpCGQllIyJD898S2mEGMEb2od/AQCqFJGU+kcVqZlG/4UY
extends: standard
rules:
comma-dangle:
- error
- always
no-empty: warn
使用 eslint:recommended
eXqZXI1x21Die0HIw6Pz/gbRcZYqoC1wPHlldLKS53QDK9H9zvYV/MRoQB8+XMO/gGCRj0ghOEcAe/x+Lg6x9uegToDqHWkTPm8e0DNlkdP3M6qruuhiimXiogQAyNelT+YEjWAC6uB1HcH+NO9WcBLrTRETdInaSfmtzB/q0SHVNGJoqCJH9f//8hr9Mz+l+2OorsDu99pXFQj+tA0fFK9IFx23wgWomZpz68isH7Ltv3KhSfymIhCOMqg+6YkYtGY+Wa37KlOl7FHIVECjhOcDvd6sS7lp3cbrDpDlzp5VeckR9fqTUqEVjszc+li3JxbFbV3o1DftyahChYMhDQ==
DnPVazSXuLeq6xZErtBb8Arzeto6YguUm8qs1CYcRjuTt/1ZwTYVQoZAgRSGfJBbgHECEqmbuWkRHELPtx4p7nphqh8Z5WAQMquUIo3EIS2jPyP60OWbMMU1Y5i4Rzlb
Pbl0XWvUoBmao0ynZ4OHFGWn5DZUpbJ9xFGLg0q1/lLUTg+lcOCqXwmDzPzFC/70
module.exports = {
"extends": "eslint:recommended",
"rules": {
// enable additional rules
"indent": ["error", 4],
"linebreak-style": ["error", "unix"],
"quotes": ["error", "double"],
"semi": ["error", "always"],
// override configuration set by extending "eslint:recommended"
"no-empty": "warn",
"no-cond-assign": ["error", "always"],
// disable rules from base configurations
"for-direction": "off",
}
}
使用插件中的配置
sJQxDcu6mSD45ns/NABoKMPEctDwcwt5ZdH2Q/qG2sZRG3E9PSus9hcSrKGA5J5go6DG40t93jFbq4QAm2cMrpcU+TDQmZi/zy/lvzffxVxxkek0gCp9pQgE/PJfRhva7nF0xQ14hyphqO2DNHdbtCJayf6NJQ8hxrD3BolqX3XppcKATcnaLtvzuy64vmDiYOXnnZRUDNqQOArOAL10zwEqNiPXImQJzDClrtxQ45RD6ZD6gg7xOf/u8jWcYoRRhPXk1kN/bx3ZQnCrNwvVG9ZHMxfpIIYa7aIdm8ZfVRlRMFXz+qj1gakO1LtqoWJLCzH5Wws40DXlWmlls4MBs2J0vlpxj7LaqvZWZ2FRGGtIf9HoEN44P57+RvjvHYlPfRpOKKOcnSSxN4Mvs3RzAoECytuJ1egx2uuN9tf61J+lay6w9e9ViDFfSn3tGm5P
XgGCVXYo4U5mhica7BBWrxQUEFdIPKFs8xF2203pITBFX3lwUudoShr3RT6IOuBP22Se/gWOY+WxlyRIMFYIt2bA3WOp0xN2m3OuFSc12wYIALD8sFH40dto9tuNhnSGBK4F4Yo8m3+FifcKSJlcETya/LEKC0zXJJWl6htjp817yTCzKx4K5onQthIgk1jh
NJpIXBSOdrv+NU0Oy621UFrTt5k2JmwqPo/kRMtli9MvF8DW2JS5WSEdpfyiSBjR
- hZkqdH7Cx9rCMlTaMo6XrMpZ1CurDG+IZnwxFxX2I2GL8cfaY3qJeXYM2lv3e/RYab67ANNnMkMrJYPek3pq1ZLQz7MiPH2JSWHj4pr+rZg+lAVFQpmbrO4Wb0w8pfbhg82lhfXm2sfYDbZVFU8lvhiO17ZJhtA8HLApUKU6sAidFflRVAdKfxF92/qPU5UjUbIri05HxyfP7LS/DOx1P9HBYagITlCjtuxBih7GIZi2c44mZD3SpLn0ODm2XGjcxRf2ol8KMWLi5dNJlViCJs24oJqDdQ6gkP6sGvuTEnQx+X9CF9C5jzFXM8ertGrD
VLq7KwUrSiXkyGmj3ShSY2HhjbkM37xUrOwu5jN/q7CdFPQ52qAXBs5hgu+3EWSz
{
"plugins": [
"react"
],
"extends": [
"eslint:recommended",
"plugin:react/recommended"
],
"rules": {
"react/no-set-state": "off"
}
}
使用配置文件
NJpIXBSOdrv+NU0Oy621UFrTt5k2JmwqPo/kRMtli9NeyLHVoTBetl94cvCLwiUPDAvmepl0rMf+RPviDm6QucaoRac1QDCKZJ0Bp+ziBZ2jBiSttbbBI837PZC6wsOnK0OH7udO59UZh0l65eGIrZTepXJcno7Aceyyj34ZYwK8GS/7LN2y1R2gXEB5pH5M2XvY+Rx/d9OQ4Vl0oFexoO8QN70xTgKsjOK1dHVIwMOnm09Ga6RUk4DPmR1lGljDDNgigRzkXr6HHYPUhRYMwD+8Smt0pWAg2yKkMiMGULU=
VLq7KwUrSiXkyGmj3ShSY2HhjbkM37xUrOwu5jN/q7CdFPQ52qAXBs5hgu+3EWSz
{
"extends": [
"./node_modules/coding-standard/eslintDefaults.js",
"./node_modules/coding-standard/.eslintrc-es6",
"./node_modules/coding-standard/.eslintrc-jsx"
],
"rules": {
"eqeqeq": "warn"
}
}
使用 "eslint:all"
NJpIXBSOdrv+NU0Oy621UFrTt5k2JmwqPo/kRMtli9Nc45qylhu0Z93qeHb8ocWV6Hjmc9EYsBzSQ+I0XHgt7PMSnvkdoIFU0xEK0girtOcVFkLKRjR1gZv6nFwmEeEijgMa0tGltMOvMQW/Wejhm0vyoLu7g0y8xwGlH5JO26UDG3RrX9t0roMjOlCDarJApK+OUiwCjgkZXy5cIQV9ditFAu2AlpMgf3URE6YJAe/VXPf+l2uhczoDkDK0LRdXvcxzHNXsbt3aCA2E3Zayhw==
nkY+r6YkqStM6gml6lItNkpcQG+r8VqEi7q0ssCoYWl3+BBcNnL3xcdCxsnxvQlF+QpBAtaS3v0JjStkAyrt7B1Zbc/wrY0WldYZjaaGw7vEk/lmcQ0jnxNkW5aR8flcS2U0koxzQQtixqIybOCL2xRWfsKCtcM32Wb7Z2B7lre250A158lCBpgxEd4avIPocKoHlgyc6IZbR+kuLgDpFNpd1NyVAhani5VyOitIyFI=
KUuu0v/I0wG66FeAO8pCJQ9wqOH5fR9dZPeyEtb67rmN2xLkhvZ9Bl724mcshLZJafHcz9p5Ds8v1HjpuKwckTlL5Gr1y8ONUBaqSW2cEmX1JDLRqZoi1EMfjwbUKedr7dJljq9BeEyID4OvuuFElk3DMozYwjmnY30/G/niEtLf9qFckyzug+src1ozQFsaMUGGhq17fGBH9XfDmSktjpbNIo9jXa2QNGY/Xdih7pjBTD1iOyr+R15n/bVj+33BQGH+f30k39ix5bsvhCLc/SvuShVd+tSatHQnfycgeZo4Lm2E92056gAGmLHe5oAuToPyqHA4N98HpwHqvSfD2vfurGvqTvef4apnb1Tyfbc8l13/a6wS7WBZWv8p0k/DBI+R01FLCkjYQzf6WXQpcBnrYVDwgUa8Amdx8Ei5d+jdXnrBIAgmzKLkkSBK2GGDh5nypM4ae87hc4NhmErYczvzirwpYjFpA2w5ZABeg+g=
6p0EPBWALrTZqGjK/08FaO9WE60CwkM4zc7J/OaBBmUCraNBxIWUJUqtz5K4rTN9IQt+AwJ2mR6cTX9GjiJHjqXxWLcLPPvK26aBR3dXX0T3f/ODebmCJKT8Zn8zhvpOBMEG4PSPMQw8vSKNZa1M/T9RKSU4Fs+7qrG7pWNyoHxE1VuePH+xhFXmEH1Yddm1PcVMSeKveYSmuMRDj3mL+l9Ny1pU7BU0ZGkvJy0esJLY0P+YfMgVzi4oEZgapNOQMn69dsRBeIgf3FWqVqlyz5v6/6s6CREwjywe06MjY/blQZrIGJrWlmu1CrfS0aJKLMa+0C+971qWHmkSZPjENAjOgcwDHn5F7yYI9VzSh0/EfKKq0uT75L1W+Pgbo2Zu6xsYLC2insh6swdNSQLemI+TKOaTXEw7xZRnOcup0jM=
Pbl0XWvUoBmao0ynZ4OHFGWn5DZUpbJ9xFGLg0q1/lLUTg+lcOCqXwmDzPzFC/70
module.exports = {
"extends": "eslint:all",
"rules": {
// override default options
"comma-dangle": ["error", "always"],
"indent": ["error", 2],
"no-cond-assign": ["error", "always"],
// disable now, but enable in the future
"one-var": "off", // ["error", "never"]
// disable
"init-declarations": "off",
"no-console": "off",
"no-inline-comments": "off",
}
}
基于通配符模式的配置
mNO9AK6IvD4l0vdJkJB2H77KDHnQsVlsAYxln/VcnaxE9yx01ZuJVfaTOLgZWpCoCWIWbM4v/+Wz7q6e8wo+2wJ9BhVqo2314nQYm2lN5fPI4/Vo3DW/P3YwBMnSADH02mdOL/XGQKjuaaw3TKYFS/wECegwrjA3V2/Ox2WJUmNxeaIenDjcXP/yIqnVclCJT5QrSaSn1WKIlb/UG3DYrQpb7DY5IMwPqow8cFPke4KOQXXFgA3hEx9qsGVu6YsXSqwSNqpt8J8CDTllaf9Pv4tvQMroXbmoKou9NuaU07ndZQNPI4fRhpREO7gUwroNb3udXanAjnasBcN0PeGhovaVdsJ5aBu3Gl3YGlQHn0xm61fGCso2E+FZuWAbeE7ZFpA8fiL8Gxt1I5MfqULlT8lcK590GNasRUco8do6eLD3+Ni9S7rl1g/qMLJ1PuVN
RFC9l194wRAt0g3AETV1IbQeVmMWez0uAfX/kvbGeNAuMVHU9er6NyC1P1fYnlBAmn8nf+CXAVzNJTuXBmxw5zPIri7WEZRXVVaYtA6tCSKXDnS9mbxt6DEwnJJMismJqWrNW7Vn32CAyIGjcfh83g==
覆盖如何工作?
pd8VlOYnjEVtTJT+16Qws0rJqoe+pNSX8KYNGLfUnzRkqpU3KHTTeqIh+Nrcckdq939EfF6gG8DgVcw9JHtDy5kGSKN/obtK+SK8r5ZxdiNh2pbnn2eEvJJoe0lEBjCPb8LoQV0WANv8ZeKuHX1ryXkx/YyKRsuISGpkT304k6FPhdCGxK1ZY8u+GNj8ye+mceEp7zm0mXYgWX0azm6h6A==
meHhs6Z5FDF1seVBC36BdRCaWoMp99FroYKUBwuQBFRFVLVZsdcLsA1MiRGmkjvO
{
"rules": {
"quotes": ["error", "double"]
},
"overrides": [
{
"files": ["bin/*.js", "lib/*.js"],
"excludedFiles": "*.test.js",
"rules": {
"quotes": ["error", "single"]
}
}
]
}
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
- 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
相对的通配符模式
project-root
├── app
│ ├── lib
│ │ ├── foo.js
│ │ ├── fooSpec.js
│ ├── components
│ │ ├── bar.js
│ │ ├── barSpec.js
│ ├── .eslintrc.json
├── server
│ ├── server.js
│ ├── serverSpec.js
├── .eslintrc.json
DleqH/VzB//FWQUXoUIpBUhJlWME8nEQskYObEEP5Y1qp04k+8+syjXc3vJ8hUEmTN8Se9e8wk4MuPK6yZFxh+xViNN0Sv0lL4Hm6JMOKZxQ/OObbE1yGHF1qEcvDyYePH/ECRq9ObObPa4/Cbb2tQHQz7O4K5vQiJjTWM3dbt3jxbqQzLhaQzTwAt+XfuDKyaNpSqZYtssZE9O0DRI7OfVtNDXUAfTdEBZ9zu4PModSwo8c0CncI8lWAR/s/TAaoyjyeYOKtR+U/hoQNxLUawA/Cu5Do9865O6CzO6sk7AljKQfqBr5Y3AGzs7oevdXFuHHxLoCd8+87FtUbApmPGR1ZS4A2jZwbUe9PtgmZhXEQYtquh37J11CpdH0OGpFTOL8bm08g4rGDXIhPBN8aBXTyTgV1buPBTysFbUg1uvtcxW+w3HdStIaxZmTgP6qhZwSaQb5X8urfDh//3Lv9cSU6/4aRH+ZO44BPsgdTrtyvtCoWuCLGQOut2923cSYmkAJVHZdcBty7yvZzCW0sKK0MVjATZ9A8rsEtdNtgDTcoim+KwGnG+pGljyCXFGoPOgR5zGh3tKqoTAn/JpqH1nyuoSN6+ZQ7tO1kchaMpxRw0CtK6u/r6kXIVzFg86z9IrfBPfeEOnuBrEjy2np3fUI3Qu7QYC5UNyCDGzbArs=
CQhtnzWfOo5MQTfl4WXXgoDDX5wjDsdj7R5n1gPVSo4qoevC1zB+y9rKFFa93kGZa3wq3H5hi0QvzddI9Nlk4SMtE77bQFftWP16hwShs0v3bsiAYuKmPBgrRq8NF5cef5VB2eL6kR0tsie6Z/jeo/sdodYk5PWmcbIdTQROqB5KfrBOomumaFzA/aPQkfmBdE5HQUOdfK6L1EXA+UE4o7b8JFZaWS7DKndhnCI8aJCFf3MfK2AEj87ylF/XZPrutzw3HZJkwQi0ByTNxp6jOW4Ry+vg+t4eS+gQNep1A+mnHFM7FJAsuuT+avZf4CXZf5kg1gsKPhT57ZEHET8DgtizFgPMKVD0Hn7yxyW4f8JaDIvygUPgmNKt4LzHm/O13I2lGHqNnP4IAmcnCSkxBPiV4XY6fU8hiIranY1C+TM=
指定要检查的目标文件
zRHas+VBMeS0ypMlpXT2cwePnl/dIFHDwOVXr1pocZFI4NZNPul1G/RWcCg7+d4jv0FIGktarx7Ms8UnFzsMndwLf+znmWVONIQ70ZQR7HHv9oRA5vqUxPccV3bQacW24ne6Y4MxVYHFmfZWVsYkY4homhsZ1jhW5A1MeRNJm1iZ6fy+xtNjdV0N2mcGkEyFgNV/U2Cawu0+qpi+FJAhON3xvzft+KIr1N9khQpyapr5VNaXNnVTH/5RVyEZaz3JPv3zMRzPf7PtgkHcjsrOHt3V2Cvb+JzSlOYXd15Vao9988J16Fwhs75Yhj59iAN1SA3wJTV/rb1F+h4JD4yLe2upGe8Q/z8qjfw3hjI8Xbmg0XU9upIng6xxJhxbjojG8OPrNOCOzf08PBsi3rOGCqQuAoSCLT/2mAfAkJqmGCI=
ENhOaVZuPqHU9Zv7MwzgGHCSrlxa3TG+xFZxiBOrfzAf9qfVR9c7k7fpn+SdjICY8HiY8ZJpvWvkXq4JwXyiUac10dVYDMxvr0+K4v/7o+GZOGkzBiBcjAPXGtR5mEdm8RHPkjtE1AAh3XvAfOHizl9SbsnNcndyzxxBpOBcpEKzsoRIb/90OTObFBX01umtxhirnpj1pmGl/6YK+oz77HAT9tybf+c4IPZ0mU1IeAM86kK/d8ISCT5qdAVBZB2Pj0nK2Pcf0j3mK8F1Yb8794x0VjyR0ZqsmDy+9lC7uR4=
个人配置文件(已弃用)
S+EieVkh/tM9r/bFneo3iifkSRCNhuwcw0Yc9xIcY5vpwQaxLkS9rq5pxq93zmrf//Yqin5OSMTXZZVtp9htMw8rz64XkPicUyKLoaU5+pnKFhnKLlphd92Gw1Ld/xZWsOJBjaoELpvoFgFlbSGCEG4HIucMxDHpgEaFy0i8L3u1BuuwTkTr4yWSQDeXW7Xsy7CY0W6KMKv2f8MArC+r+bXpvP5SheYMt7hNjTGKoWE5dec60Z/znIepJzTKEoT5AnNU4CtXsaJGKFQcaWHAzaIohbmxD7+FbpFV338YWO9qawrK2TQ3bl4Rn1MqYQ3jJMxKRT8t7UThtKCA2GQSoPVAFcI3YfMY7Vq8m6skquL7XSJ6K+X1tIiarKimOvgesCjJcEEtynI8vm0nmDs6DoMbDsSRQA+82lTtwapK1YW5vnFxiqCSkM5XW708qjKZ7flu61ht6+1pqgXP6UGTslY1aI93lnh28twCcUaEFNGdsITRxCe14qY88e/YkhC3
lefyCm7PDcWTq9nZuKBMMJI/7FqZX5H+NHrCqDlQ0b44OUPnIRZFhPgg4ceGZZMSLd4QqjAE84/0/1+UUXc/39ytViSXiih36USAAzNZD//h5mQGcJUO6xjX9YbHvfTENh9tWYyX1okREebbNZVUSKwLnAoLiVkCGgiJ+MWAwE2KQhoMf91+2PZF5Z8+Bt6J+qkEpPzqMNkLoiTmaK6mqzvyY5+8XVXuDsQYk21xGcp2D59wV6ait132BdxO/M9pzGV67X1vqKotCNAQB2WUibZVgdrtyA3KGvXtzAsMPn7sxVaYSVyBLMPXfM+KB5Pa
ESLint 如何找到个人配置文件?
2oyxKYsvKd9kkPel4hzssi9Rm61AHyXT4Fx+/hBL7gjepxdQwvjFFxIjQXhsDOZ/KLCNX5bqIX81b5l8T3C5RkzkLFbT6W5ztFPd/n68jhkF+xPHTWekoLeAi+iY7etzEpQjE21yFuPFHgyT7dKGUfEUho9OwdooDRHuSdMvXEyvuw+0WSSOUo/lr5cq8/7a
2oyxKYsvKd9kkPel4hzsshEcdO7JgvsjC7YcSO0pQgrLusaZ0oO3IslWFPPIBC+1HKr78DZ/jKGiNX4milTcB9b1jmw9yjHtJ/9RykMNgFiQpvYfZPrMGX5Sgb277ScOyie/YuVKmQwLVAWzdftuh5nS0ydhaH3JEJPZ/YfZrnXz6jUS9J4E6lDkca6gyAY/TlE92IlrPgTy5w2IWbFUe5ZRTOJnYl3zeXib//alwXVf40jlKAUGrHScZ5FC+vfG
个人配置文件的行为如何?
ozeyN0nWlHDmpqK6W0tg6mfStTxb3ACAVoLTjF3X+bllKTLkfHwhgKPahD7VC48EJ4oHpBQ1pvZnMhkZMgZCe+wCRkz6tR0wd0w/AuBMDbN5jMqDOaHMtecpmXvUXoCb
ozeyN0nWlHDmpqK6W0tg6mfStTxb3ACAVoLTjF3X+bkIISlyRPD0DQbQeHdMBlySgCwGMqgafPvGQ+FSR83j/bfoYN9lTn3I8Ad15W2iCquayT1ut/ET5MdCo3T+EVwoRQQrxb4M5S5rs6nVsyt1PbXSXeYypykwbiIypROfYz5m4oVpDnjZCEQ8eXUij4mAwMVakRwS1m51QVh0WPeI9zUR5lt7oCA19d4Eop2frLhRwmOzvY+oh5plQLD01D0DXQimi+iuMVCqOze6FPrq4Tv56L96l/H6b4fFXccNT48gO17w5j+gB1y9wH+vWOjB
ozeyN0nWlHDmpqK6W0tg6mfStTxb3ACAVoLTjF3X+bnRbWrZbPPbtupfcANJqTPPybZj+o7dDAvUaF2e6NLfECJEXTMUx6x6EZJdgEyJixGby6JBwInHNphZ3EnX4t1FiS9oiJP+SRDc1YeOywEj5A5ZYQKBjGd+Lmjeurtf2EsAI94By1AJmBrDWLyKeGTHWzGI5ZwLPXpH2EQl1NHd4cSp7l0G0Od/snfTsgAAXwhz0F/9r9/5+gz2LZErYh8rtdDrxJp7bHu/FDRFsE06Q+OaxLFzvgJSGjpNSxcU4Y3hWsoxxEKrMwr/MigSgNJAxCxjsnx1jZk4F7DBlsXjU6kXoMWBuZUxhBrL0BcGsJOrCe3e73l37TPdA64nK/P4Vt1bWj4We2k61qUg0+cbEg0pDM9BicBLb4BMw2ssnBavN2ZGZtg8m4zKfZUeZvCknCbESjAEkwM8UC3irUv26cw5woyk+N+j4XvYu32+tELlrofnatkT6DiDuUaz0qXN3GdWtUv7QvwysBemKomEyw==