@contractual/differs.openapi 0.1.0-beta.2 → 0.1.0-beta.4
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/dist/differ.d.ts.map +1 -1
- package/dist/differ.js +32 -2
- package/dist/differ.js.map +1 -1
- package/dist/property-addition.d.ts +9 -0
- package/dist/property-addition.d.ts.map +1 -0
- package/dist/property-addition.js +196 -0
- package/dist/property-addition.js.map +1 -0
- package/dist/structural.js +4 -4
- package/dist/structural.js.map +1 -1
- package/package.json +4 -4
package/dist/differ.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"differ.d.ts","sourceRoot":"","sources":["../src/differ.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAkB,UAAU,EAAa,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"differ.d.ts","sourceRoot":"","sources":["../src/differ.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAkB,UAAU,EAAa,MAAM,oBAAoB,CAAC;AAMhF;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAK/F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,UAAU,CAiBZ"}
|
package/dist/differ.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { assembleResult, classify, classifyPropertyAdded } from '@contractual/differs.core';
|
|
8
8
|
import { resolveOpenApiSpec } from './resolver.js';
|
|
9
9
|
import { diffStructural } from './structural.js';
|
|
10
|
+
import { classifyPropertyAddition, supportedDialect } from './property-addition.js';
|
|
10
11
|
/**
|
|
11
12
|
* Diff two OpenAPI specification files
|
|
12
13
|
*
|
|
@@ -28,10 +29,37 @@ export async function diffOpenApi(oldSpecPath, newSpecPath) {
|
|
|
28
29
|
*/
|
|
29
30
|
export function diffOpenApiObjects(oldSpec, newSpec) {
|
|
30
31
|
const rawChanges = diffStructural(oldSpec, newSpec);
|
|
31
|
-
|
|
32
|
+
const oldUsesNullable = typeof oldSpec.openapi === 'string' && oldSpec.openapi.startsWith('3.0.');
|
|
33
|
+
const newUsesNullable = typeof newSpec.openapi === 'string' && newSpec.openapi.startsWith('3.0.');
|
|
34
|
+
const supportedDocumentDialects = [oldSpec, newSpec].every((spec) => !Object.hasOwn(spec, 'jsonSchemaDialect') || supportedDialect(spec.jsonSchemaDialect));
|
|
35
|
+
return assembleResult(rawChanges, newSpec, {
|
|
36
|
+
classifyFn: (change, schema) => classifyOpenApiChange(change, schema, oldUsesNullable, newUsesNullable, supportedDocumentDialects),
|
|
37
|
+
});
|
|
32
38
|
}
|
|
33
|
-
function classifyOpenApiChange(change, newSpec) {
|
|
39
|
+
function classifyOpenApiChange(change, newSpec, oldUsesNullable, newUsesNullable, supportedDocumentDialects) {
|
|
40
|
+
if (change.enumConstraintEquivalent)
|
|
41
|
+
return 'non-breaking';
|
|
42
|
+
// oneOf accepts exactly one matching branch. Either narrowing or widening
|
|
43
|
+
// a branch can invalidate old inputs or introduce outputs old clients reject.
|
|
44
|
+
// Without proving branch disjointness, treat enum changes conservatively.
|
|
45
|
+
if (change.type.startsWith('enum-') && /\/oneOf\/\d+\//.test(change.path)) {
|
|
46
|
+
return 'breaking';
|
|
47
|
+
}
|
|
34
48
|
if (change.schemaDirection === 'output') {
|
|
49
|
+
// Responses must remain valid against the schema known to existing clients.
|
|
50
|
+
// A const replacement is disjoint, rather than a narrowing: the walker
|
|
51
|
+
// represents it as enum-value-removed with both values populated.
|
|
52
|
+
if (change.type === 'enum-value-removed' &&
|
|
53
|
+
change.path.endsWith('/const') &&
|
|
54
|
+
change.newValue !== undefined) {
|
|
55
|
+
return 'breaking';
|
|
56
|
+
}
|
|
57
|
+
if (change.type === 'enum-value-added' || change.type === 'enum-removed') {
|
|
58
|
+
return 'breaking';
|
|
59
|
+
}
|
|
60
|
+
if (change.type === 'enum-value-removed' || change.type === 'enum-added') {
|
|
61
|
+
return 'non-breaking';
|
|
62
|
+
}
|
|
35
63
|
if (change.type === 'required-removed') {
|
|
36
64
|
return 'breaking';
|
|
37
65
|
}
|
|
@@ -40,6 +68,8 @@ function classifyOpenApiChange(change, newSpec) {
|
|
|
40
68
|
}
|
|
41
69
|
}
|
|
42
70
|
if (change.type === 'property-added') {
|
|
71
|
+
if (change.propertyAddition)
|
|
72
|
+
return classifyPropertyAddition(change, oldUsesNullable, newUsesNullable, supportedDocumentDialects);
|
|
43
73
|
return classifyPropertyAdded(change, newSpec);
|
|
44
74
|
}
|
|
45
75
|
return classify(change);
|
package/dist/differ.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"differ.js","sourceRoot":"","sources":["../src/differ.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"differ.js","sourceRoot":"","sources":["../src/differ.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ChangeSeverity, RawChange } from '@contractual/types';
|
|
2
|
+
/**
|
|
3
|
+
* Prove compatibility for named property additions using their actual parents.
|
|
4
|
+
* Unproved schema implications are conservative breaking findings, not an
|
|
5
|
+
* assertion that this implements general JSON Schema subsumption.
|
|
6
|
+
*/
|
|
7
|
+
export declare function classifyPropertyAddition(change: RawChange, oldUsesNullable: boolean, newUsesNullable: boolean, supportedDocumentDialects?: boolean): ChangeSeverity;
|
|
8
|
+
export declare function supportedDialect(dialect: unknown): boolean;
|
|
9
|
+
//# sourceMappingURL=property-addition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-addition.d.ts","sourceRoot":"","sources":["../src/property-addition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAmDpE;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,OAAO,EACxB,eAAe,EAAE,OAAO,EACxB,yBAAyB,UAAO,GAC/B,cAAc,CAwChB;AA6ED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQ1D"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { deepEqual, isSchemaObject } from '@contractual/differs.core';
|
|
2
|
+
// These are annotations under the existing differ policy, including format.
|
|
3
|
+
const ANNOTATIONS = new Set([
|
|
4
|
+
'title',
|
|
5
|
+
'description',
|
|
6
|
+
'default',
|
|
7
|
+
'examples',
|
|
8
|
+
'$comment',
|
|
9
|
+
'deprecated',
|
|
10
|
+
'readOnly',
|
|
11
|
+
'writeOnly',
|
|
12
|
+
'format',
|
|
13
|
+
'contentEncoding',
|
|
14
|
+
'contentMediaType',
|
|
15
|
+
'contentSchema',
|
|
16
|
+
]);
|
|
17
|
+
// Independent assertions can be retained alongside extra constraints. Object
|
|
18
|
+
// applicators such as additionalProperties cannot: properties changes their scope.
|
|
19
|
+
const INDEPENDENT_ASSERTIONS = new Set([
|
|
20
|
+
'type',
|
|
21
|
+
'enum',
|
|
22
|
+
'const',
|
|
23
|
+
'minimum',
|
|
24
|
+
'maximum',
|
|
25
|
+
'exclusiveMinimum',
|
|
26
|
+
'exclusiveMaximum',
|
|
27
|
+
'multipleOf',
|
|
28
|
+
'minLength',
|
|
29
|
+
'maxLength',
|
|
30
|
+
'pattern',
|
|
31
|
+
'minItems',
|
|
32
|
+
'maxItems',
|
|
33
|
+
'uniqueItems',
|
|
34
|
+
'minProperties',
|
|
35
|
+
'maxProperties',
|
|
36
|
+
'required',
|
|
37
|
+
]);
|
|
38
|
+
const UNSUPPORTED_PARENT_KEYS = [
|
|
39
|
+
'$ref',
|
|
40
|
+
'propertyNames',
|
|
41
|
+
'dependentSchemas',
|
|
42
|
+
'dependentRequired',
|
|
43
|
+
'dependencies',
|
|
44
|
+
'unevaluatedProperties',
|
|
45
|
+
'unevaluatedItems',
|
|
46
|
+
];
|
|
47
|
+
/**
|
|
48
|
+
* Prove compatibility for named property additions using their actual parents.
|
|
49
|
+
* Unproved schema implications are conservative breaking findings, not an
|
|
50
|
+
* assertion that this implements general JSON Schema subsumption.
|
|
51
|
+
*/
|
|
52
|
+
export function classifyPropertyAddition(change, oldUsesNullable, newUsesNullable, supportedDocumentDialects = true) {
|
|
53
|
+
const context = change.propertyAddition;
|
|
54
|
+
if (!context || !change.schemaDirection)
|
|
55
|
+
return 'breaking';
|
|
56
|
+
// Equal nested schemas need not have equal semantics across dialect changes.
|
|
57
|
+
if (!supportedDocumentDialects || oldUsesNullable !== newUsesNullable)
|
|
58
|
+
return 'breaking';
|
|
59
|
+
if (context.schemaDialects?.some((dialect) => oldUsesNullable || !supportedDialect(dialect)))
|
|
60
|
+
return 'breaking';
|
|
61
|
+
const { name, oldParent, newParent } = context;
|
|
62
|
+
if (context.uncertain ||
|
|
63
|
+
UNSUPPORTED_PARENT_KEYS.some((key) => Object.hasOwn(oldParent, key) || Object.hasOwn(newParent, key)))
|
|
64
|
+
return 'breaking';
|
|
65
|
+
const oldRequired = Array.isArray(oldParent.required) && oldParent.required.includes(name);
|
|
66
|
+
const newRequired = Array.isArray(newParent.required) && newParent.required.includes(name);
|
|
67
|
+
if (change.schemaDirection === 'input' && newRequired && !oldRequired)
|
|
68
|
+
return 'breaking';
|
|
69
|
+
const oldConstraints = matchingPatterns(oldParent.patternProperties, name);
|
|
70
|
+
const newConstraints = matchingPatterns(newParent.patternProperties, name);
|
|
71
|
+
if (!oldConstraints || !newConstraints)
|
|
72
|
+
return 'breaking';
|
|
73
|
+
// patternProperties always applies to matching names, even when the property
|
|
74
|
+
// also appears in properties. additionalProperties applies only otherwise.
|
|
75
|
+
if (oldConstraints.length === 0)
|
|
76
|
+
oldConstraints.push(oldParent.additionalProperties ?? true);
|
|
77
|
+
newConstraints.push(change.newValue);
|
|
78
|
+
if ([...oldConstraints, ...newConstraints].some((schema) => containsUnsupportedDialect(schema, oldUsesNullable)))
|
|
79
|
+
return 'breaking';
|
|
80
|
+
const compatible = change.schemaDirection === 'input'
|
|
81
|
+
? implies(oldConstraints, newConstraints, oldUsesNullable)
|
|
82
|
+
: implies(newConstraints, oldConstraints, oldUsesNullable);
|
|
83
|
+
return compatible ? 'non-breaking' : 'breaking';
|
|
84
|
+
}
|
|
85
|
+
function matchingPatterns(patterns, name) {
|
|
86
|
+
if (patterns === undefined)
|
|
87
|
+
return [];
|
|
88
|
+
if (!isSchemaObject(patterns))
|
|
89
|
+
return null;
|
|
90
|
+
try {
|
|
91
|
+
return Object.entries(patterns)
|
|
92
|
+
.filter(([pattern]) => new RegExp(pattern, 'u').test(name))
|
|
93
|
+
.map(([, schema]) => schema);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function assertions(schema, usesNullable) {
|
|
100
|
+
if (!isSchemaObject(schema))
|
|
101
|
+
return schema;
|
|
102
|
+
const result = Object.fromEntries(Object.entries(schema).filter(([key]) => !ANNOTATIONS.has(key) && key !== 'nullable' && key !== '$schema'));
|
|
103
|
+
// OpenAPI 3.0 adds null only to an explicit, local type. Other assertions,
|
|
104
|
+
// including enum, still apply. In 3.1 nullable is not a validation keyword.
|
|
105
|
+
if (usesNullable && schema.nullable === true && typeof schema.type === 'string') {
|
|
106
|
+
result.type = [schema.type, 'null'];
|
|
107
|
+
}
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
function unconstrained(schema) {
|
|
111
|
+
return schema === true || (isSchemaObject(schema) && Object.keys(schema).length === 0);
|
|
112
|
+
}
|
|
113
|
+
/** A bounded proof over conjunctions; unsupported implications remain unproved. */
|
|
114
|
+
function implies(source, target, usesNullable) {
|
|
115
|
+
const from = source.map((schema) => assertions(schema, usesNullable));
|
|
116
|
+
const to = target.map((schema) => assertions(schema, usesNullable));
|
|
117
|
+
if (from.includes(false))
|
|
118
|
+
return true;
|
|
119
|
+
return to.every((constraint) => {
|
|
120
|
+
if (unconstrained(constraint))
|
|
121
|
+
return true;
|
|
122
|
+
if (!isSchemaObject(constraint))
|
|
123
|
+
return from.some((item) => deepEqual(item, constraint));
|
|
124
|
+
if (containsReference(constraint) || from.some((item) => containsReference(item)))
|
|
125
|
+
return false;
|
|
126
|
+
if (from.some((item) => deepEqual(item, constraint)))
|
|
127
|
+
return true;
|
|
128
|
+
// Each independent target assertion must follow from a source constraint.
|
|
129
|
+
// Matching patterns can contribute different assertions; types allow subsets.
|
|
130
|
+
return Object.entries(constraint).every(([key, value]) => INDEPENDENT_ASSERTIONS.has(key) &&
|
|
131
|
+
from.some((item) => isSchemaObject(item) &&
|
|
132
|
+
Object.hasOwn(item, key) &&
|
|
133
|
+
(key === 'type' ? typeImplies(item[key], value) : deepEqual(item[key], value))));
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
function typeImplies(source, target) {
|
|
137
|
+
const from = Array.isArray(source) ? source : [source];
|
|
138
|
+
const to = Array.isArray(target) ? target : [target];
|
|
139
|
+
return from.every((type) => to.includes(type) || (type === 'integer' && to.includes('number')));
|
|
140
|
+
}
|
|
141
|
+
// Equal unresolved references can denote different schemas in old/new documents.
|
|
142
|
+
function containsReference(value, seen = new Set()) {
|
|
143
|
+
if (typeof value !== 'object' || value === null)
|
|
144
|
+
return false;
|
|
145
|
+
if (seen.has(value))
|
|
146
|
+
return true;
|
|
147
|
+
seen.add(value);
|
|
148
|
+
const found = Object.entries(value).some(([key, child]) => key === '$ref' || key === '$dynamicRef' || containsReference(child, seen));
|
|
149
|
+
seen.delete(value);
|
|
150
|
+
return found;
|
|
151
|
+
}
|
|
152
|
+
// Only dialects whose assertion semantics this bounded proof implements.
|
|
153
|
+
export function supportedDialect(dialect) {
|
|
154
|
+
return (typeof dialect === 'string' &&
|
|
155
|
+
[
|
|
156
|
+
'https://spec.openapis.org/oas/3.1/dialect/base',
|
|
157
|
+
'https://json-schema.org/draft/2020-12/schema',
|
|
158
|
+
].includes(dialect.replace(/#$/, '')));
|
|
159
|
+
}
|
|
160
|
+
// Traverse schema positions only: annotations, enum/const values, and names in
|
|
161
|
+
// property maps can contain arbitrary JSON, including a literal "$schema" key.
|
|
162
|
+
function containsUnsupportedDialect(value, usesNullable, seen = new Set()) {
|
|
163
|
+
if (!isSchemaObject(value))
|
|
164
|
+
return false;
|
|
165
|
+
if (seen.has(value))
|
|
166
|
+
return true;
|
|
167
|
+
if (Object.hasOwn(value, '$schema') && (usesNullable || !supportedDialect(value.$schema)))
|
|
168
|
+
return true;
|
|
169
|
+
seen.add(value);
|
|
170
|
+
const singleSchemas = [
|
|
171
|
+
'additionalProperties',
|
|
172
|
+
'unevaluatedProperties',
|
|
173
|
+
'propertyNames',
|
|
174
|
+
'items',
|
|
175
|
+
'contains',
|
|
176
|
+
'additionalItems',
|
|
177
|
+
'unevaluatedItems',
|
|
178
|
+
'not',
|
|
179
|
+
'if',
|
|
180
|
+
'then',
|
|
181
|
+
'else',
|
|
182
|
+
].flatMap((key) => (Array.isArray(value[key]) ? value[key] : [value[key]]));
|
|
183
|
+
const schemaArrays = ['allOf', 'anyOf', 'oneOf', 'prefixItems'].flatMap((key) => Array.isArray(value[key]) ? value[key] : []);
|
|
184
|
+
const schemaMaps = [
|
|
185
|
+
'properties',
|
|
186
|
+
'patternProperties',
|
|
187
|
+
'$defs',
|
|
188
|
+
'definitions',
|
|
189
|
+
'dependentSchemas',
|
|
190
|
+
'dependencies',
|
|
191
|
+
].flatMap((key) => (isSchemaObject(value[key]) ? Object.values(value[key]) : []));
|
|
192
|
+
const found = [...singleSchemas, ...schemaArrays, ...schemaMaps].some((schema) => containsUnsupportedDialect(schema, usesNullable, seen));
|
|
193
|
+
seen.delete(value);
|
|
194
|
+
return found;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=property-addition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-addition.js","sourceRoot":"","sources":["../src/property-addition.ts"],"names":[],"mappings":"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"}
|
package/dist/structural.js
CHANGED
|
@@ -143,7 +143,7 @@ function diffParameters(oldOp, newOp, basePath) {
|
|
|
143
143
|
for (const [key, oldParam] of oldByKey) {
|
|
144
144
|
if (!newByKey.has(key)) {
|
|
145
145
|
changes.push({
|
|
146
|
-
path: `${basePath}/parameters/${oldParam.name}`,
|
|
146
|
+
path: `${basePath}/parameters/${escapeJsonPointer(String(oldParam.name))}`,
|
|
147
147
|
type: 'parameter-removed',
|
|
148
148
|
oldValue: key,
|
|
149
149
|
});
|
|
@@ -153,7 +153,7 @@ function diffParameters(oldOp, newOp, basePath) {
|
|
|
153
153
|
// Check required change
|
|
154
154
|
if (oldParam.required !== newParam.required) {
|
|
155
155
|
changes.push({
|
|
156
|
-
path: `${basePath}/parameters/${oldParam.name}/required`,
|
|
156
|
+
path: `${basePath}/parameters/${escapeJsonPointer(String(oldParam.name))}/required`,
|
|
157
157
|
type: 'parameter-required-changed',
|
|
158
158
|
oldValue: oldParam.required,
|
|
159
159
|
newValue: newParam.required,
|
|
@@ -161,7 +161,7 @@ function diffParameters(oldOp, newOp, basePath) {
|
|
|
161
161
|
}
|
|
162
162
|
// Diff parameter schemas using core walker
|
|
163
163
|
if (oldParam.schema && newParam.schema) {
|
|
164
|
-
const schemaChanges = walk(oldParam.schema, newParam.schema, `${basePath}/parameters/${oldParam.name}/schema`);
|
|
164
|
+
const schemaChanges = walk(oldParam.schema, newParam.schema, `${basePath}/parameters/${escapeJsonPointer(String(oldParam.name))}/schema`);
|
|
165
165
|
changes.push(...withSchemaDirection(schemaChanges, 'input'));
|
|
166
166
|
}
|
|
167
167
|
}
|
|
@@ -171,7 +171,7 @@ function diffParameters(oldOp, newOp, basePath) {
|
|
|
171
171
|
// Required parameter added = breaking, optional = non-breaking
|
|
172
172
|
// Store required flag in newValue so classifiers can check
|
|
173
173
|
changes.push({
|
|
174
|
-
path: `${basePath}/parameters/${newParam.name}`,
|
|
174
|
+
path: `${basePath}/parameters/${escapeJsonPointer(String(newParam.name))}`,
|
|
175
175
|
type: newParam.required
|
|
176
176
|
? 'parameter-required-added'
|
|
177
177
|
: 'parameter-added',
|
package/dist/structural.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../src/structural.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../src/structural.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contractual/differs.openapi",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.0-beta.
|
|
4
|
+
"version": "0.1.0-beta.4",
|
|
5
5
|
"description": "OpenAPI 3.0/3.1 breaking change detection for Contractual",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"README.md"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@contractual/differs.core": "0.1.0-beta.
|
|
34
|
-
"@contractual/types": "0.1.0-beta.
|
|
33
|
+
"@contractual/differs.core": "0.1.0-beta.3",
|
|
34
|
+
"@contractual/types": "0.1.0-beta.3",
|
|
35
35
|
"@redocly/openapi-core": "^2.72.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"access": "public",
|
|
43
43
|
"provenance": true
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "ea95db232152938072c9829ab9b89ecb6107df9a"
|
|
46
46
|
}
|