@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.
Files changed (79) hide show
  1. package/lib/bundle/bundle.d.ts +2 -2
  2. package/lib/bundle/bundle.d.ts.map +1 -1
  3. package/lib/config/all.d.ts.map +1 -1
  4. package/lib/config/all.js +18 -0
  5. package/lib/config/all.js.map +1 -1
  6. package/lib/config/minimal.d.ts.map +1 -1
  7. package/lib/config/minimal.js +18 -0
  8. package/lib/config/minimal.js.map +1 -1
  9. package/lib/config/recommended-strict.d.ts.map +1 -1
  10. package/lib/config/recommended-strict.js +18 -0
  11. package/lib/config/recommended-strict.js.map +1 -1
  12. package/lib/config/recommended.d.ts.map +1 -1
  13. package/lib/config/recommended.js +18 -0
  14. package/lib/config/recommended.js.map +1 -1
  15. package/lib/config/spec.d.ts.map +1 -1
  16. package/lib/config/spec.js +18 -0
  17. package/lib/config/spec.js.map +1 -1
  18. package/lib/index.d.ts +1 -1
  19. package/lib/index.d.ts.map +1 -1
  20. package/lib/lint.d.ts +2 -2
  21. package/lib/lint.d.ts.map +1 -1
  22. package/lib/rules/arazzo/index.d.ts.map +1 -1
  23. package/lib/rules/arazzo/index.js +4 -0
  24. package/lib/rules/arazzo/index.js.map +1 -1
  25. package/lib/rules/async2/index.d.ts.map +1 -1
  26. package/lib/rules/async2/index.js +6 -0
  27. package/lib/rules/async2/index.js.map +1 -1
  28. package/lib/rules/async2/security-defined.d.ts +3 -0
  29. package/lib/rules/async2/security-defined.d.ts.map +1 -0
  30. package/lib/rules/async2/security-defined.js +86 -0
  31. package/lib/rules/async2/security-defined.js.map +1 -0
  32. package/lib/rules/async3/index.d.ts.map +1 -1
  33. package/lib/rules/async3/index.js +6 -0
  34. package/lib/rules/async3/index.js.map +1 -1
  35. package/lib/rules/async3/security-defined.d.ts +3 -0
  36. package/lib/rules/async3/security-defined.d.ts.map +1 -0
  37. package/lib/rules/async3/security-defined.js +147 -0
  38. package/lib/rules/async3/security-defined.js.map +1 -0
  39. package/lib/rules/common/no-duplicated-enum-values.d.ts +3 -0
  40. package/lib/rules/common/no-duplicated-enum-values.d.ts.map +1 -0
  41. package/lib/rules/common/no-duplicated-enum-values.js +20 -0
  42. package/lib/rules/common/no-duplicated-enum-values.js.map +1 -0
  43. package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +1 -1
  44. package/lib/rules/common/no-required-schema-properties-undefined.js +3 -26
  45. package/lib/rules/common/no-required-schema-properties-undefined.js.map +1 -1
  46. package/lib/rules/common/no-unsafe-markdown.d.ts +3 -0
  47. package/lib/rules/common/no-unsafe-markdown.d.ts.map +1 -0
  48. package/lib/rules/common/no-unsafe-markdown.js +30 -0
  49. package/lib/rules/common/no-unsafe-markdown.js.map +1 -0
  50. package/lib/rules/oas2/index.d.ts.map +1 -1
  51. package/lib/rules/oas2/index.js +4 -0
  52. package/lib/rules/oas2/index.js.map +1 -1
  53. package/lib/rules/oas3/index.d.ts.map +1 -1
  54. package/lib/rules/oas3/index.js +4 -0
  55. package/lib/rules/oas3/index.js.map +1 -1
  56. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts.map +1 -1
  57. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +20 -22
  58. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js.map +1 -1
  59. package/lib/rules/oas3/spec-discriminator-defaultMapping.d.ts.map +1 -1
  60. package/lib/rules/oas3/spec-discriminator-defaultMapping.js +2 -2
  61. package/lib/rules/oas3/spec-discriminator-defaultMapping.js.map +1 -1
  62. package/lib/rules/utils.d.ts +19 -6
  63. package/lib/rules/utils.d.ts.map +1 -1
  64. package/lib/rules/utils.js +44 -5
  65. package/lib/rules/utils.js.map +1 -1
  66. package/lib/types/redocly-yaml.d.ts +5 -5
  67. package/lib/types/redocly-yaml.d.ts.map +1 -1
  68. package/lib/types/redocly-yaml.js +12 -0
  69. package/lib/types/redocly-yaml.js.map +1 -1
  70. package/lib/typings/asyncapi.d.ts +65 -3
  71. package/lib/typings/asyncapi.d.ts.map +1 -1
  72. package/lib/typings/asyncapi3.d.ts +46 -22
  73. package/lib/typings/asyncapi3.d.ts.map +1 -1
  74. package/lib/utils/types.d.ts +1 -1
  75. package/lib/utils/types.d.ts.map +1 -1
  76. package/lib/visitors.d.ts +15 -3
  77. package/lib/visitors.d.ts.map +1 -1
  78. package/lib/visitors.js.map +1 -1
  79. 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,3 @@
