564 lines
13 KiB
Markdown
564 lines
13 KiB
Markdown
# UI5 Linter - Support and Community Resources
|
|
|
|
**Source**: [https://github.com/UI5/linter/blob/main/SUPPORT.md](https://github.com/UI5/linter/blob/main/SUPPORT.md)
|
|
**Last Updated**: 2025-11-21
|
|
**UI5 Linter Version**: 1.20.5
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
This guide helps you get support for UI5 Linter issues, connect with the community, and choose the right channel for different types of questions or problems.
|
|
|
|
---
|
|
|
|
## ⚠️ Important: Do NOT Use GitHub Issues for Questions
|
|
|
|
**GitHub Issues are for**:
|
|
- ✅ Bug reports (confirmed issues)
|
|
- ✅ Feature requests
|
|
- ✅ Documentation problems
|
|
|
|
**GitHub Issues are NOT for**:
|
|
- ❌ Setup help
|
|
- ❌ General questions ("How do I...")
|
|
- ❌ Configuration assistance
|
|
- ❌ Troubleshooting guidance
|
|
- ❌ Best practices discussions
|
|
|
|
**Why**: GitHub Issues are for tracking development work, not community support. Questions in issues slow down the development process.
|
|
|
|
---
|
|
|
|
## Official Support Channels
|
|
|
|
### 1. StackOverflow ⭐ Recommended for Questions
|
|
|
|
**URL**: [http://stackoverflow.com/questions/tagged/ui5-tooling](http://stackoverflow.com/questions/tagged/ui5-tooling)
|
|
|
|
**Tag**: `ui5-tooling`
|
|
|
|
**Best For**:
|
|
- General questions about UI5 Linter
|
|
- Configuration help
|
|
- Troubleshooting linting issues
|
|
- Best practices
|
|
- "How do I..." questions
|
|
|
|
**How to Ask**:
|
|
```markdown
|
|
**Title**: Clear, specific question
|
|
Example: "How do I configure UI5 Linter to ignore test files?"
|
|
|
|
**Tags**: ui5-tooling, sapui5 (or openui5)
|
|
|
|
**Question Body**:
|
|
1. What you're trying to achieve
|
|
2. What you've tried
|
|
3. What's not working
|
|
4. Relevant code/configuration
|
|
5. Environment (UI5 Linter version, Node version, OS)
|
|
```
|
|
|
|
**Example Question**:
|
|
```markdown
|
|
# How do I fix no-globals rule errors in my UI5 project?
|
|
|
|
I'm getting `no-globals` rule violations when using `sap.ui.getCore()`.
|
|
|
|
## What I've Tried
|
|
- Running `ui5lint --fix` but it doesn't fix all occurrences
|
|
- Checked documentation for autofix limitations
|
|
|
|
## Configuration
|
|
```javascript
|
|
// ui5lint.config.mjs
|
|
export default {
|
|
ignores: ["webapp/thirdparty/**"]
|
|
};
|
|
```
|
|
|
|
## Environment
|
|
- UI5 Linter: 1.20.5
|
|
- Node.js: 20.11.0
|
|
- OS: Windows 11
|
|
|
|
## Question
|
|
What are the limitations of autofix for `no-globals`? How do I manually fix unsupported cases?
|
|
```
|
|
|
|
**Why StackOverflow**:
|
|
- ✅ Answers benefit entire community (searchable)
|
|
- ✅ Expert community members can help
|
|
- ✅ Voting system highlights best answers
|
|
- ✅ Permanent knowledge base
|
|
|
|
---
|
|
|
|
### 2. OpenUI5 Community Slack
|
|
|
|
**Invite**: [https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com)
|
|
|
|
**Channel**: `#tooling`
|
|
|
|
**Best For**:
|
|
- Quick questions
|
|
- Real-time troubleshooting
|
|
- Community discussions
|
|
- Networking with other UI5 developers
|
|
- Sharing experiences
|
|
|
|
**How to Join**:
|
|
1. Visit [https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com)
|
|
2. Enter your email
|
|
3. Accept invitation
|
|
4. Join `#tooling` channel
|
|
|
|
**Channel Etiquette**:
|
|
- ✅ Search channel history first
|
|
- ✅ Provide context (version, OS, error message)
|
|
- ✅ Share code snippets (use code blocks)
|
|
- ✅ Thank people who help
|
|
- ❌ Don't cross-post to multiple channels
|
|
- ❌ Don't DM unless asked
|
|
- ❌ Don't post long code dumps (use gist.github.com)
|
|
|
|
**Example Slack Question**:
|
|
```
|
|
Hi! Getting an unexpected warning from UI5 Linter:
|
|
|
|
File: webapp/controller/Main.controller.js
|
|
Warning: no-ambiguous-event-handler
|
|
|
|
Config:
|
|
```javascript
|
|
export default {
|
|
ignores: []
|
|
};
|
|
```
|
|
|
|
UI5 Linter: 1.20.5
|
|
Node: 20.11.0
|
|
|
|
Any ideas? 🤔
|
|
```
|
|
|
|
**Why Slack**:
|
|
- ✅ Fast responses (often within minutes)
|
|
- ✅ Friendly community
|
|
- ✅ Good for clarifying questions
|
|
- ✅ Less formal than StackOverflow
|
|
|
|
---
|
|
|
|
## When to Use Each Channel
|
|
|
|
### Use StackOverflow When:
|
|
- ✅ You have a well-defined question
|
|
- ✅ Answer would benefit others (searchable)
|
|
- ✅ You need detailed, documented response
|
|
- ✅ You can wait a few hours for answer
|
|
- ✅ You want permanent reference
|
|
|
|
**Examples**:
|
|
- "How does the autofix feature work?"
|
|
- "What's the best way to configure linter for monorepo?"
|
|
- "How do I integrate UI5 Linter with ESLint?"
|
|
|
|
---
|
|
|
|
### Use Slack When:
|
|
- ✅ You need quick clarification
|
|
- ✅ You're troubleshooting in real-time
|
|
- ✅ You want to discuss approach before implementing
|
|
- ✅ You have a time-sensitive question
|
|
- ✅ You want community feedback
|
|
|
|
**Examples**:
|
|
- "Quick question: Does --fix work on manifest.json?"
|
|
- "Anyone seen this error before? [screenshot]"
|
|
- "What's the recommended ignore pattern for Fiori Elements apps?"
|
|
|
|
---
|
|
|
|
### Use GitHub Issues When:
|
|
- ✅ You found a confirmed bug
|
|
- ✅ You have feature request with detailed use case
|
|
- ✅ Documentation is incorrect or missing
|
|
- ✅ You can provide reproduction steps
|
|
|
|
**Examples**:
|
|
- "Rule no-globals doesn't detect sap.ui.getCore() in arrow functions"
|
|
- "Feature Request: Add autofix for deprecated Button.tap event"
|
|
- "Documentation: Autofix limitations page missing Core API examples"
|
|
|
|
**Process**:
|
|
1. Confirm it's actually a bug (not configuration issue)
|
|
2. Search existing issues
|
|
3. Use issue template
|
|
4. Provide reproduction steps
|
|
5. Include environment details
|
|
|
|
See [Contributing Guide](contributing.md) for full details.
|
|
|
|
---
|
|
|
|
## Getting Help Checklist
|
|
|
|
Before asking for help, ensure you have:
|
|
|
|
**✅ Basic Information Ready**:
|
|
- [ ] UI5 Linter version: `ui5lint --version`
|
|
- [ ] Node.js version: `node --version`
|
|
- [ ] Operating system and version
|
|
- [ ] UI5 version in your project
|
|
|
|
**✅ Configuration**:
|
|
- [ ] ui5lint.config.js/mjs/cjs file (if used)
|
|
- [ ] Relevant package.json scripts
|
|
- [ ] ui5.yaml configuration
|
|
|
|
**✅ Error Details**:
|
|
- [ ] Exact error message (copy/paste, don't retype)
|
|
- [ ] Full command you ran
|
|
- [ ] Verbose output: `ui5lint --verbose`
|
|
|
|
**✅ Code Context**:
|
|
- [ ] Minimal code example demonstrating issue
|
|
- [ ] File structure (if relevant)
|
|
- [ ] Related configuration
|
|
|
|
**✅ What You've Tried**:
|
|
- [ ] List steps already attempted
|
|
- [ ] Note what didn't work
|
|
- [ ] Include search terms used (to avoid duplicate suggestions)
|
|
|
|
---
|
|
|
|
## Common Questions and Where to Ask
|
|
|
|
### Configuration Questions
|
|
|
|
**Question**: "How do I ignore specific files?"
|
|
|
|
**Best Channel**: StackOverflow or Slack
|
|
|
|
**Quick Answer**: See [Configuration Guide](configuration.md)
|
|
|
|
```javascript
|
|
// ui5lint.config.mjs
|
|
export default {
|
|
ignores: ["webapp/thirdparty/**", "webapp/test/**"]
|
|
};
|
|
```
|
|
|
|
---
|
|
|
|
### Rule Questions
|
|
|
|
**Question**: "What does rule no-deprecated-api detect?"
|
|
|
|
**Best Channel**: StackOverflow (permanent reference)
|
|
|
|
**Quick Answer**: See [Rules Reference](rules-complete.md)
|
|
|
|
---
|
|
|
|
### Autofix Questions
|
|
|
|
**Question**: "Why didn't --fix work for deprecated API?"
|
|
|
|
**Best Channel**: StackOverflow or Slack
|
|
|
|
**Quick Answer**: See [Autofix Limitations](autofix-complete.md)
|
|
|
|
Many APIs can't be automatically fixed. Check the autofix reference for specific API limitations.
|
|
|
|
---
|
|
|
|
### Performance Questions
|
|
|
|
**Question**: "Linter is slow on my large codebase, how to optimize?"
|
|
|
|
**Best Channel**: StackOverflow (detailed answer)
|
|
|
|
**Quick Answer**: See [Performance Guide](performance.md)
|
|
|
|
Use ignore patterns, lint specific directories, and check benchmarks.
|
|
|
|
---
|
|
|
|
### Integration Questions
|
|
|
|
**Question**: "How do I integrate with GitHub Actions?"
|
|
|
|
**Best Channel**: StackOverflow
|
|
|
|
**Quick Answer**: See SKILL.md Integration section and `templates/github-actions-lint.yml`
|
|
|
|
---
|
|
|
|
## Community Resources
|
|
|
|
### Official Documentation
|
|
|
|
**Main Repository**: [https://github.com/UI5/linter](https://github.com/UI5/linter)
|
|
|
|
**Documentation**:
|
|
- README: [https://github.com/UI5/linter/blob/main/README.md](https://github.com/UI5/linter/blob/main/README.md)
|
|
- Rules: [https://github.com/UI5/linter/blob/main/docs/Rules.md](https://github.com/UI5/linter/blob/main/docs/Rules.md)
|
|
- Autofix: [https://github.com/UI5/linter/blob/main/docs/Scope-of-Autofix.md](https://github.com/UI5/linter/blob/main/docs/Scope-of-Autofix.md)
|
|
- Performance: [https://github.com/UI5/linter/blob/main/docs/Performance.md](https://github.com/UI5/linter/blob/main/docs/Performance.md)
|
|
|
|
---
|
|
|
|
### UI5 Community Resources
|
|
|
|
**SAP Community**: [https://community.sap.com/](https://community.sap.com/)
|
|
|
|
**Topics**: SAPUI5, OpenUI5, UI5 Tooling
|
|
|
|
**Best For**: General SAP/UI5 questions, not specifically UI5 Linter
|
|
|
|
---
|
|
|
|
**OpenUI5 Website**: [https://openui5.org/](https://openui5.org/)
|
|
|
|
**Best For**: UI5 framework documentation and resources
|
|
|
|
---
|
|
|
|
**SAPUI5 Documentation**: [https://sapui5.hana.ondemand.com/](https://sapui5.hana.ondemand.com/)
|
|
|
|
**Best For**: Official SAPUI5 framework documentation
|
|
|
|
---
|
|
|
|
### Learning Resources
|
|
|
|
**UI5 Tooling**: [https://sap.github.io/ui5-tooling/](https://sap.github.io/ui5-tooling/)
|
|
|
|
**Related Tools**: UI5 CLI, UI5 Builder, UI5 Server, UI5 Linter
|
|
|
|
---
|
|
|
|
## Troubleshooting Before Asking
|
|
|
|
### Step 1: Check Documentation
|
|
|
|
**Skill References**:
|
|
- [SKILL.md](../SKILL.md) - Main skill documentation
|
|
- [Rules Reference](rules-complete.md) - All 19 rules explained
|
|
- [Autofix Reference](autofix-complete.md) - What can/can't be fixed
|
|
- [CLI Options](cli-options.md) - All command-line flags
|
|
- [Configuration](configuration.md) - Config file setup
|
|
- [Performance](performance.md) - Optimization tips
|
|
|
|
**Official Docs**:
|
|
- [UI5 Linter README](https://github.com/UI5/linter/blob/main/README.md)
|
|
- [Rules Documentation](https://github.com/UI5/linter/blob/main/docs/Rules.md)
|
|
|
|
---
|
|
|
|
### Step 2: Search Existing Issues
|
|
|
|
```
|
|
[https://github.com/UI5/linter/issues?q=is%3Aissue+YOUR+SEARCH+TERMS](https://github.com/UI5/linter/issues?q=is%3Aissue+YOUR+SEARCH+TERMS)
|
|
```
|
|
|
|
**Common Searches**:
|
|
- "no-globals autofix"
|
|
- "manifest version error"
|
|
- "performance slow"
|
|
- "configuration not found"
|
|
|
|
---
|
|
|
|
### Step 3: Enable Verbose Logging
|
|
|
|
```bash
|
|
ui5lint --verbose --details
|
|
```
|
|
|
|
**Output includes**:
|
|
- Configuration loading details
|
|
- File processing information
|
|
- Rule execution details
|
|
- Detailed error messages
|
|
|
|
---
|
|
|
|
### Step 4: Try Dry-Run for Autofix
|
|
|
|
```bash
|
|
UI5LINT_FIX_DRY_RUN=true ui5lint --fix
|
|
```
|
|
|
|
**See what would change** without modifying files.
|
|
|
|
---
|
|
|
|
### Step 5: Isolate the Issue
|
|
|
|
**Create minimal reproduction**:
|
|
```bash
|
|
# Create test directory
|
|
mkdir ui5lint-test
|
|
cd ui5lint-test
|
|
|
|
# Create minimal file
|
|
cat > test.js << 'EOF'
|
|
sap.ui.define([], function() {
|
|
return sap.ui.getCore();
|
|
});
|
|
EOF
|
|
|
|
# Test
|
|
ui5lint test.js
|
|
```
|
|
|
|
**If issue reproduces**: Great for asking help with minimal example
|
|
|
|
**If issue doesn't reproduce**: Problem is in your configuration or other code
|
|
|
|
---
|
|
|
|
## Response Time Expectations
|
|
|
|
### StackOverflow
|
|
- **Typical Response**: Few hours to 1-2 days
|
|
- **Depends On**: Question quality, complexity, community availability
|
|
- **Increase Chances**: Clear title, good tags, detailed question, code examples
|
|
|
|
### Slack
|
|
- **Typical Response**: Minutes to few hours
|
|
- **Depends On**: Time of day, channel activity
|
|
- **Increase Chances**: Be respectful of others' time, provide context
|
|
|
|
### GitHub Issues (Bugs)
|
|
- **Typical Response**: Few days to 1-2 weeks for initial triage
|
|
- **Depends On**: Issue severity, reproduction quality, maintainer availability
|
|
- **Increase Chances**: Complete bug template, provide reproduction, search duplicates
|
|
|
|
---
|
|
|
|
## Security Issues
|
|
|
|
**🔒 SPECIAL PROCESS FOR SECURITY VULNERABILITIES**
|
|
|
|
**DO NOT**:
|
|
- ❌ Create public GitHub issue
|
|
- ❌ Post in Slack
|
|
- ❌ Post on StackOverflow
|
|
- ❌ Discuss publicly anywhere
|
|
|
|
**DO**:
|
|
- ✅ Follow [Security Policy](https://github.com/UI5/linter/security/policy)
|
|
- ✅ Use GitHub's private security advisory feature
|
|
- ✅ Allow maintainers time to fix before public disclosure
|
|
|
|
**Why**: Public disclosure before fix puts all users at risk.
|
|
|
|
---
|
|
|
|
## Reporting Success Stories
|
|
|
|
**Where**: OpenUI5 Slack `#tooling` channel
|
|
|
|
**Share**:
|
|
- ✅ How UI5 Linter helped you
|
|
- ✅ Issues prevented
|
|
- ✅ Time saved
|
|
- ✅ Migration successes
|
|
|
|
**Benefits**:
|
|
- Helps others learn
|
|
- Motivates maintainers
|
|
- Builds community
|
|
|
|
**Example**:
|
|
```
|
|
Used UI5 Linter to prepare our app for UI5 2.x!
|
|
|
|
Found 127 issues:
|
|
- 45 deprecated APIs
|
|
- 23 global variable usages
|
|
- 12 manifest problems
|
|
|
|
Autofix handled 60%, manually fixed the rest in 2 days.
|
|
|
|
Migration to UI5 2.x: ✅ Success!
|
|
|
|
Thanks to the UI5 Linter team! 🎉
|
|
```
|
|
|
|
---
|
|
|
|
## Contributing Back
|
|
|
|
After getting help, consider:
|
|
|
|
**✅ Answer Questions**: Help others on StackOverflow or Slack
|
|
|
|
**✅ Improve Documentation**: Submit PR for docs that were unclear
|
|
|
|
**✅ Report Bugs**: If you found an issue, report it properly
|
|
|
|
**✅ Share Knowledge**: Blog posts, talks, tutorials
|
|
|
|
**✅ Contribute Code**: See [Contributing Guide](contributing.md)
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
**Quick Decision Tree**:
|
|
|
|
```
|
|
Need help with UI5 Linter?
|
|
│
|
|
├─ General question / How to?
|
|
│ └─ StackOverflow (ui5-tooling tag)
|
|
│
|
|
├─ Quick question / Real-time troubleshooting?
|
|
│ └─ OpenUI5 Slack (#tooling channel)
|
|
│
|
|
├─ Found a bug / Feature request?
|
|
│ └─ GitHub Issues (after confirming)
|
|
│
|
|
├─ Security vulnerability?
|
|
│ └─ Private security advisory (GitHub)
|
|
│
|
|
└─ General UI5 question (not linter-specific)?
|
|
└─ SAP Community / UI5 documentation
|
|
```
|
|
|
|
---
|
|
|
|
**Resources Checklist**:
|
|
|
|
**Before Asking**:
|
|
- [ ] Check skill references
|
|
- [ ] Search StackOverflow
|
|
- [ ] Search GitHub issues
|
|
- [ ] Try verbose mode
|
|
- [ ] Create minimal reproduction
|
|
|
|
**When Asking**:
|
|
- [ ] Choose right channel
|
|
- [ ] Provide version info
|
|
- [ ] Include configuration
|
|
- [ ] Share code example
|
|
- [ ] Describe what you tried
|
|
|
|
**After Receiving Help**:
|
|
- [ ] Mark answer as accepted (StackOverflow)
|
|
- [ ] Thank helpers
|
|
- [ ] Consider contributing back
|
|
|
|
---
|
|
|
|
**Document Version**: 1.0
|
|
**Last Verified**: 2025-11-21
|
|
**Next Review**: 2026-02-21
|