blob: 4438e2db2a881e4ba222f80894029544526ab800 [file] [log] [blame] [view]
# Custom ESLint rules for Chromium DevTools
The [`lib/` folder](./lib/) contains a set of [ESLint](https://eslint.org) rules
specific to Chromium DevTools. These rules are executed as part of the
```
npm run lint
```
command and implicitly via the [Presubmit checks](../../test/README.md#Presubmit-checks).
We follow the ESLint [Rule Naming Conventions](https://eslint.org/docs/latest/contribute/core-rules#rule-naming-conventions)
and consistently use dashes to separate words (instead of underscores), and prefix
all rules that disallow something with `no-`.
## Testing the rules
When writing a custom ESLint rule, place the logic into a file `lib/foo.ts` and
add a corresponding test for the logic to `tests/foo.test.ts`.
You can use
```
npm run test -- ./scripts/eslint_rules/tests
```
to run the tests for the custom ESLint rules.
To run only specific test cases, add `only: true` to the objects within the valid/invalid arrays.