Skip to main content
2.3.6.5 release notes
2.3.6.5
- Added support for SLDS Linter. SLDS Linter is, for all intents and purposes, a set of rules for the standard ESLint and Stylelint static code analyzers, and that's exactly how it's integrated into Illuminated Cloud. In commercial JetBrains IDEs, the first-class ESLint and Stylelint code inspections are used. In Community Edition JetBrains IDEs, the ESLint and Stylelint language servers are used via LSP4IJ. Note that LSP4IJ version 0.14.3 is required for these two language servers, and that is unreleased at the time of this writing. Please install a nightly build if necessary.
A demonstration video is available here.
IC helps to install and configure all required components via Settings | Editor | Inspections | Salesforce | SLDS Linter. While delivered as a code inspection, that entry is really just a proxy to help get everything installed and configured properly including:- Node dependencies - ESLint 9 is required for SLDS Linter, and IC will automatically add and update dependencies of several packages via
npm
. This may result in the need for changes to other Node packages. NOTE: Node dependency management is a complex beast, and it's possible that this step might fail due to conflicts. If so, the Node packages — including specific versions where appropriate — that it's trying to install/update are available in the output window, and you might need to massage your package.json
file to address any version conflicts. - LSP4IJ plugin (Community Edition IDEs only) - IC will help install/enable the LSP4IJ plugin if necessary. Please see the note above about 0.14.3.
eslint.config.mjs
- IC will create a project-level ESLint configuration file asprojectRoot/eslint.config.mjs
. This file includes configuration for Aura and LWC (both JavaScript and TypeScript). IC will also help disable other ESLint configuration files that would otherwise eclipse the one it creates. These files are disabled either by renaming them to have a .disabled
suffix or by removing them based on user input.- ESLint inspection (commercial IDEs only) - IC will help ensure that the IDE's ESLint inspection is enabled and configured properly.
- ESLint language server (Community Edition IDEs only) - IC will help ensure that the ESLint language server is installed properly.
- ESLint language server configuration (Community Edition IDEs only) - IC will help ensure that the ESLint language server is configured properly.
.stylelintrc.json
- IC will create a project-level Stylelint configuration file as projectRoot/.stylelintrc.json
.- Stylelint inspection (commercial IDEs only) - IC will help ensure that the IDE's Stylelint inspection is enabled and configured properly.
- Stylelint language server (Community Edition IDEs only) - IC will help ensure that the Stylelint language server is installed and configured properly.
As each configuration item is properly addressed, a green checkmark will be displayed beside it. Once all items have been addressed, ESLint and Stylelint results will be displayed directly in the IDE editor tabs. Some items can be re-executed as needed, e.g., Node dependencies installation and configuration file creation.
Known issues and limitations- While it's possible to run these static code analyzers in batch in commercial IDEs, that is not currently possible in Community Edition IDEs due to lack of support for pull diagnostics in the respective language servers and/or LSP4IJ.
- Some Salesforce-specific rules seem to report violations as composite values. The core information is still present, of course, but they may seem a bit more opaque than expected at first glance. I've logged an issue in the SLDS Linter public issue tracker. Once this is resolved — either by configuration or an actual fix — I'll update IC as appropriate.
- In commercial JetBrains IDEs, ESLint results are not shown in
*.html
files due a known bug. The fix for this bug shows as delivered in 2025.1.3, but I'm not seeing it as working properly in that version and have commented as such on the linked issue. The issue does provide an effective workaround, though:- In Help | Find Action..., type Registry.
- In the resulting dialog, search for registry key
eslint.additional.file.extensions
and add html
to the value. - Click Close.
Existing HTML file editor tabs will not be updated immediately, but ESLint will be evaluated again after changing an HTML file editor's contents or opening another HTML file in an editor tab.