Salesforce Lightning (Aura) specific linting rules for ESLint.
npm install --save-dev @salesforce/eslint-plugin-auraImportant
Starting with v3.0.0, @salesforce/eslint-plugin-aura only supports eslint@v9. Use @salesforce/[email protected] for older versions of ESLint.
Add this plugin to your ESLint configuration and extend your desired configuration. See ESLint documentation for details.
Example eslint.config.js:
const eslintAura = require('@salesforce/eslint-plugin-aura');
module.exports = [
  ...eslintAura.configs.recommended,
  ...eslintAura.configs.locker,
];| Rule ID | Description | 
|---|---|
| aura/aura-api | validate Aura APIs | 
| aura/getevt-markup-prefix | verify the presence of the markup://prefix for events accessed via$A.getEvt() | 
| aura/no-deprecated-aura-error | prevent usage of $A.error | 
| aura/no-deprecated-component-creation | prevent usage of deprecated component creation methods | 
| aura/no-deprecated-event-creation | prevent usage of deprecated event creation methods | 
| Rule ID | Description | 
|---|---|
| aura/ecma-intrinsics | validate JavaScript intrinsic APIs | 
| aura/secure-document | validate secure document public APIs | 
| aura/secure-window | validate secure window public APIs | 
This package exposes 2 configurations for your usage.
Goal: Prevent common pitfalls with Lightning component development, and enforce other Salesforce platform restrictions.
Rules:
- Many of the Best Practices rules.
- Proper usage of the $Aglobal, via theaura-apirule.
- Browser compatibility rules for Salesforce supported browsers.
Usage
// eslint.config.js
const eslintPluginAura = require('@salesforce/eslint-plugin-aura');
module.exports = [...eslintPluginAura.configs.recommended];The recommended configurations extend ESLint's js/recommended predefined configuration (previously known as eslint:recommended). ESLint v9 has added 4 new rules to the recommended config, you can read about that here. You can opt to turn these off for backwards compatibility.
// eslint.config.js
const eslintAura = require('@salesforce/eslint-plugin-aura');
module.exports = [
  ...eslintAura.configs.recommended,
  {
    rules: {
      'no-empty-static-block': 'off',
      'no-constant-binary-expression': 'off',
      'no-new-native-non-constructor': 'off',
      'no-unused-private-class-members': 'off',
    },
  },
];Goal: Prevent Lightning Locker violations.
Rules:
- @salesforce/eslint-plugin-aura/recommendedrules.
- Proper usage of documentandwindowvia thesecure-documentandsecure-windowrules, respectively.
- Proper usage of Javascript intrinsic APIs via the ecma-intrinsicsrule.
Usage
// eslint.config.js
const eslintPluginAura = require('@salesforce/eslint-plugin-aura');
module.exports = [...eslintPluginAura.configs.locker];