@scalar/schemas 0.4.1 → 0.4.3

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 CHANGED
@@ -1,5 +1,19 @@
1
1
  # @scalar/schemas
2
2
 
3
+ ## 0.4.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#9342](https://github.com/scalar/scalar/pull/9342): fix: resolve operations when OpenAPI path items use `$ref`
8
+
9
+ Path entries and webhooks can reference `components.pathItems` instead of inlining operations. Navigation, mutators, search, and markdown export now resolve path-item references before reading HTTP methods and path-level parameters.
10
+
11
+ ## 0.4.2
12
+
13
+ ### Patch Changes
14
+
15
+ - [#9471](https://github.com/scalar/scalar/pull/9471): Restore support for the deprecated `source` install command on `x-scalar-sdk-installation`. When set, it is appended to `description` as a fenced code block (or used on its own when there is no `description`). `description` remains the promoted field.
16
+
3
17
  ## 0.4.1
4
18
 
5
19
  ## 0.4.0
@@ -2,6 +2,7 @@ export declare const XScalarSdkInstallation: import("@scalar/validation").Object
2
2
  'x-scalar-sdk-installation': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
3
3
  lang: import("@scalar/validation").StringSchema;
4
4
  description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
5
+ source: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
5
6
  }>>>;
6
7
  }>;
7
8
  //# sourceMappingURL=x-scalar-sdk-installation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-scalar-sdk-installation.d.ts","sourceRoot":"","sources":["../../../src/extensions/document/x-scalar-sdk-installation.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,sBAAsB;;;;;EAiBlC,CAAA"}
1
+ {"version":3,"file":"x-scalar-sdk-installation.d.ts","sourceRoot":"","sources":["../../../src/extensions/document/x-scalar-sdk-installation.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,sBAAsB;;;;;;EAiBlC,CAAA"}
@@ -3,6 +3,9 @@ import { typeCommentWithExample } from '../type-comment.js';
3
3
  const XScalarSdkInstallationItem = object({
4
4
  lang: string({ typeComment: 'Programming language or platform (for example `TypeScript`, `Java`, `Python`)' }),
5
5
  description: optional(string({ typeComment: 'Installation instructions in Markdown (supports fenced code blocks)' })),
6
+ source: optional(string({
7
+ typeComment: '@deprecated Use `description` instead. When set, it is appended to `description` as a fenced code block (or used on its own when there is no `description`).',
8
+ })),
6
9
  }, {
7
10
  typeName: 'XScalarSdkInstallationItem',
8
11
  typeComment: 'One SDK installation instruction block',
@@ -8,29 +8,6 @@ export declare const components: import("@scalar/validation").LazySchema<() => i
8
8
  securitySchemes: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
9
9
  links: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
10
10
  callbacks: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
11
- pathItems: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").LazySchema<() => import("@scalar/validation").ObjectSchema<{
12
- $ref: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
13
- summary: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
14
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
15
- get: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
16
- put: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
17
- post: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
18
- delete: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
19
- patch: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
20
- connect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
21
- options: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
22
- head: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
23
- trace: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
24
- servers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
25
- url: import("@scalar/validation").StringSchema;
26
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
27
- variables: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
28
- enum: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>;
29
- default: import("@scalar/validation").StringSchema;
30
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
31
- }>>>;
32
- }>>>;
33
- parameters: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").Schema>>;
34
- }>>>>;
11
+ pathItems: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
35
12
  }>>;
36
13
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/openapi/3.1/components.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BtB,CAAA"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/openapi/3.1/components.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,UAAU;;;;;;;;;;;GAoBtB,CAAA"}
@@ -20,5 +20,5 @@ export const components = lazy(() => object({
20
20
  securitySchemes: optional(record(string(), recursiveRef(lazy(() => securityScheme)), { typeName: 'ComponentsSecuritySchemes' })),
21
21
  links: optional(record(string(), recursiveRef(lazy(() => link)), { typeName: 'ComponentsLinks' })),
22
22
  callbacks: optional(record(string(), recursiveRef(lazy(() => callback)), { typeName: 'ComponentsCallbacks' })),
23
- pathItems: optional(record(string(), lazy(() => pathItem), { typeName: 'ComponentsPathItems' })),
23
+ pathItems: optional(record(string(), recursiveRef(lazy(() => pathItem)), { typeName: 'ComponentsPathItems' })),
24
24
  }, { typeName: 'ComponentsObject' }));
@@ -20,6 +20,7 @@ export declare const openApiSchema: import("@scalar/validation").IntersectionSch
20
20
  'x-scalar-sdk-installation': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
21
21
  lang: import("@scalar/validation").StringSchema;
22
22
  description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
23
+ source: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
23
24
  }>>>;
24
25
  }>]>;
25
26
  jsonSchemaDialect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
@@ -32,54 +33,8 @@ export declare const openApiSchema: import("@scalar/validation").IntersectionSch
32
33
  description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
33
34
  }>>>;
34
35
  }>>>;
