配置文件

配置文件的格式

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 只会使用一个。优先顺序如下:

  1. .eslintrc.js
  2. .eslintrc.cjs
  3. .eslintrc.yaml
  4. .eslintrc.yml
  5. .eslintrc.json
  6. package.json

使用配置文件

有两种使用配置文件的方法。

使用配置文件的第一种方法是通过 .eslintrc.*package.json 文件。ESLint 会自动在要检查的文件的目录中查找它们,并在连续的父目录中一直查找到文件系统的根目录(/)、当前用户的主目录(~/),或者当 root: true被指定。有关这方面的更多详细信息,请参见下面的 级联和层次结构。当您希望项目的不同部分有不同的配置,或者当您希望其他人能够直接使用 ESLint 而无需记住传递配置文件时,配置文件会很有用。

G80fZLvtbE+zANfyMfoGpis26lyn388wET5FqTJlnOarE5AMMhbdhWGX68eRsCA9Bs2ym9zlmGjwRFasLsrHlboyKml42C71UlEVxNs59PSLuTTpY2aP87sPgZd8D+sTgvM/0m6tzAqo8Y1ZQeolLANTys3PMVH5pn9B0ZrtJlKOu5PROrjgyOukqGts1PF1uUkkTkFbcl/HjeJ9WctrwQ==

eslint -c myconfig.json myfiletotest.js

e0qCPMKVNsGwK8VvtIRU/fb0Yi5HzLQMylD0ZM+27I8A47+Pccyy16hzDAzgxFpnxpNO5NXKE1mfsZFv7Lbsilz7/C9Xe+h6wr37i7CRNyHZO/h63B9f/Fxij4Qmr3FQ0Qchzjo+LqUWyjyk+HZEY4KuwsnKxFqFubm1HR6dTbI7/lQYV+zwinn+FLmU/EAXEZkFpm4iM3aeLeH06+pz48Pf0mFKTL9xUpCKWpUnbBeS3n9wkj8uxSgVTDdPkez22+vJua43waQhWUejaScyjEC5M5eMBYeoDC4RfvUQaIZDhU6nzYG6IvNpdUxGy3lQ450oNn/OBuxwtHKTgR+QcSBFNa0oefxh/g9zk2aKHOIw7PtMX2yk7hYhFQX1Rvn2

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+TkoYMlDJ2gxIj506Zne67V9G5Wf/eJQ8P8SgnAJHujOG5pCJ4ioojZX3P2fELIXb2REBa8WwBYBwUiawQwaflTeCSpnmmvaLbg5RlOXv6GHGb7zmqcp7AU0W5R47jOdoP4LPoBQ7O0E/rXFLjlss5sm25ezlJNw8hKZiluGwCyvXSHw99t5s27hC/7TKhsUfsawMS+4GOtUqVje1h+SJi3FSv9hToAqtee5AnJNRthHL80tE0iGbGky+pMr001lAzxlp3qPzpBLwwMjxlr5ihVUMc3tn3nVrCTnOyNSAFT7YxSO+ILJpU+JAIfc9WADJXwNOnG6pINfzEoJx3u5UuUq3iWUQ==

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+8yHUXb90Farr2e1EVGBAOStyIUy5Fn7ZmZyGdnzYB6ifcu5X4r2tJb5yk/SevJfeMQ+TSL1y/15vn4bR/GXjaKbW9zic+/zaAQPI0fi02hetJqokmW3VKbJbbS6iB60SHyRiZT1T+A0kMFfbeiNoG4x+b/5/kyGRRC6W7rOjOf8QyPLU19RigsbqPYqJ+xH/oxL7oT42kug0J1pd/3rw0sFG4XJkX40JE4vIaMBPUU39GnjLxteD0S/tOqqMQLG9WNBvs5ur6xRXcO4zJ2UE1qRt8zJN16b8OyqAeQ5tMJb9CoWcL4rAofOawx9che1sqIvYwLxNjruNa25ylqMEAKqWnuAzEDe4mBUst0g9CDlLFwVDsNNZM6MSNiYT045SXpeP8bLL1E9w==

