eslint-config-salesforce

raw JSON →
2.2.1 verified Sat Apr 25 auth: no javascript

Official ESLint configuration for Salesforce projects. Provides a set of rules for JavaScript linting, including import restrictions and JSDoc enforcement. Current stable version 2.2.1, released October 2023. Requires eslint, eslint-plugin-import, and eslint-plugin-jsdoc as peer dependencies. Differentiates from generic configs by enforcing Salesforce-specific coding standards, such as no-param-reassign and restrictions on relative imports in lib directories. For TypeScript, use eslint-config-salesforce-typescript instead.

error Error: Failed to load plugin 'import' declared in 'eslint-config-salesforce': Cannot find module 'eslint-plugin-import'
cause eslint-plugin-import not installed
fix
npm install --save-dev eslint-plugin-import
error Error: Failed to load plugin 'jsdoc' declared in 'eslint-config-salesforce': Cannot find module 'eslint-plugin-jsdoc'
cause eslint-plugin-jsdoc not installed
fix
npm install --save-dev eslint-plugin-jsdoc
breaking In v1.1.0, removed eslint-plugin-prettier and added eslint-config-prettier. Existing configs relying on prettier rules may break.
fix If you use Prettier, add eslint-config-prettier to your extends array and remove any eslint-plugin-prettier references.
gotcha This config is for JavaScript only. Using it with TypeScript will cause issues.
fix For TypeScript projects, use eslint-config-salesforce-typescript instead.
deprecated In v2.0.1, removed the rule 'jsdoc/newline-after-description'. If your codebase relies on it, you must add it manually.
fix Add 'jsdoc/newline-after-description': 'off' to your overrides or revert to an older version.
gotcha The config enforces import restrictions (lib/, non-relative src) which may cause false positives in monorepo setups.
fix Override rules in your .eslintrc if the restrictions are too strict for your project structure.
npm install eslint-config-salesforce
yarn add eslint-config-salesforce
pnpm add eslint-config-salesforce

Basic setup extending the Salesforce ESLint config in a JavaScript project.

// .eslintrc.js
module.exports = {
  extends: ['eslint-config-salesforce'],
};

// Install required packages:
// npm install --save-dev eslint eslint-plugin-import eslint-plugin-jsdoc eslint-config-salesforce