feat: Add linter tool for Siemens REST API guidelines#66
Open
HeronLi2024 wants to merge 7 commits intosiemens:mainfrom
Open
feat: Add linter tool for Siemens REST API guidelines#66HeronLi2024 wants to merge 7 commits intosiemens:mainfrom
HeronLi2024 wants to merge 7 commits intosiemens:mainfrom
Conversation
# Conflicts: # package-lock.json
There was a problem hiding this comment.
Pull request overview
This PR adds a comprehensive API linter tool for enforcing Siemens REST API guidelines. The tool is based on Spectral and includes rulesets, CLI tooling, HTML reporting, and extensive test coverage.
Key Changes:
- Added new
api-linterpackage to the monorepo with CLI and programmatic interfaces - Implemented rulesets covering media types, versioning, error reporting, pagination, security, and common operations
- Created HTML report generation with Bootstrap UI
- Added comprehensive test suite with test data for various scenarios
Reviewed changes
Copilot reviewed 106 out of 106 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Added api-linter to workspace packages |
| api-linter/package.json | Package configuration with dependencies and CLI entry point |
| api-linter/src/index.js | Main CLI implementation with linting logic and report generation |
| api-linter/src/argument.js | Command-line argument parsing configuration |
| api-linter/src/extension.js | Programmatic API for integration |
| api-linter/src/templates/template.html | HTML report template with Bootstrap styling |
| api-linter/rulesets/*.yml | Ruleset definitions for API guidelines |
| api-linter/rulesets/*.js | Dynamic ruleset configurations (versioning, security) |
| api-linter/rulesets/functions/*.js | Custom validation functions for rules |
| api-linter/test/*.js | Jest test files for different rule categories |
| api-linter/test/testdata//.yml | Test data fixtures for various scenarios |
| api-linter/README.md | Documentation for installation and usage |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A linter tool with Rulesets for developers follow Siemens Api Guidelines