@sauce-api/visualizer-ui
v1.0.2
Published
A Swagger UI esque visualizer for Sauce API
Downloads
2
Readme
A Swagger UI esque visualizer for Sauce API
Usage
Consuming in Sauce API would look similar to:
import { visualizerUI, setupVisualizerUI } from "@sauce-api/visualizer-ui";
setupVisualizerUI(this.app);
this.app.get("/docs", async (req, res, next)=>{
const appRoutes = await new Routes(sauceConfig)
.getFormattedRoutes(true);
const ui = await visualizerUI({
appRoutes,
appName: "Visualizer",
apiBaseUrl: process.env.REACT_APP_BASE_URL,
apiHealthcheckPath: process.env.REACT_APP_DOCS_HEALTHCHECK_ENDPOINT,
defaultTheme: "dark",
brandIcon: "bullseye",
brandImageUrl: "https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg"
});
res.send(ui);
});
Options
Visualizer config
Example
import { VisualizerConfig } from "./@types/VisualizerConfig";
const visualizerConfig = {
appRoutes: [],
appName: "Visualizer",
apiBaseUrl: process.env.REACT_APP_BASE_URL,
apiHealthcheckPath: process.env.REACT_APP_DOCS_HEALTHCHECK_ENDPOINT,
defaultTheme: "dark",
brandIcon: "bullseye",
brandImageUrl: "https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg"
};
| Config Property | Description |
| ------ | ------ |
| appRoutes | An Array of formatted Sauce API route objects. See Sauce API for details on formatted routes|
| appName | The App name that will be displayed in the docs UI |
| apiBaseUrl | The base URL for the API you're displaying docs for. Ex: https://<some-sauce-api>.com
|
| apiHealthcheckPath | If you have a healthcheck endpoint, you can supply it here and the UI will do a healthcheck for you. This value will be appended to the apiBaseUrl
. Example: /healthcheck
|
| defaultTheme | The default theme to display |
| brandIcon | You can supply a (free) font-awesome icon name here to display in the upper left corner. |
| brandImageUrl | This is an alternative to the brandIcon
value. You can supply your own image here to be displayed in the upper left corner |
Supported Route Icons
| Icon | Requirements |
| ------ | ------ |
| Admin Shield | Expects a route to have a policy named isAdmin
|
| Authentication Lock | Expects a route to have a policy named isAuthenticated
|
Development
(Requires Docker)
Running
Run make run
and the app will come up on http://localhost:3001
Bundling
Run make package
Getting Started with Create React App
This project was bootstrapped with Create React App.