@srcinnovations/eslint-config
v2.3.0
Published
A reasonable set of javascript rules (ESLint 9+, Node 20+)
Downloads
189
Maintainers
Readme
src-eslint-config
Shared ESLint config for SRC Innovations JavaScript projects.
v2.x requires Node 20+ and ESLint 9+. For Node 16/18 and ESLint 7/8, use v1.x.
Install (v2)
One install brings in ESLint 9 and the stylistic plugin:
npm install -D @srcinnovations/eslint-configOr install ESLint yourself and use the config only:
npm install -D eslint @srcinnovations/eslint-configInstall (v1 — Node 16/18, ESLint 7/8)
npm install -D @srcinnovations/eslint-config@1Config
- ECMAScript 2024 (optional chaining, nullish coalescing, etc.)
- Rules: base, es6, style, stylistic (via @stylistic/eslint-plugin)
Future rules may cover: node, errors, imports, strict, variables, React, React a11y, React hooks.
The initial rules were heavily borrowed from the Airbnb JavaScript styleguide.
Flat config (recommended for ESLint 9)
Create eslint.config.js in your project root:
const { FlatCompat } = require('@eslint/eslintrc');
const js = require('@eslint/js');
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
});
module.exports = compat.extends('@srcinnovations/eslint-config');Use __dirname for CommonJS. For ESM ("type": "module"), use import.meta.dirname (Node 20+) or path.dirname(fileURLToPath(import.meta.url)). Install @eslint/eslintrc and @eslint/js as dev dependencies if needed.
Using with .eslintrc (legacy)
ESLint 9 defaults to flat config. If you keep using .eslintrc / .eslintrc.json, run ESLint with legacy config enabled, e.g. in your lint script:
"scripts": {
"lint": "ESLINT_USE_FLAT_CONFIG=false eslint ."
}