Linting

Catching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.

Overview

InCAPassessed

Catching in the editor what would otherwise be caught at deploy time, or not at all — problems in the CDS model and in the project's configuration, found by rules rather than by review.

SAP SHIPSby design

SAP publishes an ESLint plugin for CDS carrying a recommended rule set, described as best practice and universal to every CAP project — so the baseline is opinionated on purpose and arrives already chosen.

Not covered: It stops at the model. Configuration is the other half of a CAP project and ages faster than the model does — a key deprecated two releases ago keeps working silently — and the entries here that cover it are independent, built on ESLint's JSON language support rather than on the CDS plugin.

SourceCDS Lint — capirechecked
InUI5assessed

In a UI5 project linting is mostly about the next major release: UI5 linter reports what was deprecated with or before UI5 1.136, and ui5con-2026-ui5-linter-workshop takes a legacy Todo app from its first report to a clean, CSP-compliant one.

SAP SHIPS

SAP publishes UI5 linter, which checks the JavaScript, TypeScript, XML and JSON files of a UI5 project by predefined rules and fixes part of what it finds with ui5lint --fix.

Not covered: At what UI5 2.x removes: its findings are deprecated libraries, framework APIs and configuration, global variables and possible CSP violations. Its own README says it does not yet cover all aspects and best practices for UI5 2.x, and that not every finding can be fixed automatically.

SourceUI5 linter — READMEchecked
THE COMMUNITY ADDS

ui5plugin-linter checks a project's own code rather than its readiness for UI5 2.x: XML attributes that do not exist or are duplicated, imported modules and members that do not exist or are deprecated, unused classes and translations, and IDs or event handlers that break a naming pattern the project sets. SAPUI5 Extension shows its diagnostics in VS Code.

Artifacts11

Group by11 of 11 artifacts
ArtifactSignals
Build tools5
@cbs-consulting/cds-eslintESLint plugin with one consultancy's rules for CDS files
Signals
No license
@cbs-consulting/toolsShared ESLint configuration for SAPUI5 and CAP projects
Signals
none
@sap-ux/eslint-plugin-fiori-toolsESLint rules for projects the Fiori tools generators produce
Signals
none
@sap/eslint-plugin-cdsSAP's ESLint plugin for CDS
Signals
none
eslint-plugin-better-cap-configESLint rules flagging deprecated CAP configuration
Signals
none
CLI tools4
@satiroglu/kaevRule-based checker for SAPUI5 and OpenUI5 projects
Signals
Functional boundary
@ui5/linterStatic analysis tool for UI5 projects
Signals
none
hana-linterRegex naming rules for SAP HANA artifacts in a CAP project
Signals
Functional boundary
ui5plugin-linterCommand-line linter for UI5 classes, XML views and i18n files
Signals
Functional boundary
IDE extensions2
ui5pluginSAPUI5 extension for Visual Studio Code
Signals
Functional boundary
vscode-ui5-language-assistantVS Code extension for SAPUI5 and OpenUI5 XML views and manifest
Signals
none

Content4

Group by
Piece, what it offers
Before You Upgrade S/4HANA: Static UI5 Checks with MCP
blog.zeis.de — Marian Zeis, Marian Zeis, part 9 of 10, BlogRunnable codeThe reasoning
Building Secure SAPUI5 Applications: Best Practices for Developers
SAP Community, Manisha_19, Blog
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configuration
SAP Community, Mauricio Lauffer, BlogThe reasoningA recipeRunnable code
Migrate your code with UI5 linter – Autofix has landed
SAP Community, Florian Vogt, Blog
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configuration
SAP Community, Mauricio Lauffer, BlogThe reasoningA recipeRunnable code

Seen working2

ArtifactSignals
Samples2
@ui5/sample-appOpenUI5 sample app set up with the UI5 CLI
none
ui5con-2026-ui5-linter-workshopUI5con workshop taking a legacy UI5 app to a clean UI5 linter report
none

Details

Coverage
statecore and community, CAP
assessed
state in UI5core and community, assessed
relationshipnarrow by design
also inUI5
SourceCDS Lint — capirechecked
For your agent