Added cdn option for scalar

This commit is contained in:
John Cudd
2024-01-18 13:43:27 -05:00
parent 75a904b986
commit 0ddeff2bf7
3 changed files with 14 additions and 3 deletions
+2
View File
@@ -20,6 +20,7 @@ export const swagger =
{
provider = 'scalar',
scalarVersion = '1.12.5',
scalarCDN = "",
scalarConfig = {},
documentation = {},
version = '5.9.0',
@@ -33,6 +34,7 @@ export const swagger =
}: ElysiaSwaggerConfig<Path> = {
provider: 'scalar',
scalarVersion: '1.12.5',
scalarCDN: "",
scalarConfig: {},
documentation: {},
version: '5.9.0',
+4 -2
View File
@@ -1,7 +1,7 @@
import scalarElysiaTheme from './theme'
import type { ReferenceConfiguration } from './types'
export const ScalarRender = (version: string, config: ReferenceConfiguration) => `<!doctype html>
export const ScalarRender = (version: string, config: ReferenceConfiguration, cdn: string) => `<!doctype html>
<html>
<head>
<title>API Reference</title>
@@ -23,5 +23,7 @@ export const ScalarRender = (version: string, config: ReferenceConfiguration) =>
id="api-reference"
data-url="${config.spec?.url}"></script>
<script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference@${version}/dist/browser/standalone.min.js"></script>
<script src="${cdn ? cdn:`https://cdn.jsdelivr.net/npm/@scalar/api-reference@${version}/dist/browser/standalone.min.js`}"></script>
</body>
</html>`
</html>`
+8 -1
View File
@@ -29,11 +29,18 @@ export interface ElysiaSwaggerConfig<Path extends string = '/swagger'> {
*/
scalarVersion?: string
/**
* Scalar configuration to customize scalar
* Version to use for Scalar cdn bundle
*
* @default '1.12.5'
* @see https://github.com/scalar/scalar
*/
scalarCDN?: string
/**
* Scalar CDN bundle url
*
* @default ''
* @example 'https://cdn.jsdelivr.net/npm/@scalar/api-reference@$1.12.5/dist/browser/standalone.min.js'
*/
scalarConfig?: ReferenceConfiguration
/**
* Version to use for swagger cdn bundle