ESLint plugin for Aura
npm install @salesforce/eslint-plugin-aura

Salesforce Lightning (Aura) specific linting rules for ESLint.
``sh`
npm install --save-dev @salesforce/eslint-plugin-aura
> [!IMPORTANT]
> Starting with v3.0.0, @salesforce/eslint-plugin-aura only supports eslint@v9. Use @salesforce/eslint-plugin-aura@v2.x 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:
`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() |$A.error
| aura/no-deprecated-aura-error | prevent usage of |
| 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 $A global, via the aura-api rule.
- Browser compatibility rules for Salesforce supported browsers.
Usage
`js
// eslint.config.js
const eslintPluginAura = require('@salesforce/eslint-plugin-aura');
module.exports = [...eslintPluginAura.configs.recommended];
`
#### Migration to ESLint v9
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.
`js`
// 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/recommended rules.document
- Proper usage of and window via the secure-document and secure-window rules, respectively.ecma-intrinsics
- Proper usage of Javascript intrinsic APIs via the rule.
Usage
`js
// eslint.config.js
const eslintPluginAura = require('@salesforce/eslint-plugin-aura');
module.exports = [...eslintPluginAura.configs.locker];
``