secondsky/sap-skills/sapui5-linter
- community
Checking that the SKILL.md file is still in the repository.
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.
Install
npx vskill@latest install secondsky/sap-skills/sapui5-linterSKILL.md
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
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
Quick Start
Prerequisites
Node.js: v20.11.x, v22.0.0, or higher npm: v8.0.0 or higher
Verify prerequisites:
Installation
Global Installation (recommended for CLI usage):
Local Installation (recommended for project integration):
Verify installation:
Basic Usage
Run linter from project root:
Common Workflows
Development Workflow:
Configuration
Configuration File Setup
Create ui5lint.config.{js|mjs|cjs}:
Common Configuration Patterns
CLI Usage
Essential Commands
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: Ensures proper API usage
Manifest Modernization (3 Rules)
- no-outdated-manifest-version: Requires Manifest Version 2
- no-removed-manifest-property: Identifies incompatible properties ✅ Autofix
Complete rules reference**: See references/rules-complete.md
Integration with Development Workflows
package.json Scripts
Common Scenarios
Scenario 1: New UI5 Project Setup
- Install linter
- Create configuration (use template)
- Add npm scripts to package.json
- Run initial lint
- Fix auto-fixable issues
- Review remaining issues
Scenario 2: Preparing for UI5 2.x Migration
- Run linter to find all issues
- Focus on critical issues first
- Apply automatic fixes
- Review autofix limitations document
- Manually fix unsupported APIs
- Address Core API issues (#619, #620)
- Update manifest to v2
- Fix no-outdated-manifest-version, no-removed-manifest-property issues
- Verify all issues resolved
Troubleshooting
Common Issues
Symptom: Linter reports parsing errors Solution: Check for syntax errors in config files
Symptom: Autofix doesn't work Solution: Check autofix limitations in references/autofix-complete.md
Symptom: Performance issues on large codebase Solution: Add ignore patterns, use targeted linting
Known Limitations
- Cannot convert synchronous to async patterns
- Limited Core/Configuration API autofix (~50 APIs)
- jQuery.sap API support limited to basic methods
- Node.js modules not automatically discovered
Best Practices
1. Run Linter Early and Often
- Add pre-commit hook for instant feedback
- See templates/husky-pre-commit.template
2. Use Configuration File for Persistent Settings
- Environment-specific configurations
- Project-wide ignore patterns
3. Fix Issues Incrementally
- Fix errors first
- Then fix warnings
- Review and test after each step
4. Document Suppressed Rules
- Document team-wide suppressions with explanations
- Use sparingly and with clear justifications
5. Integrate with CI/CD
- Fail builds on errors, allow warnings
- Generate reports for stakeholders
6. Monitor Performance
- Track linting performance over time
Reference Documentation
External Resources
- Official Repository: https://github.com/UI5/linter
- Issue Reporting: https://github.com/UI5/linter/issues
- Discussions: https://github.com/UI5/linter/discussions
- Chat Support: https://discord.gg/sapui5
- SAP Community: https://community.sap.com/tags/ui5
Detailed Documentation
- Complete Rules Reference:
references/rules-complete.md - Autofix Capabilities:
references/autofix-complete.md - Performance Guide:
references/performance.md - Troubleshooting Guide:
references/support-and-community.md - Contributing Guide:
references/contributing.md
Templates
- Configuration Template:
templates/ui5lint.config.mjs - package.json Template:
templates/package.json.template - Husky Pre-commit:
templates/husky-pre-commit.template
Support and Updates
- Version: 1.22.0 (Current)
- Release Notes: Available in GitHub releases
- Roadmap: Documented in GitHub Issues and Discussions
- Email: security@sap.com
- Community: Discord #sapui5 channel
Bundled Resources
Reference Documentation
references/rules-complete.md- Complete reference for all 19 linting rulesreferences/autofix-complete.md- Detailed autofix capabilities and limitationsreferences/performance.md- Performance optimization guidereferences/support-and-community.md- Support channels and community resourcesreferences/contributing.md- Contributing guidelines
Templates
templates/ui5lint.config.mjs- Configuration templatetemplates/package.json.template- Package.json templatetemplates/husky-pre-commit.template- Pre-commit hook template
Last Updated: 2026-06-14 | Version: 2.4.1 Previous Restructure Version: 1.0.1 | Lines Reduced: 376 (from 827) Next Review: 2026-02-25
Security
- Security scanPassedPattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/sapui5-linter/skills/sapui5-linter/SKILL.md
Popularity
- Repository stars
- 396
- Repository forks
- 107
- 7-day trend score
- 30
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/secondsky/sap-skills/sapui5-linter)