Skip to content
Development
Skill

/sapui5-linter

Use this skill when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries. Covers setup, configuring linting rules, running the linter to detect deprecated APIs, global variable usage, CSP violations, and manifest issues.

From plugin
sap-skills
48540 skills31 agents69 commands8 MCP

Claude Code

$ npx -y skills add secondsky/sap-skills --skill sapui5-linter --agent claude-code

SKILL.md

sapui5-linter.SKILL.md
name: sapui5-linter
description: "Use this skill when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries. Covers setup, configuring linting rules, running the linter to detect deprecated APIs, global variable usage, CSP violations, and manifest issues. Supports autofix for deprecated API usage, global references, event handlers, and manifest properties. Includes CI/CD integration, pre-commit hooks, and UI5 2.x migration preparation."
license: GPL-3.0
metadata:
  maintainer: "Eduard Jiglau"
  maintainer_email: "hello@sap-ai-skills.com"
  website: "https://sap-ai-skills.com"
  version: "2.4.1"
  last_verified: "2026-06-14"
  ui5_linter_version: "1.22.0"
  source: "https://github.com/UI5/linter"
  documentation: "https://github.com/UI5/linter/blob/main/README.md"
  keywords: [SAPUI5, OpenUI5, UI5 Linter, "@ui5/linter", static analysis, deprecated APIs, global variables, CSP, manifest.json, ui5.yaml, ESLint, pre-commit hooks, GitHub Actions, CI/CD, Node.js, TypeScript, XML, JSON, HTML, YAML, OData v2/v4, async, event handlers, jQuery, autofix, performance optimization, 19 linting rules, no-deprecated-api, no-globals, no-async-component-flags, manifest-v2, UI5 2.x migration]

SAPUI5 Linter Skill

Related Skills

  • **sap-dependency-security**: Use when hardening dependency management for UI5 linting toolchain upgrades and plugin/toolchain lockfile controls

When to Use This Skill

Use this skill when adding or running `@ui5/linter`, configuring UI5 lint rules, preparing UI5 2.x migrations, autofixing deprecated APIs/globals/manifest issues, producing CI reports, or troubleshooting `ui5lint` parsing, performance, or configuration behavior.

Table of Contents

  • [Overview](#overview)
  • [Quick Start](#quick-start)
  • [Configuration](#configuration)
  • [CLI Usage](#cli-usage)
  • [Bundled Resources](#bundled-resources)

Overview

The **UI5 Linter** (@ui5/linter) is a static code analysis tool designed specifically for SAPUI5 and OpenUI5 projects. It helps developers identify compatibility issues, deprecated APIs, security concerns, and best practice violations before upgrading to UI5 2.x.

**Key Capabilities**:

  • ✅ Detects 19 categories of issues including deprecated APIs, global usage, and CSP violations
  • ✅ Automatic fixes for common issues (no-globals, no-deprecated-api, manifest properties)
  • ✅ Supports JavaScript, TypeScript, XML, JSON, HTML, and YAML files
  • ✅ Configurable ignore patterns and file targeting
  • ✅ Multiple output formats: stylish, JSON, Markdown, HTML
  • ✅ Fast performance: 1-40s depending on project size

**Current Version**: 1.22.0 (verified via npm on 2026-06-14) **Official Repository**: [https://github.com/UI5/linter](https://github.com/UI5/linter)

---

Quick Start

Prerequisites

**Node.js**: v20.11.x, v22.0.0, or higher **npm**: v8.0.0 or higher

Verify prerequisites:

node --version  # Should be v20.11+ or v22+
npm --version   # Should be v8+

Installation

**Global Installation** (recommended for CLI usage):

npm install --global @ui5/linter

**Local Installation** (recommended for project integration):

npm install --save-dev @ui5/linter

Verify installation:

ui5lint --version  # Should output: 1.22.0 or higher

Basic Usage

Run linter from project root:

# Lint entire project
ui5lint

# Lint specific files or directories
ui5lint "webapp/**/*.js"
ui5lint "webapp/controller/" "webapp/view/"

# Show detailed information about findings
ui5lint --details

Common Workflows

**Development Workflow**:

# 1. Check for issues with details
ui5lint --details

# 2. Preview automatic fixes
UI5LINT_FIX_DRY_RUN=true ui5lint --fix

# 3. Apply fixes
ui5lint --fix

# 4. Review changes
git diff

# 5. Verify fixes worked
ui5lint --details

Configuration

Configuration File Setup

Create `ui5lint.config.{js|mjs|cjs}`:

module.exports = {
  rules: {
    // Recommended rules
    "no-deprecated-api": "error",
    "no-globals": "error",
    "no-ambiguous-event-handler": "error",
    "no-outdated-manifest-version": "error"
  },
  exclude: [
    "dist/**",
    "node_modules/**",
    "test/**/*.{spec,js,ts}"
  ]
};

Common Configuration Patterns

// Strict for production, relaxed for development
const isProduction = process.env.NODE_ENV === 'production';

module.exports = {
  rules: {
    "no-deprecated-api": isProduction ? "error" : "warn",
    "no-globals": isProduction ? "error" : "warn"
  },
  exclude: [
    "legacy/**/*",
    "**/*.min.js"
  ]
};

CLI Usage

Essential Commands

# Basic linting
ui5lint

# With detailed output
ui5lint --details

# Fix auto-fixable issues
ui5lint --fix

# JSON output for CI/CD
ui5lint --format json

# HTML report for documentation
ui5lint --format html --details

# Performance monitoring
ui5lint --perf

Linting Rules Overview

Async & Modern Patterns

  • **async-component-flags**: Validates async component configuration
  • **prefer-test-starter**: Validates Test Starter implementation

Security

  • **csp-unsafe-inline-script**: Detects unsafe inline scripts

Event Handlers

  • **no-ambiguous-event-handler**: Ensures proper event handler notation ✅ Autofix

Deprecation Detection (7 Rules)

  • **no-deprecated-api**: Detects deprecated APIs ✅
  • **no-deprecated-component**: Finds deprecated component dependencies
  • **no-deprecated-control-renderer**: Validates control renderer patterns
  • **no-deprecated-library**: Checks deprecated libraries in manifest

Global Usage

  • **no-globals**: Identifies global variable usage ✅ Autofix
  • **no-implicit-globals**: Detects implicit global access

Error Reporting

  • **parsing-error**: Reports syntax/parsing errors
  • **autofix-error**: Reports autofix failures

API Usage

  • **ui5-class-declaration**: Verifies UI5 class declaration patterns (TypeScript)
  • **unsupported-api-usage**: Ensure
Read more
@secondsky
Ships withsap-skills

40 SAP development plugins with evidence-tracked verification SAP development plugins for AI coding assistants, with public-source or package-registry verification tracked where available.

48540 skills31 agents8 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
485
Star history of secondsky/sap-skills on GitHub, a chart by star-history.com

Other skills on sap-skills.

sap-abap-cds

sap-abap-cds

Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when…

sap-abap

sap-abap

Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code, working with internal tables, structures, ABAP…

sap-ai-core

sap-ai-core

Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP. Use when: deploying…

sap-api-policy

sap-api-policy

Evidence-based assessment of whether an SAP API/interface usage scenario aligns with the SAP API Policy (v.4.2026a). Use whenever…

sap-api-style

sap-api-style

This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards. It should be…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about sapui5-linter.

Which coding agents can use sapui5-linter?
sapui5-linter installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.