# @dweber019/backstage-plugin-api-docs-module-wsdl-backend

> Additional functionalities for the api-docs plugin that renders the output of WSDL

Latest version **1.1.2** (published 2025-12-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install @dweber019/backstage-plugin-api-docs-module-wsdl-backend
pnpm add @dweber019/backstage-plugin-api-docs-module-wsdl-backend
yarn add @dweber019/backstage-plugin-api-docs-module-wsdl-backend
bun add @dweber019/backstage-plugin-api-docs-module-wsdl-backend
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 1.1.2 |
| Published | 2025-12-19 |
| First published | 2023-12-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 11 |
| Unpacked size | 1.4 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 47 |
| Maintainers | dweber019 |

## Links

- npm: https://www.npmjs.com/package/@dweber019/backstage-plugin-api-docs-module-wsdl-backend
- Repository: https://github.com/dweber019/backstage-plugins
- Homepage: https://github.com/dweber019/backstage-plugins/tree/main/plugins/api-docs-module-wsdl
- Issues: https://github.com/dweber019/backstage-plugins/issues
- npm.io page: https://npm.io/package/@dweber019/backstage-plugin-api-docs-module-wsdl-backend

## Dependencies (11)

- [yn](https://npm.io/package/yn.md) ^4.0.0
- [xslt3](https://npm.io/package/xslt3.md) ^2.7.0
- [express](https://npm.io/package/express.md) ^4.18.1
- [winston](https://npm.io/package/winston.md) ^3.2.1
- [saxon-js](https://npm.io/package/saxon-js.md) ^2.7.0
- [cross-fetch](https://npm.io/package/cross-fetch.md) ^3.1.5
- [@types/express](https://npm.io/package/@types/express.md) ^4.17.6
- [express-promise-router](https://npm.io/package/express-promise-router.md) ^4.1.0
- [@backstage/catalog-model](https://npm.io/package/@backstage/catalog-model.md) ^1.7.6
- [@backstage/catalog-client](https://npm.io/package/@backstage/catalog-client.md) ^1.12.1
- [@backstage/backend-plugin-api](https://npm.io/package/@backstage/backend-plugin-api.md) ^1.6.0

## Recent versions

- 1.1.2 (latest) — 2025-12-19
- 1.1.1 — 2025-08-15
- 1.1.0 — 2025-06-27
- 1.0.4 — 2025-03-17
- 1.0.3 — 2025-01-20
- 1.0.2 — 2024-12-28
- 1.0.1 — 2024-10-21
- 1.0.0 — 2024-09-25
- 0.0.15 — 2024-08-29
- 0.0.14 — 2024-08-24
- 0.0.13 — 2024-07-20
- 0.0.12 — 2024-07-06
- 0.0.11 — 2024-06-02
- 0.0.10 — 2024-05-15
- 0.0.9 — 2024-05-04
- … 9 more at https://npm.io/package/@dweber019/backstage-plugin-api-docs-module-wsdl-backend/versions

## README

# @dweber019/backstage-plugin-api-docs-module-wsdl-doc-backend

Backend for the `@dweber019/backstage-plugin-api-docs-module-wsdl` frontend plugin. Assists in converting WSDL to HTML.

## Setup

```
yarn --cwd packages/backend add @dweber019/backstage-plugin-api-docs-module-wsdl-backend
```

Then integrate the plugin using the following default setup for `src/plugins/apiDocsModuleWsdl.ts`:

```ts
import { Router } from 'express';
import { createRouter } from '@dweber019/backstage-plugin-api-docs-module-wsdl-backend';
import { PluginEnvironment } from '../types';

export default async function createPlugin(
  env: PluginEnvironment,
): Promise<Router> {
  return await createRouter(env);
}
```

And then add to `packages/backend/src/index.ts`:

```ts
// In packages/backend/src/index.ts
import apiDocsModuleWsdlDoc from './plugins/apiDocsModuleWsdl';
// ...
async function main() {
  // ...
  const apiDocsModuleWsdlDocEnv = useHotMemoize(module, () => createEnv('apiDocsModuleWsdl'));
  // ...
  apiRouter.use('/api-docs-module-wsdl', await apiDocsModuleWsdlDoc(apiDocsModuleWsdlDocEnv));
```

### New Backend System

The backend plugin has support for the [new backend system](https://backstage.io/docs/backend-system/), here's how you can set that up:

In your `packages/backend/src/index.ts` make the following changes:

```ts
import { createBackend } from '@backstage/backend-defaults';

backend.add(import('@dweber019/backstage-plugin-api-docs-module-wsdl-backend'));

backend.start();
```

## Development

This plugin is based on the work of the [wsdl-viewer](https://github.com/tomi-vanek/wsdl-viewer) and uses
[SaxonJS](https://www.saxonica.com/saxon-js/index.xml) for the `XSLT` transformation.

If you like to future improve the `XSLT` you have to make changes to `./wsdl-viewer.xsl` and convert it to a `SEF` file.

```shell
xslt3 -t -xsl:./wsdl-viewer.xsl -export:./src/stylesheet.sef.json -nogo
```

## Local development

There is a local setup at `plugins/api-docs-module-wsdl-backend/dev` which can be started with `yarn --cwd plugins/api-docs-module-wsdl-backend start` from the root.

## License

SaxonJS is free of charge but not open source, you can find the license [here](https://www.saxonica.com/saxon-js/documentation2/index.html#!conditions/public-license).

---
_Source: https://npm.io/package/@dweber019/backstage-plugin-api-docs-module-wsdl-backend · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
