Evernote ESLint config

raw JSON →
3.0.1 verified Sat Apr 25 auth: no javascript maintenance

Shared ESLint configuration used by Evernote for internal projects. Version 3.0.1 supports ESLint 2.x, 3.x, and 4.x. Requires eslint-plugin-evernote, eslint-plugin-react, and eslint-plugin-import as peer dependencies. Provides a minimal, opinionated base rule set for React and ES6+ codebases. Suitable for teams wanting Evernote's standard linting rules without heavy customization.

error Error: Cannot find module 'eslint-plugin-evernote'
cause eslint-plugin-evernote is not installed.
fix
npm install --save-dev eslint-plugin-evernote
error ESLint configuration is invalid: "extends": "eslint-config-evernote" is not a valid configuration
cause The config package or its peer dependencies are missing.
fix
Ensure eslint-config-evernote and all peer deps (eslint-plugin-import, eslint-plugin-react, eslint-plugin-evernote) are installed.
error Warning: React version was set to "detect" in eslint-plugin-react settings, but there was no React version in the project dependencies.
cause eslint-plugin-react cannot detect React version; missing react package.
fix
npm install react or set settings.react.version in .eslintrc.
breaking This package requires specific peer dependency versions; incompatible with ESLint 5.x or newer.
fix Use an older ESLint (4.x) or consider switching to a maintained ESLint config (e.g., eslint-config-airbnb).
deprecated The eslint-plugin-evernote package is deprecated or not publicly maintained; custom rules may be outdated.
fix Replace custom rules with standard plugins or remove them.
gotcha Do not use 'evernote' as the extends value; it must be 'eslint-config-evernote' (full package name).
fix Set extends: 'eslint-config-evernote'
gotcha All peer dependencies must be installed manually; npm will not install them automatically.
fix Run the installation command provided in the quickstart.
npm install eslint-config-evernote
yarn add eslint-config-evernote
pnpm add eslint-config-evernote

Install eslint-config-evernote and required plugins, then configure extends in .eslintrc.

// Install required packages (choose appropriate ESLint version: ^2.8.0 || ^3.1.1 || ^4.2.0)
npm install --save-dev eslint@4.2.0 eslint-config-evernote eslint-plugin-evernote eslint-plugin-react eslint-plugin-import

// .eslintrc.json
{
  "extends": "eslint-config-evernote",
  "rules": {
    // Override or add rules here
  }
}

// Run ESLint on your project
npx eslint src/