@scalar/fastify-api-reference 1.20.27 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/fastifyApiReference.d.ts +3 -3
- package/dist/fastifyApiReference.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +107 -109
- package/dist/js/standalone.js +6 -6
- package/package.json +16 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @scalar/fastify-api-reference
|
|
2
2
|
|
|
3
|
+
## 1.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 0e64a36: refactor: rename all --theme-_ variables to --scalar-_
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 22f2858: chore: ran syncpack to update packages
|
|
12
|
+
|
|
13
|
+
## 1.21.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- b58b83e: Improved fastify-api-reference plugin.
|
|
18
|
+
|
|
3
19
|
## 1.20.27
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReferenceConfiguration } from '@scalar/api-reference';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FastifyBaseLogger, FastifyTypeProviderDefault, RawServerDefault } from 'fastify';
|
|
3
3
|
export type FastifyApiReferenceOptions = {
|
|
4
4
|
/**
|
|
5
5
|
* If you’re prefixing Fastify with a path, you can set it here.
|
|
@@ -24,7 +24,7 @@ export type FastifyApiReferenceOptions = {
|
|
|
24
24
|
/**
|
|
25
25
|
* The Fastify custom theme CSS
|
|
26
26
|
*/
|
|
27
|
-
export declare const defaultCss = "\n:root {\n --
|
|
27
|
+
export declare const defaultCss = "\n:root {\n --scalar-font: 'Inter', var(--system-fonts);\n}\n\n.light-mode {\n color-scheme: light;\n --scalar-color-1: #1c1e21;\n --scalar-color-2: #757575;\n --scalar-color-3: #8e8e8e;\n --scalar-color-disabled: #b4b1b1;\n --scalar-color-ghost: #a7a7a7;\n --scalar-color-accent: #2f8555;\n --scalar-background-1: #fff;\n --scalar-background-2: #f5f5f5;\n --scalar-background-3: #ededed;\n --scalar-background-4: rgba(0, 0, 0, 0.06);\n --scalar-background-accent: #2f85551f;\n\n --scalar-border-color: rgba(0, 0, 0, 0.1);\n --scalar-scrollbar-color: rgba(0, 0, 0, 0.18);\n --scalar-scrollbar-color-active: rgba(0, 0, 0, 0.36);\n --scalar-lifted-brightness: 1;\n --scalar-backdrop-brightness: 1;\n\n --scalar-shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.11);\n --scalar-shadow-2: rgba(0, 0, 0, 0.08) 0px 13px 20px 0px,\n rgba(0, 0, 0, 0.08) 0px 3px 8px 0px, #eeeeed 0px 0 0 1px;\n\n --scalar-button-1: rgb(49 53 56);\n --scalar-button-1-color: #fff;\n --scalar-button-1-hover: rgb(28 31 33);\n\n --scalar-color-green: #007300;\n --scalar-color-red: #af272b;\n --scalar-color-yellow: #b38200;\n --scalar-color-blue: #3b8ba5;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n}\n\n.dark-mode {\n color-scheme: dark;\n --scalar-color-1: rgba(255, 255, 255, 0.9);\n --scalar-color-2: rgba(255, 255, 255, 0.62);\n --scalar-color-3: rgba(255, 255, 255, 0.44);\n --scalar-color-disabled: rgba(255, 255, 255, 0.34);\n --scalar-color-ghost: rgba(255, 255, 255, 0.26);\n --scalar-color-accent: #27c2a0;\n --scalar-background-1: #1b1b1d;\n --scalar-background-2: #242526;\n --scalar-background-3: #3b3b3b;\n --scalar-background-4: rgba(255, 255, 255, 0.06);\n --scalar-background-accent: #27c2a01f;\n\n --scalar-border-color: rgba(255, 255, 255, 0.1);\n --scalar-scrollbar-color: rgba(255, 255, 255, 0.24);\n --scalar-scrollbar-color-active: rgba(255, 255, 255, 0.48);\n --scalar-lifted-brightness: 1.45;\n --scalar-backdrop-brightness: 0.5;\n\n --scalar-shadow-1: 0 1px 3px 0 rgb(0, 0, 0, 0.1);\n --scalar-shadow-2: rgba(15, 15, 15, 0.2) 0px 3px 6px,\n rgba(15, 15, 15, 0.4) 0px 9px 24px, 0 0 0 1px rgba(255, 255, 255, 0.1);\n\n --scalar-button-1: #f6f6f6;\n --scalar-button-1-color: #000;\n --scalar-button-1-hover: #e7e7e7;\n\n --scalar-color-green: #26b226;\n --scalar-color-red: #fb565b;\n --scalar-color-yellow: #ffc426;\n --scalar-color-blue: #6ecfef;\n --scalar-color-orange: #ff8d4d;\n --scalar-color-purple: #b191f9;\n}\n";
|
|
28
28
|
/**
|
|
29
29
|
* The HTML to load the @scalar/api-reference JavaScript package.
|
|
30
30
|
*/
|
|
@@ -33,6 +33,6 @@ export declare const javascript: (options: FastifyApiReferenceOptions) => string
|
|
|
33
33
|
* The HTML template to render the API Reference.
|
|
34
34
|
*/
|
|
35
35
|
export declare function htmlDocument(options: FastifyApiReferenceOptions): string;
|
|
36
|
-
declare const fastifyApiReference:
|
|
36
|
+
declare const fastifyApiReference: import("fastify").FastifyPluginCallback<FastifyApiReferenceOptions, RawServerDefault, FastifyTypeProviderDefault, FastifyBaseLogger>;
|
|
37
37
|
export default fastifyApiReference;
|
|
38
38
|
//# sourceMappingURL=fastifyApiReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastifyApiReference.d.ts","sourceRoot":"","sources":["../src/fastifyApiReference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fastifyApiReference.d.ts","sourceRoot":"","sources":["../src/fastifyApiReference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAKhB,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAA;CACvC,CAAA;AAcD;;GAEG;AACH,eAAO,MAAM,UAAU,o8EA4EtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,0BAA0B,WAkB7D,CAAA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,0BAA0B,UAgB/D;AAED,QAAA,MAAM,mBAAmB,sIAiFxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";const r=require("fastify-plugin"),n=require("node:fs"),a=require("node:path"),e=require("node:url");var o="undefined"!=typeof document?document.currentScript:null;const c={hide:!0},l=(r,n)=>`${n??""}${r??""}/@scalar/fastify-api-reference/js/browser.js`.replace(/\/\//g,"/");function s(r){return`\n<!DOCTYPE html>\n<html>\n <head>\n <title>API Reference</title>\n <meta charset="utf-8" />\n <meta\n name="viewport"\n content="width=device-width, initial-scale=1" />\n </head>\n <body>\n ${(r=>{var n,a,e,o;const{configuration:c}=r;return`\n <script\n id="api-reference"\n type="application/json"\n data-configuration="${JSON.stringify(c??{}).split('"').join(""")}">${(null==(n=null==c?void 0:c.spec)?void 0:n.content)?"function"==typeof(null==(a=null==c?void 0:c.spec)?void 0:a.content)?JSON.stringify(null==(e=null==c?void 0:c.spec)?void 0:e.content()):JSON.stringify(null==(o=null==c?void 0:c.spec)?void 0:o.content):""}<\/script>\n <script src="${l(r.routePrefix,r.publicPath)}"><\/script>\n `})(r)}\n </body>\n</html>\n`}const t=r((async(r,t)=>{var i,d;let{configuration:u}=t;const f=r.hasPlugin("@fastify/swagger");if(!(null==(i=null==u?void 0:u.spec)?void 0:i.content)&&!(null==(d=null==u?void 0:u.spec)?void 0:d.url)&&!f)return void r.log.warn("[@scalar/fastify-api-reference] You didn’t provide a spec.content or spec.url, and @fastify/swagger could not be found. Please provide one of these options.");const b=function(){const r=a.dirname(e.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:o&&o.src||new URL("index.cjs",document.baseURI).href)),c=[a.resolve(`${r}/js/standalone.js`),a.resolve(`${r}/../../dist/js/standalone.js`)].find((r=>n.existsSync(r)));if(void 0===c)throw new Error(`JavaScript file not found: ${a.resolve(`${r}/js/standalone.js`)}`);return n.readFileSync(c,"utf8")}();r.route({method:"GET",url:t.routePrefix??"/",schema:c,handler(n,a){var e,o;return(null==(e=null==u?void 0:u.spec)?void 0:e.content)||(null==(o=null==u?void 0:u.spec)?void 0:o.url)||!f||(u={...u,spec:{content:()=>r.swagger()}}),(null==u?void 0:u.customCss)||(null==u?void 0:u.theme)||(u={...u,customCss:"\n:root {\n --scalar-font: 'Inter', var(--system-fonts);\n}\n\n.light-mode {\n color-scheme: light;\n --scalar-color-1: #1c1e21;\n --scalar-color-2: #757575;\n --scalar-color-3: #8e8e8e;\n --scalar-color-disabled: #b4b1b1;\n --scalar-color-ghost: #a7a7a7;\n --scalar-color-accent: #2f8555;\n --scalar-background-1: #fff;\n --scalar-background-2: #f5f5f5;\n --scalar-background-3: #ededed;\n --scalar-background-4: rgba(0, 0, 0, 0.06);\n --scalar-background-accent: #2f85551f;\n\n --scalar-border-color: rgba(0, 0, 0, 0.1);\n --scalar-scrollbar-color: rgba(0, 0, 0, 0.18);\n --scalar-scrollbar-color-active: rgba(0, 0, 0, 0.36);\n --scalar-lifted-brightness: 1;\n --scalar-backdrop-brightness: 1;\n\n --scalar-shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.11);\n --scalar-shadow-2: rgba(0, 0, 0, 0.08) 0px 13px 20px 0px,\n rgba(0, 0, 0, 0.08) 0px 3px 8px 0px, #eeeeed 0px 0 0 1px;\n\n --scalar-button-1: rgb(49 53 56);\n --scalar-button-1-color: #fff;\n --scalar-button-1-hover: rgb(28 31 33);\n\n --scalar-color-green: #007300;\n --scalar-color-red: #af272b;\n --scalar-color-yellow: #b38200;\n --scalar-color-blue: #3b8ba5;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n}\n\n.dark-mode {\n color-scheme: dark;\n --scalar-color-1: rgba(255, 255, 255, 0.9);\n --scalar-color-2: rgba(255, 255, 255, 0.62);\n --scalar-color-3: rgba(255, 255, 255, 0.44);\n --scalar-color-disabled: rgba(255, 255, 255, 0.34);\n --scalar-color-ghost: rgba(255, 255, 255, 0.26);\n --scalar-color-accent: #27c2a0;\n --scalar-background-1: #1b1b1d;\n --scalar-background-2: #242526;\n --scalar-background-3: #3b3b3b;\n --scalar-background-4: rgba(255, 255, 255, 0.06);\n --scalar-background-accent: #27c2a01f;\n\n --scalar-border-color: rgba(255, 255, 255, 0.1);\n --scalar-scrollbar-color: rgba(255, 255, 255, 0.24);\n --scalar-scrollbar-color-active: rgba(255, 255, 255, 0.48);\n --scalar-lifted-brightness: 1.45;\n --scalar-backdrop-brightness: 0.5;\n\n --scalar-shadow-1: 0 1px 3px 0 rgb(0, 0, 0, 0.1);\n --scalar-shadow-2: rgba(15, 15, 15, 0.2) 0px 3px 6px,\n rgba(15, 15, 15, 0.4) 0px 9px 24px, 0 0 0 1px rgba(255, 255, 255, 0.1);\n\n --scalar-button-1: #f6f6f6;\n --scalar-button-1-color: #000;\n --scalar-button-1-hover: #e7e7e7;\n\n --scalar-color-green: #26b226;\n --scalar-color-red: #fb565b;\n --scalar-color-yellow: #ffc426;\n --scalar-color-blue: #6ecfef;\n --scalar-color-orange: #ff8d4d;\n --scalar-color-purple: #b191f9;\n}\n"}),a.header("Content-Type","text/html; charset=utf-8").send(s({...t,configuration:u}))}}),r.route({method:"GET",url:l(t.routePrefix),schema:c,handler:(r,n)=>n.header("Content-Type","application/javascript; charset=utf-8").send(b)})}),{name:"@scalar/fastify-api-reference"});module.exports=t;
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import fp from "fastify-plugin";
|
|
1
2
|
import fs from "node:fs";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { fileURLToPath } from "node:url";
|
|
@@ -25,79 +26,79 @@ const getJavaScriptUrl = (routePrefix, publicPath) => `${publicPath ?? ""}${rout
|
|
|
25
26
|
);
|
|
26
27
|
const defaultCss = `
|
|
27
28
|
:root {
|
|
28
|
-
--
|
|
29
|
+
--scalar-font: 'Inter', var(--system-fonts);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
.light-mode {
|
|
32
33
|
color-scheme: light;
|
|
33
|
-
--
|
|
34
|
-
--
|
|
35
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
38
|
-
--
|
|
39
|
-
--
|
|
40
|
-
--
|
|
41
|
-
--
|
|
42
|
-
--
|
|
43
|
-
--
|
|
34
|
+
--scalar-color-1: #1c1e21;
|
|
35
|
+
--scalar-color-2: #757575;
|
|
36
|
+
--scalar-color-3: #8e8e8e;
|
|
37
|
+
--scalar-color-disabled: #b4b1b1;
|
|
38
|
+
--scalar-color-ghost: #a7a7a7;
|
|
39
|
+
--scalar-color-accent: #2f8555;
|
|
40
|
+
--scalar-background-1: #fff;
|
|
41
|
+
--scalar-background-2: #f5f5f5;
|
|
42
|
+
--scalar-background-3: #ededed;
|
|
43
|
+
--scalar-background-4: rgba(0, 0, 0, 0.06);
|
|
44
|
+
--scalar-background-accent: #2f85551f;
|
|
44
45
|
|
|
45
|
-
--
|
|
46
|
-
--
|
|
47
|
-
--
|
|
48
|
-
--
|
|
49
|
-
--
|
|
46
|
+
--scalar-border-color: rgba(0, 0, 0, 0.1);
|
|
47
|
+
--scalar-scrollbar-color: rgba(0, 0, 0, 0.18);
|
|
48
|
+
--scalar-scrollbar-color-active: rgba(0, 0, 0, 0.36);
|
|
49
|
+
--scalar-lifted-brightness: 1;
|
|
50
|
+
--scalar-backdrop-brightness: 1;
|
|
50
51
|
|
|
51
|
-
--
|
|
52
|
-
--
|
|
52
|
+
--scalar-shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.11);
|
|
53
|
+
--scalar-shadow-2: rgba(0, 0, 0, 0.08) 0px 13px 20px 0px,
|
|
53
54
|
rgba(0, 0, 0, 0.08) 0px 3px 8px 0px, #eeeeed 0px 0 0 1px;
|
|
54
55
|
|
|
55
|
-
--
|
|
56
|
-
--
|
|
57
|
-
--
|
|
56
|
+
--scalar-button-1: rgb(49 53 56);
|
|
57
|
+
--scalar-button-1-color: #fff;
|
|
58
|
+
--scalar-button-1-hover: rgb(28 31 33);
|
|
58
59
|
|
|
59
|
-
--
|
|
60
|
-
--
|
|
61
|
-
--
|
|
62
|
-
--
|
|
63
|
-
--
|
|
64
|
-
--
|
|
60
|
+
--scalar-color-green: #007300;
|
|
61
|
+
--scalar-color-red: #af272b;
|
|
62
|
+
--scalar-color-yellow: #b38200;
|
|
63
|
+
--scalar-color-blue: #3b8ba5;
|
|
64
|
+
--scalar-color-orange: #fb892c;
|
|
65
|
+
--scalar-color-purple: #5203d1;
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
.dark-mode {
|
|
68
69
|
color-scheme: dark;
|
|
69
|
-
--
|
|
70
|
-
--
|
|
71
|
-
--
|
|
72
|
-
--
|
|
73
|
-
--
|
|
74
|
-
--
|
|
75
|
-
--
|
|
76
|
-
--
|
|
77
|
-
--
|
|
78
|
-
--
|
|
79
|
-
--
|
|
70
|
+
--scalar-color-1: rgba(255, 255, 255, 0.9);
|
|
71
|
+
--scalar-color-2: rgba(255, 255, 255, 0.62);
|
|
72
|
+
--scalar-color-3: rgba(255, 255, 255, 0.44);
|
|
73
|
+
--scalar-color-disabled: rgba(255, 255, 255, 0.34);
|
|
74
|
+
--scalar-color-ghost: rgba(255, 255, 255, 0.26);
|
|
75
|
+
--scalar-color-accent: #27c2a0;
|
|
76
|
+
--scalar-background-1: #1b1b1d;
|
|
77
|
+
--scalar-background-2: #242526;
|
|
78
|
+
--scalar-background-3: #3b3b3b;
|
|
79
|
+
--scalar-background-4: rgba(255, 255, 255, 0.06);
|
|
80
|
+
--scalar-background-accent: #27c2a01f;
|
|
80
81
|
|
|
81
|
-
--
|
|
82
|
-
--
|
|
83
|
-
--
|
|
84
|
-
--
|
|
85
|
-
--
|
|
82
|
+
--scalar-border-color: rgba(255, 255, 255, 0.1);
|
|
83
|
+
--scalar-scrollbar-color: rgba(255, 255, 255, 0.24);
|
|
84
|
+
--scalar-scrollbar-color-active: rgba(255, 255, 255, 0.48);
|
|
85
|
+
--scalar-lifted-brightness: 1.45;
|
|
86
|
+
--scalar-backdrop-brightness: 0.5;
|
|
86
87
|
|
|
87
|
-
--
|
|
88
|
-
--
|
|
88
|
+
--scalar-shadow-1: 0 1px 3px 0 rgb(0, 0, 0, 0.1);
|
|
89
|
+
--scalar-shadow-2: rgba(15, 15, 15, 0.2) 0px 3px 6px,
|
|
89
90
|
rgba(15, 15, 15, 0.4) 0px 9px 24px, 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
90
91
|
|
|
91
|
-
--
|
|
92
|
-
--
|
|
93
|
-
--
|
|
92
|
+
--scalar-button-1: #f6f6f6;
|
|
93
|
+
--scalar-button-1-color: #000;
|
|
94
|
+
--scalar-button-1-hover: #e7e7e7;
|
|
94
95
|
|
|
95
|
-
--
|
|
96
|
-
--
|
|
97
|
-
--
|
|
98
|
-
--
|
|
99
|
-
--
|
|
100
|
-
--
|
|
96
|
+
--scalar-color-green: #26b226;
|
|
97
|
+
--scalar-color-red: #fb565b;
|
|
98
|
+
--scalar-color-yellow: #ffc426;
|
|
99
|
+
--scalar-color-blue: #6ecfef;
|
|
100
|
+
--scalar-color-orange: #ff8d4d;
|
|
101
|
+
--scalar-color-purple: #b191f9;
|
|
101
102
|
}
|
|
102
103
|
`;
|
|
103
104
|
const javascript = (options) => {
|
|
@@ -128,63 +129,60 @@ function htmlDocument(options) {
|
|
|
128
129
|
</html>
|
|
129
130
|
`;
|
|
130
131
|
}
|
|
131
|
-
const fastifyApiReference =
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
content: () => {
|
|
159
|
-
return fastify.swagger();
|
|
132
|
+
const fastifyApiReference = fp(
|
|
133
|
+
async (fastify, options) => {
|
|
134
|
+
var _a, _b;
|
|
135
|
+
let { configuration } = options;
|
|
136
|
+
const hasSwaggerPlugin = fastify.hasPlugin("@fastify/swagger");
|
|
137
|
+
if (!((_a = configuration == null ? void 0 : configuration.spec) == null ? void 0 : _a.content) && !((_b = configuration == null ? void 0 : configuration.spec) == null ? void 0 : _b.url) && !hasSwaggerPlugin) {
|
|
138
|
+
fastify.log.warn(
|
|
139
|
+
"[@scalar/fastify-api-reference] You didn’t provide a spec.content or spec.url, and @fastify/swagger could not be found. Please provide one of these options."
|
|
140
|
+
);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const fileContent = getJavaScriptFile();
|
|
144
|
+
fastify.route({
|
|
145
|
+
method: "GET",
|
|
146
|
+
url: options.routePrefix ?? "/",
|
|
147
|
+
// We don’t know whether @fastify/swagger is registered, but it doesn’t hurt to add a schema anyway.
|
|
148
|
+
// @ts-ignore
|
|
149
|
+
schema: schemaToHideRoute,
|
|
150
|
+
handler(_, reply) {
|
|
151
|
+
var _a2, _b2;
|
|
152
|
+
if (!((_a2 = configuration == null ? void 0 : configuration.spec) == null ? void 0 : _a2.content) && !((_b2 = configuration == null ? void 0 : configuration.spec) == null ? void 0 : _b2.url) && hasSwaggerPlugin) {
|
|
153
|
+
configuration = {
|
|
154
|
+
...configuration,
|
|
155
|
+
spec: {
|
|
156
|
+
content: () => {
|
|
157
|
+
return fastify.swagger();
|
|
158
|
+
}
|
|
160
159
|
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
if (!(configuration == null ? void 0 : configuration.customCss) && !(configuration == null ? void 0 : configuration.theme)) {
|
|
163
|
+
configuration = {
|
|
164
|
+
...configuration,
|
|
165
|
+
customCss: defaultCss
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
return reply.header("Content-Type", "text/html; charset=utf-8").send(htmlDocument({ ...options, configuration }));
|
|
163
169
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
170
|
+
});
|
|
171
|
+
fastify.route({
|
|
172
|
+
method: "GET",
|
|
173
|
+
url: getJavaScriptUrl(options.routePrefix),
|
|
174
|
+
// We don’t know whether @fastify/swagger is registered, but it doesn’t hurt to add a schema anyway.
|
|
175
|
+
// @ts-ignore
|
|
176
|
+
schema: schemaToHideRoute,
|
|
177
|
+
handler(_, reply) {
|
|
178
|
+
return reply.header("Content-Type", "application/javascript; charset=utf-8").send(fileContent);
|
|
169
179
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
fastify.route({
|
|
177
|
-
method: "GET",
|
|
178
|
-
url: getJavaScriptUrl(options.routePrefix),
|
|
179
|
-
// We don’t know whether @fastify/swagger is registered, but it doesn’t hurt to add a schema anyway.
|
|
180
|
-
// @ts-ignore
|
|
181
|
-
schema: schemaToHideRoute,
|
|
182
|
-
async handler(_, reply) {
|
|
183
|
-
reply.header("Content-Type", "application/javascript; charset=utf-8");
|
|
184
|
-
reply.send(fileContent);
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
};
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: "@scalar/fastify-api-reference"
|
|
184
|
+
}
|
|
185
|
+
);
|
|
188
186
|
export {
|
|
189
187
|
fastifyApiReference as default
|
|
190
188
|
};
|