jt2n4sxTTKhSFPlPNYz8hQ==

{
    "settings": {
        "sharedData": "Hello"
    }
}

6ahD2zkxGAmi8Uj+8N1YMg==

---
  settings:
    sharedData: "Hello"

级联和层次结构

QXAtWVGvampqn9oIiPBztmlmgiWG3vBS7CkqR8SE16ly5cav/OnQizwX/NNvNUd5YElGNr2ExdbeIncynRNu/yfsvovc1MSeq2Py01atKHAd5ryFmSohEHG2dODuCP2Nc0vTefgT7urNQlLHjI53OGo0EkNgGyGEq/kop9IyBN5kq98/G0DLOF/Vzfd4EYAb

your-project
├── .eslintrc.json
├── lib
│ └── source.js
└─┬ tests
  ├── .eslintrc.json
  └── test.js

uog0ccgD0yMwbeejUm8AP2DPPora52q2O9JbBfAMg2d/mKInUHY0OivpOSIRzxdDbLSLuKzpAhFnPzYJ59ysMVJd4j3Erg1Mwkgl4bso3witzBiThwR7DcpAUB4U2YMoXykxUjFHnpGj/JeEpn4z8krwMEFy4wdTKLvAXLQgjwDx3q2S03IAyi3VrG8Eb25mv2QqIh+5MWzXKe5vGVYtJVzqx7wkhRCmtstmdN9h3mDRl4BNDM+1mwf7ii9meFHXrYNh0PS0mLwuhVWJoYKfOWGo9k8QLRUR8iCMrfxQGzEG0Xeaa2GkLnxo6U3FuM0IVVjSqb6NJZDxE4/XQI+4sIOwe9k/POJQ6TRaYDHQYMLZ0DmdSh6WpJfSAnR1emv4gvON+s0UMcEREYtr4K9D4mEM1yIu1A+KMo/+1Bq2bkJmOjkm51mbAI1esI8ip4zoAu7u8PSHmd6l2PjdPa1ibw==

CX0TAa6C6TRavstMbeRi7yxmoeihF6uPXRu+P4t9ToloPkPesZu6+UAZgcmtPBHq9o+gCPFOK3Bw7GVWDRTrcI1J7vdHwg2bRDbRbkzoy8Co/P824lAM7oA+ml3uGyfZvbIDyo06/QIQylodMPRrFzvPVVP3V9BbdmaOeQbevSb9baB9LUjag0XvHWIl727u+IGu5im6Wts4bkGdLFr+MNCkVOHS8gwn+ULKTkDOXbdHQA8AzDvhqk72g8kXBZweiUC3BsdghC+AQV806fFz9GySzQ9LMsVvvXGo9VGSFJ7XRtKxXGfC277X7EsSDp+v937ULmO7Wt25mlAGrIq2+6eIco8vcWhZ4Up0TRjo5QBw8DJYbwgvcMQ0jtMQqQxQ

your-project
├── package.json
├── lib
│ └── source.js
└─┬ tests
  ├── .eslintrc.json
  └── test.js

RPA1xUWyritUhsWetKXbBI9MJJ9l5JC61YoosrwABn9VUqly7zBWeDM7cw1rm94eTMHSUIDavGYncihgCeXaf5zAexzD6hgIWFr1S5v/7eEZERi0+xiwaNxtpVn9Z0b28d8JPqeO6Oma+T43zOEwmeN9wJtu4i0M97I2pR/fES05Z994qNf4qJHIFE8SjG85tG3VHQNGUO27kq/WZwc5uVRHrRvo9YYdWUKTEbGO9Wg=

