Welcome to the Spectral Linter plugin!
This plugin allows you to lint (validate) API's with rule sets.
- Install this plugin:
# From your Backstage root directory
yarn --cwd packages/app add @dweber019/backstage-plugin-api-docs-spectral-linter
- Add the plugin as a tab to your Entity pages:
// In packages/app/src/components/catalog/EntityPage.tsx
import { EntityApiDocsSpectralLinterContent, isApiDocsSpectralLinterAvailable } from '@dweber019/backstage-plugin-api-docs-spectral-linter';
...
const apiPage = (
<EntityLayout>
{/* other tabs... */}
<EntityLayout.Route if={isApiDocsSpectralLinterAvailable} path="/linter" title="Linter">
<EntityApiDocsSpectralLinterContent />
</EntityLayout.Route>
</EntityLayout>
- Add
backstage.io/spectral-ruleset-url
annotation to yourcatalog-info.yaml
:
metadata:
annotations:
backstage.io/spectral-ruleset-url: <url-to-your-yaml-or-json-file>
You can provide default rule sets in you app-config.yaml
like this
spectralLinter:
openApiRulesetUrl: <url-to-your-yaml-or-json-file>
asyncApiRulesetUrl: <url-to-your-yaml-or-json-file>
There is a local setup at plugins/api-docs-spectral-linter/dev
which can be started with yarn --cwd plugins/api-docs-spectral-linter start
from the root.