@redocly/openapi-core 2.44.2 → 2.46.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/lib/bundle/bundle-visitor.d.ts.map +1 -1
- package/lib/bundle/bundle-visitor.js +28 -19
- package/lib/bundle/bundle-visitor.js.map +1 -1
- package/lib/config/all.d.ts.map +1 -1
- package/lib/config/all.js +7 -0
- package/lib/config/all.js.map +1 -1
- package/lib/config/minimal.d.ts.map +1 -1
- package/lib/config/minimal.js +7 -0
- package/lib/config/minimal.js.map +1 -1
- package/lib/config/recommended-strict.d.ts.map +1 -1
- package/lib/config/recommended-strict.js +7 -0
- package/lib/config/recommended-strict.js.map +1 -1
- package/lib/config/recommended.d.ts.map +1 -1
- package/lib/config/recommended.js +7 -0
- package/lib/config/recommended.js.map +1 -1
- package/lib/config/spec.d.ts.map +1 -1
- package/lib/config/spec.js +7 -0
- package/lib/config/spec.js.map +1 -1
- package/lib/ref-utils.d.ts +1 -0
- package/lib/ref-utils.d.ts.map +1 -1
- package/lib/ref-utils.js +8 -7
- package/lib/ref-utils.js.map +1 -1
- package/lib/resolve.d.ts +8 -0
- package/lib/resolve.d.ts.map +1 -1
- package/lib/resolve.js +23 -2
- package/lib/resolve.js.map +1 -1
- package/lib/rules/async2/index.d.ts.map +1 -1
- package/lib/rules/async2/index.js +2 -0
- package/lib/rules/async2/index.js.map +1 -1
- package/lib/rules/async3/index.d.ts.map +1 -1
- package/lib/rules/async3/index.js +2 -0
- package/lib/rules/async3/index.js.map +1 -1
- package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +1 -1
- package/lib/rules/common/no-required-schema-properties-undefined.js +36 -1
- package/lib/rules/common/no-required-schema-properties-undefined.js.map +1 -1
- package/lib/rules/common/spec-ref-siblings.d.ts +3 -0
- package/lib/rules/common/spec-ref-siblings.d.ts.map +1 -0
- package/lib/rules/common/spec-ref-siblings.js +20 -0
- package/lib/rules/common/spec-ref-siblings.js.map +1 -0
- package/lib/rules/oas2/index.d.ts.map +1 -1
- package/lib/rules/oas2/index.js +2 -0
- package/lib/rules/oas2/index.js.map +1 -1
- package/lib/rules/oas3/index.d.ts.map +1 -1
- package/lib/rules/oas3/index.js +2 -0
- package/lib/rules/oas3/index.js.map +1 -1
- package/lib/rules/oas3/spec-ref-siblings.d.ts +3 -0
- package/lib/rules/oas3/spec-ref-siblings.d.ts.map +1 -0
- package/lib/rules/oas3/spec-ref-siblings.js +23 -0
- package/lib/rules/oas3/spec-ref-siblings.js.map +1 -0
- package/lib/rules/openrpc/index.d.ts.map +1 -1
- package/lib/rules/openrpc/index.js +2 -0
- package/lib/rules/openrpc/index.js.map +1 -1
- package/lib/rules/utils.d.ts +2 -0
- package/lib/rules/utils.d.ts.map +1 -1
- package/lib/rules/utils.js +30 -6
- package/lib/rules/utils.js.map +1 -1
- package/lib/types/asyncapi3.d.ts.map +1 -1
- package/lib/types/asyncapi3.js +0 -2
- package/lib/types/asyncapi3.js.map +1 -1
- package/lib/types/redocly-yaml.d.ts +5 -5
- package/lib/types/redocly-yaml.d.ts.map +1 -1
- package/lib/types/redocly-yaml.js +5 -0
- package/lib/types/redocly-yaml.js.map +1 -1
- package/lib/walk.d.ts +3 -1
- package/lib/walk.d.ts.map +1 -1
- package/lib/walk.js +57 -41
- package/lib/walk.js.map +1 -1
- package/package.json +1 -1
package/lib/walk.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { YamlParseError } from './errors/yaml-parse-error.js';
|
|
2
|
-
import { Location, isRef } from './ref-utils.js';
|
|
2
|
+
import { Location, isRef, isRefWithSiblings } from './ref-utils.js';
|
|
3
3
|
import { isNamedType, SpecExtension } from './types/index.js';
|
|
4
4
|
import { getOwn } from './utils/get-own.js';
|
|
5
5
|
import { isPlainObject } from './utils/is-plain-object.js';
|
|
@@ -26,6 +26,8 @@ function collectParentsLocations(ctx) {
|
|
|
26
26
|
export function walkDocument(opts) {
|
|
27
27
|
const { document, rootType, normalizedVisitors, resolvedRefMap, ctx } = opts;
|
|
28
28
|
const seenNodesPerType = {};
|
|
29
|
+
const walkedComposedRefs = new Set();
|
|
30
|
+
const composedRefWalkId = (type, location) => `${type.name}::${location.absolutePointer}`;
|
|
29
31
|
const ignoredNodes = new Set();
|
|
30
32
|
// Pre-compute combined enter/leave arrays per type to avoid per-node array allocations
|
|
31
33
|
const anyEnter = normalizedVisitors.any.enter;
|
|
@@ -51,20 +53,26 @@ export function walkDocument(opts) {
|
|
|
51
53
|
node: undefined,
|
|
52
54
|
};
|
|
53
55
|
}
|
|
54
|
-
const { resolved, node, document, nodePointer, error } = resolvedRef;
|
|
56
|
+
const { resolved, node, document, nodePointer, error, chain } = resolvedRef;
|
|
55
57
|
const newLocation = resolved
|
|
56
58
|
? new Location(document.source, nodePointer)
|
|
57
59
|
: error instanceof YamlParseError
|
|
58
60
|
? new Location(error.source, '')
|
|
59
61
|
: undefined;
|
|
60
|
-
return { location: newLocation, node, error };
|
|
62
|
+
return { location: newLocation, node, error, chain };
|
|
61
63
|
};
|
|
62
64
|
const rawLocation = location;
|
|
63
65
|
let currentLocation = location;
|
|
64
66
|
const nodeIsRef = isRef(node);
|
|
65
|
-
const { node: resolvedNode, location: resolvedLocation, error } = resolve(node);
|
|
67
|
+
const { node: resolvedNode, location: resolvedLocation, error, chain: resolvedChain, } = resolve(node);
|
|
66
68
|
const enteredContexts = new Set();
|
|
67
|
-
|
|
69
|
+
// a composed $ref can be reached twice: as a chain hop and at its own place in the tree;
|
|
70
|
+
// ref visitors and sibling keys are processed only on the first visit
|
|
71
|
+
const composedRefAlreadyWalked = isRefWithSiblings(node) && walkedComposedRefs.has(composedRefWalkId(type, location));
|
|
72
|
+
if (isRefWithSiblings(node)) {
|
|
73
|
+
walkedComposedRefs.add(composedRefWalkId(type, location));
|
|
74
|
+
}
|
|
75
|
+
if (nodeIsRef && !composedRefAlreadyWalked) {
|
|
68
76
|
const refEnterVisitors = normalizedVisitors.ref.enter;
|
|
69
77
|
for (const { visit: visitor, ruleId, severity, message, context } of refEnterVisitors) {
|
|
70
78
|
enteredContexts.add(context);
|
|
@@ -82,13 +90,36 @@ export function walkDocument(opts) {
|
|
|
82
90
|
specVersion: ctx.specVersion,
|
|
83
91
|
config: ctx.config,
|
|
84
92
|
getVisitorData: () => getVisitorDataFn(ruleId),
|
|
85
|
-
}, { node: resolvedNode, location: resolvedLocation, error });
|
|
93
|
+
}, { node: resolvedNode, location: resolvedLocation, error, chain: resolvedChain });
|
|
86
94
|
if (resolvedLocation?.source.absoluteRef && ctx.refTypes) {
|
|
87
95
|
ctx.refTypes.set(resolvedLocation?.source.absoluteRef, type);
|
|
88
96
|
}
|
|
89
97
|
}
|
|
90
98
|
}
|
|
91
99
|
if (resolvedNode !== undefined && resolvedLocation && type.name !== 'scalar') {
|
|
100
|
+
const walkProp = (propName, value, loc, valueParent) => {
|
|
101
|
+
let propType = getOwn(type.properties, propName);
|
|
102
|
+
if (propType === undefined)
|
|
103
|
+
propType = type.additionalProperties;
|
|
104
|
+
if (typeof propType === 'function')
|
|
105
|
+
propType = propType(value, propName);
|
|
106
|
+
if (propType === undefined &&
|
|
107
|
+
type.extensionsPrefix &&
|
|
108
|
+
propName.startsWith(type.extensionsPrefix)) {
|
|
109
|
+
propType = SpecExtension;
|
|
110
|
+
}
|
|
111
|
+
if (!isNamedType(propType) && propType?.directResolveAs) {
|
|
112
|
+
propType = propType.directResolveAs;
|
|
113
|
+
value = { $ref: value };
|
|
114
|
+
}
|
|
115
|
+
if (propType && propType.name === undefined && propType.resolvable !== false) {
|
|
116
|
+
propType = { name: 'scalar', properties: {} };
|
|
117
|
+
}
|
|
118
|
+
if (!isNamedType(propType) || (propType.name === 'scalar' && !isRef(value))) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
walkNode(value, propType, loc.child([propName]), valueParent, propName);
|
|
122
|
+
};
|
|
92
123
|
currentLocation = resolvedLocation;
|
|
93
124
|
const isNodeSeen = seenNodesPerType[type.name]?.has?.(resolvedNode);
|
|
94
125
|
let visitedBySome = false;
|
|
@@ -177,41 +208,26 @@ export function walkDocument(opts) {
|
|
|
177
208
|
else if (type.extensionsPrefix) {
|
|
178
209
|
props.push(...Object.keys(resolvedNode).filter((k) => k.startsWith(type.extensionsPrefix)));
|
|
179
210
|
}
|
|
180
|
-
if (nodeIsRef) {
|
|
181
|
-
props.push(...Object.keys(node).filter((k) => k !== '$ref' && !props.includes(k))); // properties on the same level as $ref
|
|
182
|
-
}
|
|
183
211
|
for (const propName of props) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
value = node[propName];
|
|
188
|
-
loc = location; // properties on the same level as $ref should resolve against original location, not target
|
|
189
|
-
}
|
|
190
|
-
let propType = getOwn(type.properties, propName);
|
|
191
|
-
if (propType === undefined)
|
|
192
|
-
propType = type.additionalProperties;
|
|
193
|
-
if (typeof propType === 'function')
|
|
194
|
-
propType = propType(value, propName);
|
|
195
|
-
if (propType === undefined &&
|
|
196
|
-
type.extensionsPrefix &&
|
|
197
|
-
propName.startsWith(type.extensionsPrefix)) {
|
|
198
|
-
propType = SpecExtension;
|
|
199
|
-
}
|
|
200
|
-
if (!isNamedType(propType) && propType?.directResolveAs) {
|
|
201
|
-
propType = propType.directResolveAs;
|
|
202
|
-
value = { $ref: value };
|
|
212
|
+
const resolvedValue = resolvedNode[propName];
|
|
213
|
+
if (resolvedValue !== undefined) {
|
|
214
|
+
walkProp(propName, resolvedValue, resolvedLocation, resolvedNode);
|
|
203
215
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (nodeIsRef && resolvedChain?.length) {
|
|
220
|
+
// walk the composed $ref the resolution passed through; the rest of the chain follows
|
|
221
|
+
const chainHop = resolvedChain[0];
|
|
222
|
+
if (!walkedComposedRefs.has(composedRefWalkId(type, chainHop.location))) {
|
|
223
|
+
walkNode(chainHop.node, type, chainHop.location, undefined, key);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (isRefWithSiblings(node) && !composedRefAlreadyWalked) {
|
|
227
|
+
// walk the keys written next to $ref; they resolve against the ref's own location
|
|
228
|
+
for (const propName of Object.keys(node)) {
|
|
229
|
+
if (propName !== '$ref' && node[propName] !== resolvedNode?.[propName]) {
|
|
230
|
+
walkProp(propName, node[propName], location, node);
|
|
215
231
|
}
|
|
216
232
|
}
|
|
217
233
|
}
|
|
@@ -238,7 +254,7 @@ export function walkDocument(opts) {
|
|
|
238
254
|
}
|
|
239
255
|
}
|
|
240
256
|
currentLocation = location;
|
|
241
|
-
if (nodeIsRef) {
|
|
257
|
+
if (nodeIsRef && !composedRefAlreadyWalked) {
|
|
242
258
|
const refLeaveVisitors = normalizedVisitors.ref.leave;
|
|
243
259
|
for (const { visit: visitor, ruleId, severity, context, message } of refLeaveVisitors) {
|
|
244
260
|
if (enteredContexts.has(context)) {
|
|
@@ -256,7 +272,7 @@ export function walkDocument(opts) {
|
|
|
256
272
|
specVersion: ctx.specVersion,
|
|
257
273
|
config: ctx.config,
|
|
258
274
|
getVisitorData: () => getVisitorDataFn(ruleId),
|
|
259
|
-
}, { node: resolvedNode, location: resolvedLocation, error });
|
|
275
|
+
}, { node: resolvedNode, location: resolvedLocation, error, chain: resolvedChain });
|
|
260
276
|
}
|
|
261
277
|
}
|
|
262
278
|
}
|
package/lib/walk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk.js","sourceRoot":"","sources":["../src/walk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"walk.js","sourceRoot":"","sources":["../src/walk.ts"],"names":[],"mappings":"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"}
|