FdWRHSA+JqbZ0J3+JiUFRo3NIfPkmapyNxfLqthpchnkomTEzw38Lm5MGeusFgs2khrfmghS1LwoWOu1lg93thXX57gaZ6J7GHv/pRnOphtA0Ie62elhjUNFq/qLUuewKimxjhpkiNV7/gQRUTB3U3P4KBefDohNYVriBHRR6/MMEClSsPbGyxw8+QwwuXhwYBD9nQOqY2jfU89eXmE20fT3F1loAN76fQL2kn/9O++t30R3fpjDNAYLlnCw4F1lgZDvXedrq4MOrZu0OlfJQhjBI1DiH+dFnEhtc0YGPx0GfKZOLhCOVGx1Et3hkZVJljG6n6lN7K7WX4a3MmZkdz4Jt8Xgn71z5gSIMspi6pUdd7/Qc43o5kt8fm96tkY8yXLwOy7kNMsBch86vZ/h3IvuDxfri3yZbhHGVC7Um9vbfhB02gA9itnGEIMn4V+taRaLp3UZmiBOOwfldXzE8XG/woAynM++g/VK2nlHs6NH4tBEvi4XKIt2up8v5R3CHNkrwT2kMzuoAfhUx0d/HZ28VayQWCLpMUCSEBTzWbtVOC13BYQi0dH4sgdY+g41rB0klgNJK6q07/SiIg5tZX6l3l86MH/q9zRii+rmGTvOu53f9xjbdP8bCCgKPV+s30jJu8ngZ16uxc+nLE6Ib4swHgOfxDZORbici2lqdilGMmGRR8Ihy9w/loQKBkKwYbI6NPKnbTb+5Lp+c70P4iAo7516psNE0xHURvsAIy7QV/zbWB+Viihid+mIZvsY

{
    "root": true
}

6ahD2zkxGAmi8Uj+8N1YMg==

---
  root: true

kUlHvVhpvQ1Bgypq7hSrXziqroa179fwAGGDYlawhaKjy0/kUuajgvR5oCmMwhg0lA9nhnQFOmAzPov0N9hqiO9I9LHQrFZkCBDv35MnxjrJukawJWRfXjzkr1MXsF4e4ny9PsAxRCKuQ1mJIHIFkYgquoWUO5SnutZHgZWWLwKKe5KEfgJGMP72B/hG6mV7ZgwAc2XYanoJOfDPqMm6yJbqvUCcwIDOkfZR6LUFa5KTLrmhE3tvLYKAFjX+m9APn/1ZhNmFD40UPOkDFTqwM7RHV8HRD2TiF/lkOZ7R1B8wbIizUwQO+9r+7z4jOe7jT3KT6rjhkd0EjP1o999/Ze/N+wZe9C0h0foBqTxTQXgenltpaPIYwzWABtoqcL4ZFCDDIfQS7CJLc8h/sQPdUaMs21ku4wGkDjvNtTaszkVkKtD+efJnlyWc5iftp8nH

home
└── user
    └── projectA
        ├── .eslintrc.json  <- Not used
        └── lib
            ├── .eslintrc.json  <- { "root": true }
            └── main.js

4s0uoFo9+bsPisNmXbU1Md0wCj8IlxQ6gDO9z9qMfceJkC2/V0IygghutojagvF/n3ZaWZTZM0Uw5mt6B6QGiJuMkMB/tGZRivSwkwPp+5o=

  1. 内联配置
    1. /*eslint-disable*//*eslint-enable*/
    2. /*global*/
    3. /*eslint*/
    4. /*eslint-env*/
  2. 命令行选项(或 CLIEngine 等效项):
    1. --global
    2. --rule
    3. --env
    4. -c--config
  3. 项目级配置:
    1. 与检查的文件位于同一目录中的 .eslintrc.*package.json 文件
    2. 继续在祖先目录中搜索 .eslintrc.*package.json 文件,直到并包括根目录,或者直到找到带有 "root": true 的配置。

