@scalar/schemas 0.4.2 → 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,13 @@
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
+
3
11
  ## 0.4.2
4
12
 
5
13
  ### Patch Changes
@@ -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' }));
@@ -33,54 +33,8 @@ export declare const openApiSchema: import("@scalar/validation").IntersectionSch
33
33
  description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
34
34
  }>>>;
35
35
  }>>>;
36
- paths: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
37
- $ref: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
38
- summary: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
39
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
40
- get: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
41
- put: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
42
- post: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
43
- delete: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
44
- patch: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
45
- connect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
46
- options: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
47
- head: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
48
- trace: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
49
- servers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
50
- url: import("@scalar/validation").StringSchema;
51
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
52
- variables: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
53
- enum: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>;
54
- default: import("@scalar/validation").StringSchema;
55
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
56
- }>>>;
57
- }>>>;
58
- parameters: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").Schema>>;
59
- }>>>;
60
- webhooks: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
61
- $ref: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
62
- summary: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
63
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
64
- get: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
65
- put: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
66
- post: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
67
- delete: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
68
- patch: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
69
- connect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
70
- options: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
71
- head: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
72
- trace: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
73
- servers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
74
- url: import("@scalar/validation").StringSchema;
75
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
76
- variables: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
77
- enum: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>;
78
- default: import("@scalar/validation").StringSchema;
79
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
80
- }>>>;
81
- }>>>;
82
- parameters: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").Schema>>;
83
- }>>>;
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>>;
84
38
  components: import("@scalar/validation").OptionalSchema<import("@scalar/validation").LazySchema<() => import("@scalar/validation").ObjectSchema<{
85
39
  schemas: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
86
40
  responses: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
@@ -91,30 +45,7 @@ export declare const openApiSchema: import("@scalar/validation").IntersectionSch
91
45
  securitySchemes: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
92
46
  links: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
93
47
  callbacks: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
94
- pathItems: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").LazySchema<() => import("@scalar/validation").ObjectSchema<{
95
- $ref: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
96
- summary: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
97
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
98
- get: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
99
- put: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
100
- post: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
101
- delete: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
102
- patch: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
103
- connect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
104
- options: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
105
- head: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
106
- trace: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
107
- servers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
108
- url: import("@scalar/validation").StringSchema;
109
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
110
- variables: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").ObjectSchema<{
111
- enum: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").StringSchema>>;
112
- default: import("@scalar/validation").StringSchema;
113
- description: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
114
- }>>>;
115
- }>>>;
116
- parameters: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").Schema>>;
117
- }>>>>;
48
+ pathItems: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").Schema>>;
118
49
  }>>>;
119
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>>>>;
120
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
  })),
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "schemas",
15
15
  "scalar"
16
16
  ],
17
- "version": "0.4.2",
17
+ "version": "0.4.3",
18
18
  "engines": {
19
19
  "node": ">=22"
20
20
  },
@@ -41,12 +41,12 @@
41
41
  "CHANGELOG.md"
42
42
  ],
43
43
  "dependencies": {
44
- "@scalar/validation": "0.6.0",
45
- "@scalar/helpers": "0.8.2"
44
+ "@scalar/helpers": "0.8.2",
45
+ "@scalar/validation": "0.6.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "vitest": "4.1.0",
49
- "@scalar/types": "0.13.2"
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",