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.
Common errors
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
Warnings
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.
Install
npm install eslint-config-salesforce yarn add eslint-config-salesforce pnpm add eslint-config-salesforce Imports
- eslint-config-salesforce wrong
extends: ['salesforce']correctextends: ['eslint-config-salesforce'] - eslint-config-salesforce-license
extends: ['eslint-config-salesforce-license'] - eslint-config-salesforce-typescript wrong
extends: ['eslint-config-salesforce'] with TypeScriptcorrectextends: ['eslint-config-salesforce-typescript']
Quickstart
// .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