W4TbwQzTumDDi1SmR2DizIEyOZGihqbyNzUK4WKOtZ6X5MlYPuyvNoEU6bMe18ffaPigxppqjkJLFMOeMJj5/JewQcjzodsZWFkXV+3BuFbdbSpqcN0tVroTmZKRrMZ+sE9xCgl3KzHk1hLCJpd6NY2a8ueUBPzcfQvtaeW7T7dLgUtwNl8ljBg9faCXtywaieOV5038oZ0SBwBBTSia/vc9UTZNKGaUql+5XVlYjyt8EK+i78VnIbfxOz92Wtix0uYwO2vgA4lRCbiMax+/oZWs+n1xWVTsPbomb9hMnkMD1d+4yv4JZDRsuTu/rIGrCJrcSMRExmELiEwvn680xEIkBKZ1oIsOG/nC02WCXdmTBxYCvk+AgZ7GozYudFLBm8Pa9ey/6LOC/iYuhjgDv/jAODgGfZ+nQD+FdAzZfX+AQcoqRMkEwFyWp7Oxb0M4zJlp5KOznZyqif34hKbzQh2chMpV7zkH1QDh5/QaFZ06R561VIHb0EtK4o0erCGj0pKy4k7S+9S5X3kmadWX+w==

扩展配置文件

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

使用可共享的配置包

n83LhCvV5K17KkYeIOxddoRgZBqSEWEGNTBTb6vSMtBwCSXTg8jGOLCGyGBWVaKdyJMIGE/yE619c+2I3lij8m4quUaT0CQzJZ6NJHJJRyjCRoNyLQFgOclgdpSh3TIohlFzjex1Ni6aw1RUeqsbQP3TrQ1tVrTa7HxDbcyGRYoBrfdgXWCxklxWTaTEXGyOhJavi2LKhtQYbeUOq1bB9U9Uz3+vnigvRUj6TTTef8C9xJFuzQqXINUCtLs7jUfneQ2+br19a54wuZixsSB51w==

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",
    }
}

使用插件中的配置

L36j9c+jV5fidPIPO1GC4OWXBNg5YvaInKAygCKMDb6O6t/Ym+dGXMMA45qaVoFX8lG654e9zgtKeHh29QH+XD+eHnM7TZab35asJhI5e0lm4y9i5m3l0YG3uSzJFSiWC1VJUhMnbg6u7aIcH7e5VeVRXAcUbdqqgZBw8XKcyc23sDBBvXSUG9bF1Iqt9RtNBxfvnIUKmd4p3rgrXrvpKZo9VIho/aCrawOS1PlhgrXa7sjskhlOfjH4JfFJM9rA7bDb588KfBwbChLWEMrnAFrX9OZUZ3CnF6MjKofl1va6a3iwtBQXmtwNO6of0adz1TzTTINQt/Sy5VPy4+I5B2P/+dwMMsXIpmfJC+cLPxVcQybya2sq4Bec40i1rSWUlRows3tDXpSN+N297Kyt/yMXwCMzJa8W/iNtGG1JfwL6rbjhxVEhDMhys1JMXFMo

XgGCVXYo4U5mhica7BBWrxQUEFdIPKFs8xF2203pITDasbnG3qsvlHfH/8NB9IMtVv8sBZN0yED/qgzBNgaTGFPgzpIwSK4zcBbzdqc4i1qQr0FVkcCglUN2QaEKz3r5+LwzDKg+At6hPSBS5zmO/hF9WnnBDtH7QpzFjRM1Ak4cwcnOJ0caBUuk9yeB8ifg

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/kRMtli9NeyLHVoTBetl94cvCLwiUPc43DIREhrI+l9yFZDJEs3dvgJvt0WyHDqKyOSbBIPdnUi31S7XEjfe9Do2gXzC27fQyZrcG0EEejfvirGV8j+Na/2iNdQbHT5hge6ZTttUooRp3WRdDEm7yXVndDxpu6Lbh90IDiJRkjIcsBBPFVCx94xyCRyeoZqQNCa65Se/7YiX77Jp/pMYDBntJy8lyHZ4Uf9ULWo98toeQH+7mOeWPgcKmjFXl0lQLPLE3R79o=

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+7qrG7pWNyoHxNhdY2s8xXtg92e1Kw6dZbQP/kW5mrsLX/o3JrEW/YqPlNGPyKmEhr2W9kKHs1y8C2CSVi1X0gh4CL1vPVvadOE3Ul0SPjKew1JG7GSz+uXmTh/mSU630GE61iCtP02kz/kBLWFhuLUGgAI6pPzgHWr+rnG3ioUnnSf1CC5TdeORZ5LdE6Cft3IjwPmHmitEnIM1hClAlSKWcioHqZvVOtj5wZW49A6H1Me1s5wpgGhv8sYyaPoBzsCLhCvvwHzA0=

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",
    }
}