35
- paths: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
36
- $ref: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
37
- summary: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
38
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
39
- get: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
40
- put: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
41
- post: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
42
- delete: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
43
- patch: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
44
- connect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
45
- options: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
46
- head: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
47
- trace: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
48
- servers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
49
- url: import("@scalar/validation").StringSchema;
50
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
51
- variables: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
52
- enum: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>;
53
- default: import("@scalar/validation").StringSchema;
54
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
55
- }>>>;
56
- }>>>;
57
- parameters: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").Schema>>;
58
- }>>>;
59
- webhooks: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
60
- $ref: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
61
- summary: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
62
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
63
- get: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
64
- put: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
65
- post: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
66
- delete: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
67
- patch: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
68
- connect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
69
- options: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
70
- head: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
71
- trace: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
72
- servers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
73
- url: import("@scalar/validation").StringSchema;
74
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
75
- variables: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
76
- enum: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>;
77
- default: import("@scalar/validation").StringSchema;
78
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
79
- }>>>;
80
- }>>>;
81
- parameters: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").Schema>>;
82
- }>>>;
36
+ paths: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
37
+ webhooks: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
83
38
  components: import("@scalar/validation").OptionalSchema<import("@scalar/validation").LazySchema<() => import("@scalar/validation").ObjectSchema<{
84
39
  schemas: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
85
40
  responses: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
@@ -90,30 +45,7 @@ export declare const openApiSchema: import("@scalar/validation").IntersectionSch
90
45
  securitySchemes: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
91
46
  links: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
92
47
  callbacks: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
93
- pathItems: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").LazySchema<() => import("@scalar/validation").ObjectSchema<{
94
- $ref: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
95
- summary: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
96
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
97
- get: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
98
- put: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
99
- post: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
100
- delete: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
101
- patch: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
102
- connect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
103
- options: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
104
- head: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
105
- trace: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
106
- servers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
107
- url: import("@scalar/validation").StringSchema;
108
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
109
- variables: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
110
- enum: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>;
111
- default: import("@scalar/validation").StringSchema;
112
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
113
- }>>>;
114
- }>>>;
115
- parameters: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").Schema>>;
116
- }>>>>;
48
+ pathItems: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
117
49
  }>>>;
118
50
  security: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>>>;
119
51
  tags: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").IntersectionSchema<readonly [import("@scalar/validation").ObjectSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/openapi/3.1/document.ts"],"names":[],"mappings":"AA2GA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGxB,CAAA"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/openapi/3.1/document.ts"],"names":[],"mappings":"AA4GA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGxB,CAAA"}
@@ -7,6 +7,7 @@ import { components } from '../../openapi/3.1/components.js';
7
7
  import { externalDocs } from '../../openapi/3.1/external-docs.js';
8
8
  import { info } from '../../openapi/3.1/info.js';
9
9
  import { pathItem } from '../../openapi/3.1/path-item.js';
10
+ import { recursiveRef } from '../../openapi/3.1/reference.js';
10
11
  import { securityRequirement } from '../../openapi/3.1/security-requirement.js';
11
12
  import { server } from '../../openapi/3.1/server.js';
12
13
  import { tag } from '../../openapi/3.1/tag.js';
@@ -43,11 +44,11 @@ const openApiDocumentCore = object({
43
44
  typeComment: 'An array of Server Objects, which provide connectivity information to a target server. If the servers field is not provided, or is an empty array, the default value would be a Server Object with a url value of /.',
44
45
  typeName: 'OpenApiServers',
45
46
  })),
46
- paths: optional(record(string(), pathItem, {
47
+ paths: optional(record(string(), recursiveRef(pathItem), {
47
48
  typeComment: 'The available paths and operations for the API.',
48
49
  typeName: 'PathsObject',
49
50
  })),
50
- webhooks: optional(record(string(), pathItem, {
51
+ webhooks: optional(record(string(), recursiveRef(pathItem), {
51
52
  typeComment: 'The incoming webhooks that MAY be received as part of this API and that the API consumer MAY choose to implement.',
52
53
  typeName: 'WebhooksObject',
53
54
  })),
@@ -18,6 +18,7 @@ export declare const info: import("@scalar/validation").IntersectionSchema<reado
18
18
  'x-scalar-sdk-installation': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
19
19
  lang: import("@scalar/validation").StringSchema;
20
20
  description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
21
+ source: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
21
22
  }>>>;
22
23
  }>]>;
23
24
  //# sourceMappingURL=info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/openapi/3.1/info.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;IAuBhB,CAAA"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/openapi/3.1/info.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;IAuBhB,CAAA"}
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "schemas",
15
15
  "scalar"
16
16
  ],
17
- "version": "0.4.1",
17
+ "version": "0.4.3",
18
18
  "engines": {
19
19
  "node": ">=22"
20
20
  },
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "vitest": "4.1.0",
49
- "@scalar/types": "0.13.1"
49
+ "@scalar/types": "0.13.3"
50
50
  },
51
51
  "scripts": {
52
52
  "build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",