@redocly/openapi-core 2.43.3 → 2.44.1
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.d.ts +2 -2
- package/lib/bundle/bundle.d.ts.map +1 -1
- package/lib/config/all.d.ts.map +1 -1
- package/lib/config/all.js +18 -0
- package/lib/config/all.js.map +1 -1
- package/lib/config/minimal.d.ts.map +1 -1
- package/lib/config/minimal.js +18 -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 +18 -0
- package/lib/config/recommended-strict.js.map +1 -1
- package/lib/config/recommended.d.ts.map +1 -1
- package/lib/config/recommended.js +18 -0
- package/lib/config/recommended.js.map +1 -1
- package/lib/config/spec.d.ts.map +1 -1
- package/lib/config/spec.js +18 -0
- package/lib/config/spec.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/lint.d.ts +2 -2
- package/lib/lint.d.ts.map +1 -1
- package/lib/rules/arazzo/index.d.ts.map +1 -1
- package/lib/rules/arazzo/index.js +4 -0
- package/lib/rules/arazzo/index.js.map +1 -1
- package/lib/rules/async2/index.d.ts.map +1 -1
- package/lib/rules/async2/index.js +6 -0
- package/lib/rules/async2/index.js.map +1 -1
- package/lib/rules/async2/security-defined.d.ts +3 -0
- package/lib/rules/async2/security-defined.d.ts.map +1 -0
- package/lib/rules/async2/security-defined.js +86 -0
- package/lib/rules/async2/security-defined.js.map +1 -0
- package/lib/rules/async3/index.d.ts.map +1 -1
- package/lib/rules/async3/index.js +6 -0
- package/lib/rules/async3/index.js.map +1 -1
- package/lib/rules/async3/security-defined.d.ts +3 -0
- package/lib/rules/async3/security-defined.d.ts.map +1 -0
- package/lib/rules/async3/security-defined.js +147 -0
- package/lib/rules/async3/security-defined.js.map +1 -0
- package/lib/rules/common/no-duplicated-enum-values.d.ts +3 -0
- package/lib/rules/common/no-duplicated-enum-values.d.ts.map +1 -0
- package/lib/rules/common/no-duplicated-enum-values.js +20 -0
- package/lib/rules/common/no-duplicated-enum-values.js.map +1 -0
- package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +1 -1
- package/lib/rules/common/no-required-schema-properties-undefined.js +3 -26
- package/lib/rules/common/no-required-schema-properties-undefined.js.map +1 -1
- package/lib/rules/common/no-unsafe-markdown.d.ts +3 -0
- package/lib/rules/common/no-unsafe-markdown.d.ts.map +1 -0
- package/lib/rules/common/no-unsafe-markdown.js +30 -0
- package/lib/rules/common/no-unsafe-markdown.js.map +1 -0
- package/lib/rules/oas2/index.d.ts.map +1 -1
- package/lib/rules/oas2/index.js +4 -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 +4 -0
- package/lib/rules/oas3/index.js.map +1 -1
- package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts.map +1 -1
- package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +20 -22
- package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js.map +1 -1
- package/lib/rules/oas3/spec-discriminator-defaultMapping.d.ts.map +1 -1
- package/lib/rules/oas3/spec-discriminator-defaultMapping.js +2 -2
- package/lib/rules/oas3/spec-discriminator-defaultMapping.js.map +1 -1
- package/lib/rules/utils.d.ts +19 -6
- package/lib/rules/utils.d.ts.map +1 -1
- package/lib/rules/utils.js +44 -5
- package/lib/rules/utils.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 +12 -0
- package/lib/types/redocly-yaml.js.map +1 -1
- package/lib/typings/asyncapi.d.ts +65 -3
- package/lib/typings/asyncapi.d.ts.map +1 -1
- package/lib/typings/asyncapi3.d.ts +46 -22
- package/lib/typings/asyncapi3.d.ts.map +1 -1
- package/lib/utils/types.d.ts +1 -1
- package/lib/utils/types.d.ts.map +1 -1
- package/lib/visitors.d.ts +15 -3
- package/lib/visitors.d.ts.map +1 -1
- package/lib/visitors.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { isRef } from '../../ref-utils.js';
|
|
2
|
+
import { hasSecurityRequirements, isAsyncOperationSecured } from '../utils.js';
|
|
3
|
+
const SECURITY_SCHEMES_POINTER = '#/components/securitySchemes/';
|
|
4
|
+
const COMPONENTS_POINTER = '#/components/';
|
|
5
|
+
const REFERENCE = 'https://redocly.com/docs/cli/rules/async/security-defined';
|
|
6
|
+
function getRefPointer(ref) {
|
|
7
|
+
const hashIndex = ref.indexOf('#');
|
|
8
|
+
return hashIndex === -1 ? ref : ref.slice(hashIndex);
|
|
9
|
+
}
|
|
10
|
+
function pointsToSecurityScheme(pointer) {
|
|
11
|
+
if (!pointer.startsWith(SECURITY_SCHEMES_POINTER))
|
|
12
|
+
return false;
|
|
13
|
+
const schemeName = pointer.slice(SECURITY_SCHEMES_POINTER.length);
|
|
14
|
+
return schemeName !== '' && !schemeName.includes('/');
|
|
15
|
+
}
|
|
16
|
+
export const SecurityDefined = () => {
|
|
17
|
+
const references = [];
|
|
18
|
+
let rootServers;
|
|
19
|
+
let rootServersFrom;
|
|
20
|
+
let rootOperations;
|
|
21
|
+
let rootOperationsFrom;
|
|
22
|
+
let rootOperationsLocation;
|
|
23
|
+
const isOperationSecuredByServers = (operation, resolve, resolveFrom) => {
|
|
24
|
+
const channelRef = operation.channel;
|
|
25
|
+
const resolvedChannel = isRef(channelRef)
|
|
26
|
+
? resolve(channelRef, resolveFrom)
|
|
27
|
+
: undefined;
|
|
28
|
+
const channel = isRef(channelRef)
|
|
29
|
+
? resolvedChannel?.node
|
|
30
|
+
: channelRef;
|
|
31
|
+
const channelServers = channel?.servers;
|
|
32
|
+
let applicableServers;
|
|
33
|
+
let serversFrom;
|
|
34
|
+
if (channelServers && channelServers.length > 0) {
|
|
35
|
+
applicableServers = channelServers;
|
|
36
|
+
serversFrom = resolvedChannel?.location?.source.absoluteRef ?? resolveFrom;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
applicableServers = rootServers ? Object.values(rootServers) : [];
|
|
40
|
+
serversFrom = rootServersFrom;
|
|
41
|
+
}
|
|
42
|
+
if (applicableServers.length === 0)
|
|
43
|
+
return false;
|
|
44
|
+
return applicableServers.every((server) => {
|
|
45
|
+
const serverNode = isRef(server) ? resolve(server, serversFrom).node : server;
|
|
46
|
+
return hasSecurityRequirements(serverNode);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
return {
|
|
50
|
+
Root: {
|
|
51
|
+
enter(root, { location, resolve }) {
|
|
52
|
+
const serversNode = root?.servers;
|
|
53
|
+
if (isRef(serversNode)) {
|
|
54
|
+
const resolvedServers = resolve(serversNode);
|
|
55
|
+
rootServers = resolvedServers.node ?? undefined;
|
|
56
|
+
rootServersFrom = resolvedServers.location?.source.absoluteRef;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
rootServers = serversNode;
|
|
60
|
+
rootServersFrom = undefined;
|
|
61
|
+
}
|
|
62
|
+
const operationsNode = root?.operations;
|
|
63
|
+
if (isRef(operationsNode)) {
|
|
64
|
+
const resolvedOperations = resolve(operationsNode);
|
|
65
|
+
rootOperations = resolvedOperations.node ?? undefined;
|
|
66
|
+
rootOperationsFrom = resolvedOperations.location?.source.absoluteRef;
|
|
67
|
+
rootOperationsLocation = resolvedOperations.location;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
rootOperations = operationsNode;
|
|
71
|
+
rootOperationsFrom = undefined;
|
|
72
|
+
rootOperationsLocation = location.child(['operations']);
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
leave(_root, { report, resolve }) {
|
|
76
|
+
for (const reference of references) {
|
|
77
|
+
const checkPointer = reference.local || reference.refPointer.startsWith(COMPONENTS_POINTER);
|
|
78
|
+
if (checkPointer && !pointsToSecurityScheme(reference.refPointer)) {
|
|
79
|
+
report({
|
|
80
|
+
message: `Security scheme \`$ref\` must point to \`#/components/securitySchemes\`.`,
|
|
81
|
+
location: reference.location.key(),
|
|
82
|
+
reference: REFERENCE,
|
|
83
|
+
});
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (!reference.resolved) {
|
|
87
|
+
report({
|
|
88
|
+
message: `There is no \`${reference.name}\` security scheme defined.`,
|
|
89
|
+
location: reference.location.key(),
|
|
90
|
+
reference: REFERENCE,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (rootOperations && rootOperationsLocation) {
|
|
95
|
+
const operationsLocation = rootOperationsLocation;
|
|
96
|
+
for (const [opName, opRef] of Object.entries(rootOperations)) {
|
|
97
|
+
let operation;
|
|
98
|
+
let resolveFrom;
|
|
99
|
+
if (isRef(opRef)) {
|
|
100
|
+
const resolvedOperation = resolve(opRef, rootOperationsFrom);
|
|
101
|
+
operation = resolvedOperation.node;
|
|
102
|
+
resolveFrom = resolvedOperation.location?.source.absoluteRef;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
operation = opRef;
|
|
106
|
+
resolveFrom = rootOperationsFrom;
|
|
107
|
+
}
|
|
108
|
+
if (!operation)
|
|
109
|
+
continue;
|
|
110
|
+
if (isAsyncOperationSecured(operation, resolve, resolveFrom))
|
|
111
|
+
continue;
|
|
112
|
+
if (isOperationSecuredByServers(operation, resolve, resolveFrom))
|
|
113
|
+
continue;
|
|
114
|
+
report({
|
|
115
|
+
message: `Every operation should have security defined on it.`,
|
|
116
|
+
location: operationsLocation.child([opName]).key(),
|
|
117
|
+
reference: REFERENCE,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
SecuritySchemeList: {
|
|
124
|
+
enter(list, { location, resolve }) {
|
|
125
|
+
if (!list)
|
|
126
|
+
return;
|
|
127
|
+
for (let i = 0; i < list.length; i++) {
|
|
128
|
+
const item = list[i];
|
|
129
|
+
if (!isRef(item))
|
|
130
|
+
continue;
|
|
131
|
+
const itemLocation = location.child([i]);
|
|
132
|
+
const resolved = resolve(item);
|
|
133
|
+
const refPointer = getRefPointer(item.$ref);
|
|
134
|
+
const name = refPointer.split('/').pop() ?? item.$ref;
|
|
135
|
+
references.push({
|
|
136
|
+
location: itemLocation,
|
|
137
|
+
name,
|
|
138
|
+
refPointer,
|
|
139
|
+
resolved: resolved.node != null,
|
|
140
|
+
local: item.$ref.startsWith('#'),
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=security-defined.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-defined.js","sourceRoot":"","sources":["../../../src/rules/async3/security-defined.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-duplicated-enum-values.d.ts","sourceRoot":"","sources":["../../../src/rules/common/no-duplicated-enum-values.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGjG,eAAO,MAAM,sBAAsB,EAC/B,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,WAiBH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const NoDuplicatedEnumValues = () => {
|
|
2
|
+
return {
|
|
3
|
+
Schema(schema, { report, location }) {
|
|
4
|
+
if (!Array.isArray(schema.enum))
|
|
5
|
+
return;
|
|
6
|
+
const seenValues = new Set();
|
|
7
|
+
for (const [index, value] of schema.enum.entries()) {
|
|
8
|
+
if (seenValues.has(value)) {
|
|
9
|
+
report({
|
|
10
|
+
message: `Duplicated enum value found: '${value}'.`,
|
|
11
|
+
location: location.child(['enum', index]),
|
|
12
|
+
reference: 'https://redocly.com/docs/cli/rules/common/no-duplicated-enum-values',
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
seenValues.add(value);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=no-duplicated-enum-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-duplicated-enum-values.js","sourceRoot":"","sources":["../../../src/rules/common/no-duplicated-enum-values.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,sBAAsB,GAKjB,GAAG,EAAE;IACrB,OAAO;QACL,MAAM,CAAC,MAA+B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAe;YACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO;YACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnD,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC;wBACL,OAAO,EAAE,iCAAiC,KAAK,IAAI;wBACnD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;wBACzC,SAAS,EAAE,qEAAqE;qBACjF,CAAC,CAAC;gBACL,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-required-schema-properties-undefined.d.ts","sourceRoot":"","sources":["../../../src/rules/common/no-required-schema-properties-undefined.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"no-required-schema-properties-undefined.d.ts","sourceRoot":"","sources":["../../../src/rules/common/no-required-schema-properties-undefined.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAIjG,eAAO,MAAM,mCAAmC,EAC5C,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,WA8CH,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isNotEmptyArray } from '../../utils/is-not-empty-array.js';
|
|
3
|
-
import { resolveSchema } from '../utils.js';
|
|
1
|
+
import { resolveSchema, schemaHasProperty } from '../utils.js';
|
|
4
2
|
export const NoRequiredSchemaPropertiesUndefined = () => {
|
|
5
3
|
const parents = [];
|
|
6
4
|
return {
|
|
@@ -12,27 +10,6 @@ export const NoRequiredSchemaPropertiesUndefined = () => {
|
|
|
12
10
|
parents.push(currentSchema);
|
|
13
11
|
if (!currentSchema.required)
|
|
14
12
|
return;
|
|
15
|
-
const hasProperty = (schemaOrRef, propertyName, visited, resolveFrom) => {
|
|
16
|
-
const { schema, location } = resolveSchema(schemaOrRef, ctx, resolveFrom);
|
|
17
|
-
if (!schema || visited.has(schema))
|
|
18
|
-
return false;
|
|
19
|
-
visited.add(schema);
|
|
20
|
-
if (schema.properties && getOwn(schema.properties, propertyName) !== undefined) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
if (schema.allOf?.some((s) => hasProperty(s, propertyName, visited, location))) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
if (isNotEmptyArray(schema.anyOf) &&
|
|
27
|
-
schema.anyOf.every((s) => hasProperty(s, propertyName, new Set(visited), location))) {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
if (isNotEmptyArray(schema.oneOf) &&
|
|
31
|
-
schema.oneOf.every((s) => hasProperty(s, propertyName, new Set(visited), location))) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
return false;
|
|
35
|
-
};
|
|
36
13
|
const isCompositionChild = (parent, child) => {
|
|
37
14
|
const matchesChild = (s) => resolveSchema(s, ctx).schema === child;
|
|
38
15
|
return !!(parent.allOf?.some(matchesChild) ||
|
|
@@ -49,8 +26,8 @@ export const NoRequiredSchemaPropertiesUndefined = () => {
|
|
|
49
26
|
};
|
|
50
27
|
const compositionRoot = findCompositionRoot(parents.length - 2, currentSchema);
|
|
51
28
|
for (const [i, requiredProperty] of currentSchema.required.entries()) {
|
|
52
|
-
if (!
|
|
53
|
-
!
|
|
29
|
+
if (!schemaHasProperty(currentSchema, requiredProperty, ctx) &&
|
|
30
|
+
!schemaHasProperty(compositionRoot, requiredProperty, ctx)) {
|
|
54
31
|
ctx.report({
|
|
55
32
|
message: `Required property '${requiredProperty}' is not defined.`,
|
|
56
33
|
location: ctx.location.child(['required', i]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-required-schema-properties-undefined.js","sourceRoot":"","sources":["../../../src/rules/common/no-required-schema-properties-undefined.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"no-required-schema-properties-undefined.js","sourceRoot":"","sources":["../../../src/rules/common/no-required-schema-properties-undefined.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,CAAC,MAAM,mCAAmC,GAK9B,GAAG,EAAE;IACrB,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,OAAO;QACL,MAAM,EAAE;YACN,KAAK,CAAC,CAAY;gBAChB,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YACD,KAAK,CAAC,aAAwB,EAAE,GAAgB;gBAC9C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,QAAQ;oBAAE,OAAO;gBAEpC,MAAM,kBAAkB,GAAG,CAAC,MAAiB,EAAE,KAAgB,EAAW,EAAE;oBAC1E,MAAM,YAAY,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC;oBAC9E,OAAO,CAAC,CAAC,CACP,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;wBAChC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;wBAChC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CACjC,CAAC;gBACJ,CAAC,CAAC;gBAEF,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAE,KAAgB,EAAyB,EAAE;oBACjF,IAAI,CAAC,GAAG,CAAC;wBAAE,OAAO,SAAS,CAAC;oBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC1B,OAAO,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC;wBACtC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;wBAChD,CAAC,CAAC,SAAS,CAAC;gBAChB,CAAC,CAAC;gBAEF,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBAE/E,KAAK,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;oBACrE,IACE,CAAC,iBAAiB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC;wBACxD,CAAC,iBAAiB,CAAC,eAAe,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAC1D,CAAC;wBACD,GAAG,CAAC,MAAM,CAAC;4BACT,OAAO,EAAE,sBAAsB,gBAAgB,mBAAmB;4BAClE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;4BAC7C,SAAS,EACP,mFAAmF;yBACtF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-unsafe-markdown.d.ts","sourceRoot":"","sources":["../../../src/rules/common/no-unsafe-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGjG,eAAO,MAAM,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WA2B9E,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const NoUnsafeMarkdown = () => {
|
|
2
|
+
return {
|
|
3
|
+
any(node, { report, location }) {
|
|
4
|
+
if (typeof node.description !== 'string')
|
|
5
|
+
return;
|
|
6
|
+
if (/<script\b/i.test(node.description)) {
|
|
7
|
+
report({
|
|
8
|
+
message: "Markdown descriptions must not contain '<script>' tags.",
|
|
9
|
+
location: location.child(['description']),
|
|
10
|
+
reference: 'https://redocly.com/docs/cli/rules/common/no-unsafe-markdown',
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
if (/<[a-z][^>]*\bon[a-z]+\s*=/i.test(node.description)) {
|
|
14
|
+
report({
|
|
15
|
+
message: 'Markdown descriptions must not contain HTML event handler attributes.',
|
|
16
|
+
location: location.child(['description']),
|
|
17
|
+
reference: 'https://redocly.com/docs/cli/rules/common/no-unsafe-markdown',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (/(?:\]\(\s*|\b(?:href|src)\s*=\s*["']?\s*)javascript:/i.test(node.description)) {
|
|
21
|
+
report({
|
|
22
|
+
message: "Markdown descriptions must not contain 'javascript:' URLs.",
|
|
23
|
+
location: location.child(['description']),
|
|
24
|
+
reference: 'https://redocly.com/docs/cli/rules/common/no-unsafe-markdown',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=no-unsafe-markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-unsafe-markdown.js","sourceRoot":"","sources":["../../../src/rules/common/no-unsafe-markdown.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAgE,GAAG,EAAE;IAChG,OAAO;QACL,GAAG,CAAC,IAA6B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAe;YAClE,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;gBAAE,OAAO;YACjD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC;oBACL,OAAO,EAAE,yDAAyD;oBAClE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;oBACzC,SAAS,EAAE,8DAA8D;iBAC1E,CAAC,CAAC;YACL,CAAC;YACD,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC;oBACL,OAAO,EAAE,uEAAuE;oBAChF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;oBACzC,SAAS,EAAE,8DAA8D;iBAC1E,CAAC,CAAC;YACL,CAAC;YACD,IAAI,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnF,MAAM,CAAC;oBACL,OAAO,EAAE,4DAA4D;oBACrE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;oBACzC,SAAS,EAAE,8DAA8D;iBAC1E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/oas2/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/oas2/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkDtD,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,UAAU,CAiDzC,CAAC;AAEF,eAAO,MAAM,aAAa,IAAK,CAAC"}
|
package/lib/rules/oas2/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { InfoContact } from '../common/info-contact.js';
|
|
|
3
3
|
import { InfoLicenseStrict } from '../common/info-license-strict.js';
|
|
4
4
|
import { InfoLicense } from '../common/info-license.js';
|
|
5
5
|
import { NoAmbiguousPaths } from '../common/no-ambiguous-paths.js';
|
|
6
|
+
import { NoDuplicatedEnumValues } from '../common/no-duplicated-enum-values.js';
|
|
6
7
|
import { NoDuplicatedTagNames } from '../common/no-duplicated-tag-names.js';
|
|
7
8
|
import { NoEnumTypeMismatch } from '../common/no-enum-type-mismatch.js';
|
|
8
9
|
import { NoHttpVerbsInPaths } from '../common/no-http-verbs-in-paths.js';
|
|
@@ -13,6 +14,7 @@ import { NoPathTrailingSlash } from '../common/no-path-trailing-slash.js';
|
|
|
13
14
|
import { NoRequiredSchemaPropertiesUndefined } from '../common/no-required-schema-properties-undefined.js';
|
|
14
15
|
import { NoSchemaTypeMismatch } from '../common/no-schema-type-mismatch.js';
|
|
15
16
|
import { NoUnresolvedRefs } from '../common/no-unresolved-refs.js';
|
|
17
|
+
import { NoUnsafeMarkdown } from '../common/no-unsafe-markdown.js';
|
|
16
18
|
import { Operation2xxResponse } from '../common/operation-2xx-response.js';
|
|
17
19
|
import { Operation4xxResponse } from '../common/operation-4xx-response.js';
|
|
18
20
|
import { OperationDescription } from '../common/operation-description.js';
|
|
@@ -89,6 +91,8 @@ export const rules = {
|
|
|
89
91
|
'spec-strict-refs': SpecStrictRefs,
|
|
90
92
|
'no-required-schema-properties-undefined': NoRequiredSchemaPropertiesUndefined,
|
|
91
93
|
'no-schema-type-mismatch': NoSchemaTypeMismatch,
|
|
94
|
+
'no-duplicated-enum-values': NoDuplicatedEnumValues,
|
|
95
|
+
'no-unsafe-markdown': NoUnsafeMarkdown,
|
|
92
96
|
'no-duplicated-tag-names': NoDuplicatedTagNames,
|
|
93
97
|
};
|
|
94
98
|
export const preprocessors = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/oas2/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,0DAA0D,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,KAAK,GAA4B;IAC5C,MAAM,EAAE,MAAkB;IAC1B,4BAA4B,EAAE,uBAAmC;IACjE,+BAA+B,EAAE,0BAAsC;IACvE,cAAc,EAAE,WAAuB;IACvC,cAAc,EAAE,WAAuB;IACvC,qBAAqB,EAAE,iBAA6B;IACpD,iBAAiB,EAAE,cAA0B;IAC7C,mBAAmB,EAAE,gBAA4B;IACjD,kBAAkB,EAAE,cAA0B;IAC9C,uBAAuB,EAAE,kBAA8B;IACvD,4BAA4B,EAAE,wBAAoC;IAClE,wBAAwB,EAAE,mBAA+B;IACzD,wBAAwB,EAAE,oBAAgC;IAC1D,wBAAwB,EAAE,oBAAgC;IAC1D,UAAU,EAAE,UAAsB;IAClC,8BAA8B,EAAE,iBAA6B;IAC7D,6BAA6B,EAAE,yBAAqC;IACpE,yBAAyB,EAAE,iBAA6B;IACxD,uBAAuB,EAAE,mBAA+B;IACxD,6BAA6B,EAAE,wBAAoC;IACnE,gCAAgC,EAAE,kBAA8B;IAChE,uBAAuB,EAAE,oBAAgC;IACzD,mBAAmB,EAAE,gBAA4B;IACjD,uBAAuB,EAAE,oBAAgC;IACzD,wBAAwB,EAAE,mBAA+B;IACzD,qBAAqB,EAAE,iBAA6B;IACpD,uBAAuB,EAAE,oBAAgC;IACzD,wBAAwB,EAAE,oBAAgC;IAC1D,kBAAkB,EAAE,eAA2B;IAC/C,yBAAyB,EAAE,qBAAiC;IAC5D,oBAAoB,EAAE,gBAA4B;IAClD,oBAAoB,EAAE,gBAA4B;IAClD,oBAAoB,EAAE,gBAA4B;IAClD,uBAAuB,EAAE,kBAA8B;IACvD,wBAAwB,EAAE,kBAA8B;IACxD,mBAAmB,EAAE,eAA2B;IAChD,oBAAoB,EAAE,gBAA4B;IAClD,qBAAqB,EAAE,iBAA6B;IACpD,0BAA0B,EAAE,sBAAkC;IAC9D,4BAA4B,EAAE,wBAAoC;IAClE,iCAAiC,EAAE,4BAAwC;IAC3E,6CAA6C,EAAE,sCAAkD;IACjG,kBAAkB,EAAE,cAA0B;IAC9C,yCAAyC,EAAE,mCAA+C;IAC1F,yBAAyB,EAAE,oBAAgC;IAC3D,yBAAyB,EAAE,oBAAgC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/oas2/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqEtD,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,UAAU,CAoEzC,CAAC;AAEF,eAAO,MAAM,aAAa,IAAK,CAAC"}
|
package/lib/rules/oas3/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { InfoContact } from '../common/info-contact.js';
|
|
|
3
3
|
import { InfoLicenseStrict } from '../common/info-license-strict.js';
|
|
4
4
|
import { InfoLicense } from '../common/info-license.js';
|
|
5
5
|
import { NoAmbiguousPaths } from '../common/no-ambiguous-paths.js';
|
|
6
|
+
import { NoDuplicatedEnumValues } from '../common/no-duplicated-enum-values.js';
|
|
6
7
|
import { NoDuplicatedTagNames } from '../common/no-duplicated-tag-names.js';
|
|
7
8
|
import { NoEnumTypeMismatch } from '../common/no-enum-type-mismatch.js';
|
|
8
9
|
import { NoHttpVerbsInPaths } from '../common/no-http-verbs-in-paths.js';
|
|
@@ -14,6 +15,7 @@ import { NoPathTrailingSlash } from '../common/no-path-trailing-slash.js';
|
|
|
14
15
|
import { NoRequiredSchemaPropertiesUndefined } from '../common/no-required-schema-properties-undefined.js';
|
|
15
16
|
import { NoSchemaTypeMismatch } from '../common/no-schema-type-mismatch.js';
|
|
16
17
|
import { NoUnresolvedRefs } from '../common/no-unresolved-refs.js';
|
|
18
|
+
import { NoUnsafeMarkdown } from '../common/no-unsafe-markdown.js';
|
|
17
19
|
import { Operation2xxResponse } from '../common/operation-2xx-response.js';
|
|
18
20
|
import { Operation4xxResponse } from '../common/operation-4xx-response.js';
|
|
19
21
|
import { OperationDescription } from '../common/operation-description.js';
|
|
@@ -121,6 +123,8 @@ export const rules = {
|
|
|
121
123
|
'array-parameter-serialization': ArrayParameterSerialization,
|
|
122
124
|
'no-required-schema-properties-undefined': NoRequiredSchemaPropertiesUndefined,
|
|
123
125
|
'no-schema-type-mismatch': NoSchemaTypeMismatch,
|
|
126
|
+
'no-duplicated-enum-values': NoDuplicatedEnumValues,
|
|
127
|
+
'no-unsafe-markdown': NoUnsafeMarkdown,
|
|
124
128
|
'no-duplicated-tag-names': NoDuplicatedTagNames,
|
|
125
129
|
'nullable-type-sibling': NullableTypeSibling,
|
|
126
130
|
'spec-no-invalid-tag-parents': SpecNoInvalidTagParents,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/oas3/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/oas3/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-4xx-problem-details-rfc7807.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/operation-4xx-problem-details-rfc7807.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"operation-4xx-problem-details-rfc7807.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/operation-4xx-problem-details-rfc7807.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAWlD;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,QA6C/C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { validateDefinedAndNonEmpty } from '../utils.js';
|
|
1
|
+
import { missingRequiredField, resolveSchema, schemaHasProperty, validateDefinedAndNonEmpty, } from '../utils.js';
|
|
2
|
+
const reference = 'https://redocly.com/docs/cli/rules/oas/operation-4xx-problem-details-rfc7807';
|
|
2
3
|
/**
|
|
3
4
|
* Validation according to rfc7807 - https://datatracker.ietf.org/doc/html/rfc7807
|
|
4
5
|
*/
|
|
@@ -13,7 +14,7 @@ export const Operation4xxProblemDetailsRfc7807 = () => {
|
|
|
13
14
|
report({
|
|
14
15
|
message: 'Response `4xx` must have content-type `application/problem+json`.',
|
|
15
16
|
location: location.key(),
|
|
16
|
-
reference
|
|
17
|
+
reference,
|
|
17
18
|
});
|
|
18
19
|
},
|
|
19
20
|
MediaType: {
|
|
@@ -21,26 +22,23 @@ export const Operation4xxProblemDetailsRfc7807 = () => {
|
|
|
21
22
|
return key !== 'application/problem+json';
|
|
22
23
|
},
|
|
23
24
|
enter(media, ctx) {
|
|
24
|
-
validateDefinedAndNonEmpty({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
ctx,
|
|
42
|
-
reference: 'https://redocly.com/docs/cli/rules/oas/operation-4xx-problem-details-rfc7807',
|
|
43
|
-
});
|
|
25
|
+
validateDefinedAndNonEmpty({ fieldName: 'schema', value: media, ctx, reference });
|
|
26
|
+
if (!media.schema)
|
|
27
|
+
return;
|
|
28
|
+
const { schema, location: schemaLocation } = resolveSchema(media.schema, ctx, ctx.location.child('schema'));
|
|
29
|
+
if (!schema || !schemaLocation)
|
|
30
|
+
return;
|
|
31
|
+
for (const fieldName of ['type', 'title']) {
|
|
32
|
+
if (!schemaHasProperty(media.schema, fieldName, ctx)) {
|
|
33
|
+
ctx.report({
|
|
34
|
+
message: missingRequiredField('SchemaProperties', fieldName),
|
|
35
|
+
location: schema.properties
|
|
36
|
+
? schemaLocation.child(['properties', fieldName]).key()
|
|
37
|
+
: schemaLocation.key(),
|
|
38
|
+
reference,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
44
42
|
},
|
|
45
43
|
},
|
|
46
44
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-4xx-problem-details-rfc7807.js","sourceRoot":"","sources":["../../../src/rules/oas3/operation-4xx-problem-details-rfc7807.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"operation-4xx-problem-details-rfc7807.js","sourceRoot":"","sources":["../../../src/rules/oas3/operation-4xx-problem-details-rfc7807.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,MAAM,SAAS,GAAG,8EAA8E,CAAC;AAEjG;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAa,GAAG,EAAE;IAC9D,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,CAAC,CAAC,EAAE,GAAoB;gBAC1B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAe;gBAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,0BAA0B,CAAC;oBACpE,MAAM,CAAC;wBACL,OAAO,EAAE,mEAAmE;wBAC5E,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE;wBACxB,SAAS;qBACV,CAAC,CAAC;YACP,CAAC;YACD,SAAS,EAAE;gBACT,IAAI,CAAC,CAAC,EAAE,GAAoB;oBAC1B,OAAO,GAAG,KAAK,0BAA0B,CAAC;gBAC5C,CAAC;gBACD,KAAK,CAAC,KAAK,EAAE,GAAgB;oBAC3B,0BAA0B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;oBAElF,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,OAAO;oBAE1B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,aAAa,CACxD,KAAK,CAAC,MAAM,EACZ,GAAG,EACH,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC7B,CAAC;oBACF,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc;wBAAE,OAAO;oBAEvC,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC1C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;4BACrD,GAAG,CAAC,MAAM,CAAC;gCACT,OAAO,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,SAAS,CAAC;gCAC5D,QAAQ,EAAE,MAAM,CAAC,UAAU;oCACzB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;oCACvD,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE;gCACxB,SAAS;6BACV,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-discriminator-defaultMapping.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/spec-discriminator-defaultMapping.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spec-discriminator-defaultMapping.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/spec-discriminator-defaultMapping.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAIlD,eAAO,MAAM,+BAA+B,EAAE,QAqE7C,CAAC"}
|
|
@@ -16,8 +16,8 @@ export const SpecDiscriminatorDefaultMapping = () => {
|
|
|
16
16
|
const defaultMapping = schema.discriminator?.defaultMapping;
|
|
17
17
|
if (defaultMapping === undefined) {
|
|
18
18
|
const visited = new Set();
|
|
19
|
-
const isDiscriminatorPropertyRequired = (schemaOrRef,
|
|
20
|
-
const resolved = resolveSchema(schemaOrRef, ctx,
|
|
19
|
+
const isDiscriminatorPropertyRequired = (schemaOrRef, location) => {
|
|
20
|
+
const resolved = resolveSchema(schemaOrRef, ctx, location);
|
|
21
21
|
if (!resolved.schema || visited.has(resolved.schema)) {
|
|
22
22
|
return true;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-discriminator-defaultMapping.js","sourceRoot":"","sources":["../../../src/rules/oas3/spec-discriminator-defaultMapping.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spec-discriminator-defaultMapping.js","sourceRoot":"","sources":["../../../src/rules/oas3/spec-discriminator-defaultMapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,+BAA+B,GAAa,GAAG,EAAE;IAC5D,IAAI,qBAAqB,GAAa,EAAE,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,CAAC,IAAI;gBACR,uGAAuG;gBACvG,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;SACF;QAED,MAAM,EAAE;YACN,KAAK,CAAC,MAAM,EAAE,GAAgB;gBAC5B,MAAM,yBAAyB,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;gBACrE,IAAI,CAAC,yBAAyB;oBAAE,OAAO;gBAEvC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;gBAE5D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;oBAErD,MAAM,+BAA+B,GAAG,CACtC,WAAkD,EAClD,QAAmB,EACV,EAAE;wBACX,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;4BACrD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAC7B,IACE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC;4BAC7D,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,+BAA+B,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CACtD;4BACD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,+BAA+B,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CACtD;4BACD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,+BAA+B,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CACtD,EACD,CAAC;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC;oBAEF,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,GAAG,CAAC,MAAM,CAAC;4BACT,OAAO,EAAE,yCAAyC,yBAAyB,wCAAwC;4BACnH,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;4BAC7C,SAAS,EAAE,0EAA0E;yBACtF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IACE,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS;wBACxD,CAAC,qBAAqB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC/C,CAAC;wBACD,GAAG,CAAC,MAAM,CAAC;4BACT,OAAO,EAAE,yBAAyB,cAAc,mDAAmD;4BACnG,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;4BACjE,SAAS,EAAE,0EAA0E;yBACtF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
package/lib/rules/utils.d.ts
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import type { Context as AjvContext } from '@redocly/ajv/dist/2020.js';
|
|
2
2
|
import { Location } from '../ref-utils.js';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { Async2Operation } from '../typings/asyncapi.js';
|
|
4
|
+
import type { Async3Operation } from '../typings/asyncapi3.js';
|
|
5
|
+
import type { Oas3Schema, Oas3Tag, Oas3_2Tag, Oas3_1Schema, OasRef, Referenced } from '../typings/openapi.js';
|
|
6
|
+
import type { Oas2Schema, Oas2Tag } from '../typings/swagger.js';
|
|
5
7
|
import type { NonUndefined, UserContext } from '../walk.js';
|
|
6
|
-
import type
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import { type AjvValidator } from './ajv.js';
|
|
9
|
+
export type AnySchema = Oas3Schema | Oas3_1Schema | (Oas2Schema & {
|
|
10
|
+
anyOf?: undefined;
|
|
11
|
+
oneOf?: undefined;
|
|
12
|
+
});
|
|
13
|
+
export declare const resolveSchema: <T extends NonUndefined>(schemaOrRef: Referenced<T> | undefined, ctx: UserContext, location?: Location) => {
|
|
14
|
+
schema?: T;
|
|
15
|
+
location?: Location;
|
|
10
16
|
};
|
|
17
|
+
export declare const schemaHasProperty: (schemaOrRef: Referenced<AnySchema> | undefined, propertyName: string, ctx: UserContext, visited?: Set<AnySchema | OasRef>, resolveLocation?: Location) => boolean;
|
|
11
18
|
export declare function oasTypeOf(value: unknown): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "integer" | "array" | "null";
|
|
19
|
+
type SecuredOperation = Async2Operation | Async3Operation;
|
|
20
|
+
export declare function hasSecurityRequirements(node: {
|
|
21
|
+
security?: unknown;
|
|
22
|
+
} | undefined): boolean;
|
|
23
|
+
export declare function isAsyncOperationSecured(operation: SecuredOperation | undefined, resolve: UserContext['resolve'], resolveFrom?: string): boolean;
|
|
12
24
|
/**
|
|
13
25
|
* Checks if value matches specified JSON schema type
|
|
14
26
|
*
|
|
@@ -57,4 +69,5 @@ export declare function validateResponseCodes({ responseCodes, codeRange, report
|
|
|
57
69
|
reference?: string;
|
|
58
70
|
}): void;
|
|
59
71
|
export declare function getTagName(tag: Oas2Tag | Oas3Tag | Oas3_2Tag, ignoreCase: boolean): string;
|
|
72
|
+
export {};
|
|
60
73
|
//# sourceMappingURL=utils.d.ts.map
|
package/lib/rules/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/rules/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,EAAS,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAEV,UAAU,EACV,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/rules/utils.ts"],"names":[],"mappings":"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"}
|