Skip to content

Commit cec5189

Browse files
committed
fix(openapi): make scalar and swagger peer dependencies optional
Scalar and Swagger are not required at runtime and add unnecessary install size (too heavy)
1 parent 5d1d5d8 commit cec5189

4 files changed

Lines changed: 66 additions & 19 deletions

File tree

apps/content/docs/plugins/openapi-reference.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,21 @@ const handler = new OpenAPIHandler(router, {
5858
})
5959
```
6060

61+
::: tip
62+
To make `providerConfig` typesafe, install the type definitions for your chosen provider:
63+
64+
::: code-group
65+
66+
```sh [scalar]
67+
npm install @scalar/api-reference
68+
```
69+
70+
```sh [swagger]
71+
npm install swagger-ui @types/swagger-ui
72+
```
73+
74+
:::
75+
6176
::: info
6277
You can also load custom assets for the docs UI by setting `providerScriptUrl` and `providerCssUrl`.
6378
:::

apps/content/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"serve": "vitepress serve"
99
},
1010
"devDependencies": {
11+
"@braintree/sanitize-url": "^7.1.2",
1112
"@opentelemetry/instrumentation": "^0.219.0",
1213
"@opentelemetry/sdk-node": "^0.219.0",
1314
"@opentelemetry/sdk-trace-web": "^2.8.0",
@@ -31,6 +32,10 @@
3132
"@tanstack/vue-query": "^5.101.0",
3233
"@types/node": "^26.0.1",
3334
"@vueuse/core": "^14.3.0",
35+
"cytoscape": "^3.34.0",
36+
"cytoscape-cose-bilkent": "^4.1.0",
37+
"dayjs": "^1.11.21",
38+
"debug": "^4.4.3",
3439
"effect": "4.0.0-beta.90",
3540
"markdown-it-task-lists": "^2.1.1",
3641
"mermaid": "^11.15.0",

packages/openapi/package.json

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,32 @@
7373
"build": "unbuild",
7474
"type:check": "tsc -b"
7575
},
76+
"peerDependencies": {
77+
"@scalar/api-reference": ">=1.57.2",
78+
"@types/swagger-ui": ">=5.32.0",
79+
"swagger-ui": ">=5.32.6"
80+
},
81+
"peerDependenciesMeta": {
82+
"@scalar/api-reference": { "optional": true },
83+
"@types/swagger-ui": { "optional": true },
84+
"swagger-ui": { "optional": true }
85+
},
7686
"dependencies": {
7787
"@hey-api/spec-types": "0.0.0-next-20260408030107",
7888
"@orpc/client": "workspace:*",
7989
"@orpc/contract": "workspace:*",
8090
"@orpc/json-schema": "workspace:*",
8191
"@orpc/server": "workspace:*",
8292
"@orpc/shared": "workspace:*",
83-
"@scalar/api-reference": "^1.57.2",
8493
"@standardserver/core": "^0.0.25",
8594
"@standardserver/fetch": "^0.0.25",
86-
"@types/swagger-ui": "^5.32.0",
87-
"rou3": "^0.8.1",
88-
"swagger-ui": "^5.32.6"
95+
"rou3": "^0.8.1"
8996
},
9097
"devDependencies": {
98+
"@scalar/api-reference": "^1.57.2",
99+
"@types/swagger-ui": "^5.32.0",
91100
"fastify": "^5.8.5",
101+
"swagger-ui": "^5.32.6",
92102
"zod": "^4.4.3"
93103
}
94104
}

pnpm-lock.yaml

Lines changed: 32 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)