@scalar/oas-utils 0.2.65 → 0.2.67
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/entities/spec/request-examples.d.ts.map +1 -1
- package/dist/entities/spec/request-examples.js +4 -1
- package/dist/entities/spec/security.d.ts.map +1 -1
- package/dist/entities/spec/security.js +12 -2
- package/dist/helpers/fetchWithProxyFallback.d.ts +8 -3
- package/dist/helpers/fetchWithProxyFallback.d.ts.map +1 -1
- package/dist/helpers/fetchWithProxyFallback.js +7 -21
- package/dist/helpers/makeUrlAbsolute.d.ts.map +1 -1
- package/dist/helpers/makeUrlAbsolute.js +3 -2
- package/dist/transforms/import-spec.d.ts.map +1 -1
- package/dist/transforms/import-spec.js +5 -3
- package/package.json +6 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @scalar/oas-utils
|
|
2
2
|
|
|
3
|
+
## 0.2.67
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 823c14d: fix: add tests for oauth2 flows, ensure we reject on state mismatch
|
|
8
|
+
- 997cd35: fix: relative URLs are created wrong
|
|
9
|
+
|
|
10
|
+
## 0.2.66
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- c929284: fix: add default redirectURI and prefix relative redirectURIs with activeServer
|
|
15
|
+
- 2275977: feat: import from way more sources, leverage the proxy more
|
|
16
|
+
- 3a0c367: fix: improve handling of non-string enums in parameter schema
|
|
17
|
+
- 89a2cc7: fix: preselect auth in the modal
|
|
18
|
+
|
|
3
19
|
## 0.2.65
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-examples.d.ts","sourceRoot":"","sources":["../../../src/entities/spec/request-examples.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC,eAAO,MAAM,8BAA8B;;;;;;IAMzC,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUlF,CAAA;AAEF,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,uEAQ7B,CAAA;AACV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;YAjCnC,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDlF,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;gBAvD/B,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuElF,CAAA;AAEF,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAKxE,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"request-examples.d.ts","sourceRoot":"","sources":["../../../src/entities/spec/request-examples.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC,eAAO,MAAM,8BAA8B;;;;;;IAMzC,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUlF,CAAA;AAEF,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,uEAQ7B,CAAA;AACV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;YAjCnC,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDlF,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;gBAvD/B,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuElF,CAAA;AAEF,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAKxE,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB;;;;;;;;;;;;;;;EA4C1D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,cAAc,CAiGhB"}
|
|
@@ -89,7 +89,10 @@ function createParamInstance(param) {
|
|
|
89
89
|
param.examples?.[Object.keys(param.examples)[0]]?.value ??
|
|
90
90
|
param.example ??
|
|
91
91
|
'');
|
|
92
|
-
|
|
92
|
+
// Handle non-string enums
|
|
93
|
+
const parseEnum = schema?.enum && schema?.type !== 'string'
|
|
94
|
+
? schema.enum?.map(String)
|
|
95
|
+
: schema?.enum;
|
|
93
96
|
// safe parse the example
|
|
94
97
|
const example = schemaModel({
|
|
95
98
|
...schema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/entities/spec/security.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA6CvB;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAO3C,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAA;AAED,gDAAgD;AAChD,MAAM,MAAM,gCAAgC,GAAG,OAAO,CACpD,0BAA0B,EAC1B;IAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAC5B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,UAAU,GAAE,GAAQ,GACnB,0BAA0B,GAAG,IAAI,CAuCnC;AAoBD,eAAO,MAAM,sBAAsB,wCAAyC,CAAA;AAU5E,eAAO,MAAM,oBAAoB;;;;IAN/B,8EAA8E;;IAE9E,6FAA6F;;;;IAb7F,0EAA0E;;;;;;;;;;;;;;;;EAmB3E,CAAA;AACD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AA4BvE,eAAO,MAAM,kBAAkB;;;;IArB7B;;;OAGG;;IAOH;;;;OAIG;;;;IAzCH,0EAA0E;;;;;;;;;;;;;;;;EAkD3E,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAanE,eAAO,MAAM,oBAAoB;;;;IAP/B;;;OAGG;;;;IA5DH,0EAA0E;;;;;;;;;;;;;;EAkE3E,CAAA;AACD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/entities/spec/security.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,13 +169,20 @@ const oauthCommon = z.object({
|
|
|
169
169
|
.default({}),
|
|
170
170
|
selectedScopes: z.array(z.string()).optional().default([]),
|
|
171
171
|
});
|
|
172
|
+
/** Setup a default redirect uri if we can */
|
|
173
|
+
const defaultRedirectUri = typeof window !== 'undefined'
|
|
174
|
+
? window.location.origin + window.location.pathname
|
|
175
|
+
: '';
|
|
172
176
|
const oasOauthFlowSchema = z
|
|
173
177
|
.discriminatedUnion('type', [
|
|
174
178
|
/** Configuration for the OAuth Implicit flow */
|
|
175
179
|
oauthCommon.extend({
|
|
176
180
|
'type': z.literal('implicit'),
|
|
177
181
|
authorizationUrl,
|
|
178
|
-
'x-scalar-redirect-uri': z
|
|
182
|
+
'x-scalar-redirect-uri': z
|
|
183
|
+
.string()
|
|
184
|
+
.optional()
|
|
185
|
+
.default(defaultRedirectUri),
|
|
179
186
|
}),
|
|
180
187
|
/** Configuration for the OAuth Resource Owner Password flow */
|
|
181
188
|
oauthCommon.extend({
|
|
@@ -191,7 +198,10 @@ const oasOauthFlowSchema = z
|
|
|
191
198
|
oauthCommon.extend({
|
|
192
199
|
'type': z.literal('authorizationCode'),
|
|
193
200
|
authorizationUrl,
|
|
194
|
-
'x-scalar-redirect-uri': z
|
|
201
|
+
'x-scalar-redirect-uri': z
|
|
202
|
+
.string()
|
|
203
|
+
.optional()
|
|
204
|
+
.default(defaultRedirectUri),
|
|
195
205
|
tokenUrl,
|
|
196
206
|
}),
|
|
197
207
|
])
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
export type FetchWithProxyFallbackOptions = {
|
|
2
|
+
proxy?: string;
|
|
3
|
+
/**
|
|
4
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Request/cache
|
|
5
|
+
*/
|
|
6
|
+
cache?: RequestInit['cache'];
|
|
7
|
+
};
|
|
1
8
|
/**
|
|
2
9
|
* Fetches an OpenAPI document with a proxy fallback mechanism.
|
|
3
10
|
*
|
|
4
11
|
* If a proxy is provided and the URL requires it, it will first attempt to fetch using the proxy.
|
|
5
12
|
* If the proxy fetch fails or is not used, it will fall back to a direct fetch.
|
|
6
|
-
*
|
|
7
|
-
* Also handles cases where the input is a JSON object instead of a URL.
|
|
8
13
|
*/
|
|
9
|
-
export declare function fetchWithProxyFallback(
|
|
14
|
+
export declare function fetchWithProxyFallback(url: string, { proxy, cache }: FetchWithProxyFallbackOptions): Promise<Response>;
|
|
10
15
|
//# sourceMappingURL=fetchWithProxyFallback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchWithProxyFallback.d.ts","sourceRoot":"","sources":["../../src/helpers/fetchWithProxyFallback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchWithProxyFallback.d.ts","sourceRoot":"","sources":["../../src/helpers/fetchWithProxyFallback.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC7B,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,6BAA6B,qBAwBhD"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { resolve } from '@scalar/import';
|
|
2
1
|
import { shouldUseProxy, redirectToProxy } from './redirectToProxy.js';
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -6,38 +5,25 @@ import { shouldUseProxy, redirectToProxy } from './redirectToProxy.js';
|
|
|
6
5
|
*
|
|
7
6
|
* If a proxy is provided and the URL requires it, it will first attempt to fetch using the proxy.
|
|
8
7
|
* If the proxy fetch fails or is not used, it will fall back to a direct fetch.
|
|
9
|
-
*
|
|
10
|
-
* Also handles cases where the input is a JSON object instead of a URL.
|
|
11
8
|
*/
|
|
12
|
-
async function fetchWithProxyFallback(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (typeof value === 'object' && value !== null) {
|
|
17
|
-
const json = JSON.stringify(value, null, 2);
|
|
18
|
-
return {
|
|
19
|
-
ok: true,
|
|
20
|
-
status: 200,
|
|
21
|
-
text: async () => json,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
if (typeof url !== 'string') {
|
|
25
|
-
throw new Error(`[fetchWithProxyFallback] Can’t fetch URL: ${url}`);
|
|
26
|
-
}
|
|
9
|
+
async function fetchWithProxyFallback(url, { proxy, cache }) {
|
|
10
|
+
const fetchOptions = {
|
|
11
|
+
cache: cache || 'default',
|
|
12
|
+
};
|
|
27
13
|
const shouldTryProxy = shouldUseProxy(proxy, url);
|
|
28
14
|
const initialUrl = shouldTryProxy ? redirectToProxy(proxy, url) : url;
|
|
29
15
|
try {
|
|
30
|
-
const result = await fetch(initialUrl,
|
|
16
|
+
const result = await fetch(initialUrl, fetchOptions);
|
|
31
17
|
if (result.ok || !shouldTryProxy) {
|
|
32
18
|
return result;
|
|
33
19
|
}
|
|
34
20
|
// Retry without proxy if the initial request failed
|
|
35
|
-
return await fetch(url,
|
|
21
|
+
return await fetch(url, fetchOptions);
|
|
36
22
|
}
|
|
37
23
|
catch (error) {
|
|
38
24
|
if (shouldTryProxy) {
|
|
39
25
|
// If proxy failed, try without it
|
|
40
|
-
return await fetch(url,
|
|
26
|
+
return await fetch(url, fetchOptions);
|
|
41
27
|
}
|
|
42
28
|
throw error;
|
|
43
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeUrlAbsolute.d.ts","sourceRoot":"","sources":["../../src/helpers/makeUrlAbsolute.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"makeUrlAbsolute.d.ts","sourceRoot":"","sources":["../../src/helpers/makeUrlAbsolute.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,MAAM,uBAqB3C,CAAA"}
|
|
@@ -10,10 +10,11 @@ const makeUrlAbsolute = (url) => {
|
|
|
10
10
|
const baseUrl = window.location.href;
|
|
11
11
|
// Remove any query parameters or hash from the base URL
|
|
12
12
|
const cleanBaseUrl = baseUrl.split('?')[0].split('#')[0];
|
|
13
|
-
//
|
|
13
|
+
// For base URLs with a path component, we want to remove the last path segment
|
|
14
|
+
// if it doesn't end with a slash
|
|
14
15
|
const normalizedBaseUrl = cleanBaseUrl.endsWith('/')
|
|
15
16
|
? cleanBaseUrl
|
|
16
|
-
: cleanBaseUrl
|
|
17
|
+
: cleanBaseUrl.substring(0, cleanBaseUrl.lastIndexOf('/') + 1);
|
|
17
18
|
return new URL(url, normalizedBaseUrl).toString();
|
|
18
19
|
};
|
|
19
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-spec.d.ts","sourceRoot":"","sources":["../../src/transforms/import-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EAGnB,KAAK,MAAM,EACX,KAAK,GAAG,EAOT,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAIhC,MAAM,0BAA0B,CAAA;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA4CxD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,WACpB,cAAc,SACf,sBAAsB,CAAC,gBAAgB,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAgC5D,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,WAAW,SAAgB,MAAM,GAAG,aAAa;YAKjC,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ;;EACrE,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,iBAAiB,EACjB,aAAa,GAAG,WAAW,CAC5B,GACC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,GAAG;IAC/C,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAEH;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,GAAG,aAAa,EAC5B,EACE,cAAc,EACd,WAAW,EACX,qBAA6B,EAC7B,SAAiB,GAClB,GAAE,yBAA8B,GAChC,OAAO,CACN;IACE,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,EAAE,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;IACjD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,eAAe,EAAE,cAAc,EAAE,CAAA;CAClC,GACD;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAC5C,
|
|
1
|
+
{"version":3,"file":"import-spec.d.ts","sourceRoot":"","sources":["../../src/transforms/import-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EAGnB,KAAK,MAAM,EACX,KAAK,GAAG,EAOT,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAIhC,MAAM,0BAA0B,CAAA;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA4CxD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,WACpB,cAAc,SACf,sBAAsB,CAAC,gBAAgB,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAgC5D,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,WAAW,SAAgB,MAAM,GAAG,aAAa;YAKjC,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ;;EACrE,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,iBAAiB,EACjB,aAAa,GAAG,WAAW,CAC5B,GACC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,GAAG;IAC/C,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAEH;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,GAAG,aAAa,EAC5B,EACE,cAAc,EACd,WAAW,EACX,qBAA6B,EAC7B,SAAiB,GAClB,GAAE,yBAA8B,GAChC,OAAO,CACN;IACE,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,EAAE,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;IACjD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,eAAe,EAAE,cAAc,EAAE,CAAA;CAClC,GACD;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAC5C,CAkRA"}
|
|
@@ -268,10 +268,12 @@ async function importSpecToWorkspace(spec, { authentication, documentUrl, setCol
|
|
|
268
268
|
prev[s.uid] = example;
|
|
269
269
|
return prev;
|
|
270
270
|
}, {});
|
|
271
|
-
|
|
271
|
+
const securityKeys = Object.keys(security);
|
|
272
272
|
let selectedSecuritySchemeUids = [];
|
|
273
|
-
|
|
274
|
-
|
|
273
|
+
/** Selected security scheme UIDs for the collection, defaults to the first key */
|
|
274
|
+
if (setCollectionSecurity && securityKeys.length) {
|
|
275
|
+
const preferred = authentication?.preferredSecurityScheme || securityKeys[0];
|
|
276
|
+
const uid = securitySchemeMap[preferred];
|
|
275
277
|
selectedSecuritySchemeUids = [uid];
|
|
276
278
|
}
|
|
277
279
|
const collection = collectionSchema.parse({
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"specification",
|
|
17
17
|
"yaml"
|
|
18
18
|
],
|
|
19
|
-
"version": "0.2.
|
|
19
|
+
"version": "0.2.67",
|
|
20
20
|
"engines": {
|
|
21
21
|
"node": ">=18"
|
|
22
22
|
},
|
|
@@ -106,20 +106,19 @@
|
|
|
106
106
|
"nanoid": "^5.0.7",
|
|
107
107
|
"yaml": "^2.4.5",
|
|
108
108
|
"zod": "^3.23.8",
|
|
109
|
-
"@scalar/import": "0.0.3",
|
|
110
|
-
"@scalar/openapi-types": "0.1.4",
|
|
111
109
|
"@scalar/object-utils": "1.1.11",
|
|
112
|
-
"@scalar/types": "0.
|
|
113
|
-
"@scalar/themes": "0.9.45"
|
|
110
|
+
"@scalar/openapi-types": "0.1.4",
|
|
111
|
+
"@scalar/themes": "0.9.45",
|
|
112
|
+
"@scalar/types": "0.0.18"
|
|
114
113
|
},
|
|
115
114
|
"devDependencies": {
|
|
116
115
|
"type-fest": "^4.20.0",
|
|
117
116
|
"vite": "^5.4.9",
|
|
118
117
|
"vitest": "^1.6.0",
|
|
119
118
|
"zod-to-ts": "^1.2.0",
|
|
120
|
-
"@scalar/build-tooling": "0.1.11",
|
|
121
119
|
"@scalar/openapi-parser": "0.8.8",
|
|
122
|
-
"@scalar/openapi-types": "0.1.4"
|
|
120
|
+
"@scalar/openapi-types": "0.1.4",
|
|
121
|
+
"@scalar/build-tooling": "0.1.11"
|
|
123
122
|
},
|
|
124
123
|
"scripts": {
|
|
125
124
|
"build": "scalar-build-rollup",
|