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
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 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.
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-workshopui5con-2026-ui5-linter-workshopSAP's UI5con hands-on workshop that takes a legacy UI5 app, seeded with deprecated APIs and inline scripts, from its first UI5 linter report to a clean, CSP-compliant one.sap official, ui5 takes a legacy Todo app from its first report to a clean, CSP-compliant one.
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.
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.
Artifacts
Content
Seen working
Details
Coverage
For your agent
- Ref
capability:linting- JSON
- /capabilities/linting.json
- MCP
- Connecting an agent