基于通配符模式的配置

ImO9G9YHtg/LVT3yVBkO+5GMnglJDi2iccDHYuoBijIxPglH9FTy/Zcet051X5Qso005O+atoggtajXJIczrr3CEyenhiF1yMzq+epEHza/0MebbcvsNnMaiAqN0gTX5MK9cPpmeeUhP4gfq5r9EWswF+G9gxOA4olXg8xqocrpvENZhbP07aTqEEN7VI87Jt0nKYGToR7rbLO6q1yNY8Wnoo+RwaPNRoskFMONLU3+WxCd5A0NslReqY591ep1Lunt49em6r7RFajb6RdJXMY1Ampp6bvNWcGoasWmKfg0iheQ6E1zVUi9XjIs4eqc3xnR+kCgvIYWT/cCwz6Y/TJ1zKOcvmt2HI5A/7ZdHAh/+JmgTp9Vnd1utM6d4+ps2iiWkFUogmtX/FNCl25BmrXrTcr0YxirfXOe4gwIalLsPMVdvhyA5zgO0y9jkVipU

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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

相对的通配符模式

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+xFZxiBOrfzD2iM++mSm20ujrPDwQGG6PnsK4sxcpA7GQlir+qnZiQNXMzzqi4nRBYfRbMAOVhzZtRhAEK1pniH/lxyyCpdp9dA63V9bZZAQIZ18HsFMliPtI+KIdBJihb2xJSoX/NnoPm49ZFtwpNQ3x6WEHfQ4ZUvqX8wmRrHNOKPsJeqwJm83oIUX5Rijrb5gLGlgpCP849Yyrp6HAcxiLqvyn2SQQ+jT4t3G1u0AivOVb5I57GwXCmwnPvuYeJJbyXgk7Y/Y=

个人配置文件(已弃用)

S+EieVkh/tM9r/bFneo3iifkSRCNhuwcw0Yc9xIcY5vWv+BpLZl91r4Ryu6zuZvhCgvQFgZLKcwIKqAGNz2ybKdNkb9JBP/qg668eTscpjo5lZLd9F5A9sGXWuudXH3KONMXD7JP+MN9nG+jGlYUOIskyfApo7A6JJEnSQTwUPL+S+sM/2o34RLOoHbcVMeyuY6LryQIXjvVEFOwMYN90Xwr1/fjj08lT9KAUXfEq6wEgWTwX5fHN3RwxRxIwUZyndDPySYXdS73Cxg/Nn6ebIH2bwErqmzGr4acqym4ohNbZHrjDxsI5DHcXfCk2wxlPdrvEic3ZTZWysl2n0ekf+kzPTGdn7PqXTUeQI+qFQw8swdwuutNqCXnc9Gdu5u+k18fS8MAVwh5qMxMtZzwXXNk3PfxmkgkkmfVebu53oHL9q8tDxpA1ShhC3UDbb3pTe0mKcH/pheTEXLdN/3OvoW/1482OpNLLJz62YWLA+xbtAmfnOUukpCxQyPfGbES

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/MigSgNJAxCxjsnx1jZk4F7DBlsXjU4zC/qwUe9uvbpP9mbMmYEX/bGpNkwUaNrt5YizHuVCmGAU5q8spzV0OKr6lhTiZizVC/WGhi26GAMynjn4O39GIWZocEqQrtwC563pxKIR2tPRp1foIG7gpXtyvr9rWpw6M4ZpRzil37iHNwdqILQGLx8/nq91iUqV/bq4CiiYMrNxhtk+Yy+0HdPC+Yif0Fw==