1
+ import type { Arazzo1Rule, Async2Rule, Async3Rule, Oas2Rule, Oas3Rule } from '../../visitors.js';
2
+ export declare const NoDuplicatedEnumValues: Oas3Rule | Oas2Rule | Async3Rule | Async2Rule | Arazzo1Rule;
3
+ //# sourceMappingURL=no-duplicated-enum-values.d.ts.map
@@ -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":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AASjG,eAAO,MAAM,mCAAmC,EAC5C,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,WAiFH,CAAC"}
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 { getOwn } from '../../utils/get-own.js';
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 (!hasProperty(currentSchema, requiredProperty, new Set()) &&
53
- !hasProperty(compositionRoot, requiredProperty, new Set())) {
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":"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"}
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,3 @@
1
+ import type { Arazzo1Rule, Async2Rule, Async3Rule, Oas2Rule, Oas3Rule } from '../../visitors.js';
2
+ export declare const NoUnsafeMarkdown: Oas3Rule | Oas2Rule | Async3Rule | Async2Rule | Arazzo1Rule;
3
+ //# sourceMappingURL=no-unsafe-markdown.d.ts.map
@@ -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;AAgDtD,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,UAAU,CA+CzC,CAAC;AAEF,eAAO,MAAM,aAAa,IAAK,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"}
@@ -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":"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"}
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;AAmEtD,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,UAAU,CAkEzC,CAAC;AAEF,eAAO,MAAM,aAAa,IAAK,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"}
@@ -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;AAIlD;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,QA+C/C,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: 'https://redocly.com/docs/cli/rules/oas/operation-4xx-problem-details-rfc7807',
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
- fieldName: 'schema',
26
- value: media,
27
- ctx,
28
- reference: 'https://redocly.com/docs/cli/rules/oas/operation-4xx-problem-details-rfc7807',
29
- });
30
- },
31
- SchemaProperties(schema, ctx) {
32
- validateDefinedAndNonEmpty({
33
- fieldName: 'type',
34
- value: schema,
35
- ctx,
36
- reference: 'https://redocly.com/docs/cli/rules/oas/operation-4xx-problem-details-rfc7807',
37
- });
38
- validateDefinedAndNonEmpty({
39
- fieldName: 'title',
40
- value: schema,
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,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD;;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,EACP,8EAA8E;qBACjF,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;wBACzB,SAAS,EAAE,QAAQ;wBACnB,KAAK,EAAE,KAAK;wBACZ,GAAG;wBACH,SAAS,EACP,8EAA8E;qBACjF,CAAC,CAAC;gBACL,CAAC;gBACD,gBAAgB,CAAC,MAAM,EAAE,GAAgB;oBACvC,0BAA0B,CAAC;wBACzB,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,MAAM;wBACb,GAAG;wBACH,SAAS,EACP,8EAA8E;qBACjF,CAAC,CAAC;oBACH,0BAA0B,CAAC;wBACzB,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,MAAM;wBACb,GAAG;wBACH,SAAS,EACP,8EAA8E;qBACjF,CAAC,CAAC;gBACL,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
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":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAIlD,eAAO,MAAM,+BAA+B,EAAE,QAqE7C,CAAC"}
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, resolveFrom) => {
20
- const resolved = resolveSchema(schemaOrRef, ctx, resolveFrom);
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":"AAGA,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,WAAoB,EACX,EAAE;wBACX,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBAC9D,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"}
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"}
@@ -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 { Oas3Schema, Oas3Tag, Oas3_2Tag, Oas3_1Schema, Referenced } from '../typings/openapi.js';
4
- import type { Oas2Tag } from '../typings/swagger.js';
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 { AjvValidator } from './ajv.js';
7
- export declare const resolveSchema: <T extends NonUndefined>(schemaOrRef: Referenced<T> | undefined, ctx: UserContext, resolveFrom?: string) => {
8
- schema: T | undefined;
9
- location: string | undefined;
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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/rules/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/rules/utils.ts"],"names":[],"mappings":"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"}