This module contains eslint rules used by the npm CLI team. All rules are listed in index.js at the root of this repo.
To facilitate having a single .eslintrc.js that can live untouched in every project, we prefer to use a default config like:
const { readdirSync: readdir } = require('fs') const localConfigs = readdir(__dirname) .filter((file) => file.startsWith('.eslintrc.local.')) .map((file) => `./${file}`) module.exports = { extends: [ '@npmcli', ...localConfigs, ], }This allows any overrides for a project to exist in a separate file, typically .eslintrc.local.json.
This module also contains a bin script that will run eslint with the bundled config.
npm i -D @npmcli/eslint-config # lint with our style rules npx @npmcli/eslint-config -- # any args to eslint go here...`