@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.
@@ -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;AAKhF;;;;;;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,CAGZ"}
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
- return assembleResult(rawChanges, newSpec, { classifyFn: classifyOpenApiChange });
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);
@@ -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;AAEjD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB,EAAE,WAAmB;IACxE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgC,EAChC,OAAgC;IAEhC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAiB,EAAE,OAAgB;IAChE,IAAI,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACvC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrC,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
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;AACjD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB,EAAE,WAAmB;IACxE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgC,EAChC,OAAgC;IAEhC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClG,MAAM,eAAe,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClG,MAAM,yBAAyB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CACxD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAChG,CAAC;IACF,OAAO,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE;QACzC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAC7B,qBAAqB,CACnB,MAAM,EACN,MAAM,EACN,eAAe,EACf,eAAe,EACf,yBAAyB,CAC1B;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAiB,EACjB,OAAgB,EAChB,eAAwB,EACxB,eAAwB,EACxB,yBAAkC;IAElC,IAAI,MAAM,CAAC,wBAAwB;QAAE,OAAO,cAAc,CAAC;IAE3D,0EAA0E;IAC1E,8EAA8E;IAC9E,0EAA0E;IAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1E,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,4EAA4E;QAC5E,uEAAuE;QACvE,kEAAkE;QAClE,IACE,MAAM,CAAC,IAAI,KAAK,oBAAoB;YACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9B,MAAM,CAAC,QAAQ,KAAK,SAAS,EAC7B,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzE,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACzE,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACvC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrC,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,gBAAgB;YACzB,OAAO,wBAAwB,CAC7B,MAAM,EACN,eAAe,EACf,eAAe,EACf,yBAAyB,CAC1B,CAAC;QACJ,OAAO,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
@@ -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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"}
@@ -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',
@@ -1 +1 @@
1
- {"version":3,"file":"structural.js","sourceRoot":"","sources":["../src/structural.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAKpG,SAAS,mBAAmB,CAAC,OAAoB,EAAE,eAAgC;IACjF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgC,EAChC,OAAgC;IAEhC,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,+BAA+B;IAC/B,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;IAChE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;IAEhE,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,qBAAmC;YACzC,QAAQ,EAAE,OAAO,CAAC,WAAW;YAC7B,QAAQ,EAAE,OAAO,CAAC,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,eAA6B;YACnC,QAAQ,EAAE,OAAO,CAAC,KAAK;YACvB,QAAQ,EAAE,OAAO,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAa,CAAC;IACnD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAa,CAAC;IAEnD,aAAa;IACb,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU,WAAW,EAAE;gBAC7B,IAAI,EAAE,cAA4B;gBAClC,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,wCAAwC;QACxC,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU,WAAW,EAAE;gBAC7B,IAAI,EAAE,YAA0B;gBAChC,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,WAAoC,EACpC,WAAoC,EACpC,OAAe;IAEf,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE/C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAA6B,CAAC;QAC9D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAA6B,CAAC;QAE9D,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU,WAAW,IAAI,MAAM,EAAE;gBACvC,IAAI,EAAE,mBAAiC;gBACvC,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU,WAAW,IAAI,MAAM,EAAE;gBACvC,IAAI,EAAE,iBAA+B;gBACrC,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,kEAAkE;YAClE,MAAM,QAAQ,GAAG,UAAU,WAAW,IAAI,MAAM,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,KAAmB,EACnB,KAAmB,EACnB,QAAgB;IAEhB,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,8BAA8B;IAC9B,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,IAAI,EAAE,qBAAmC;YACzC,QAAQ,EAAE,KAAK,CAAC,WAAW;YAC3B,QAAQ,EAAE,KAAK,CAAC,WAAW;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,QAAQ,UAAU;YAC3B,IAAI,EAAE,eAA6B;YACnC,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,QAAQ,EAAE,KAAK,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,QAAQ,aAAa;YAC9B,IAAI,EAAE,oBAAkC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,QAAQ,EAAE,KAAK,CAAC,UAAU;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAmB,EAAE,KAAmB,EAAE,QAAgB;IAChF,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAmC,CAAC;IAC7E,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAmC,CAAC;IAE7E,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,QAAQ,eAAe,QAAQ,CAAC,IAAI,EAAE;gBAC/C,IAAI,EAAE,mBAAiC;gBACvC,QAAQ,EAAE,GAAG;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAEpC,wBAAwB;YACxB,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,GAAG,QAAQ,eAAe,QAAQ,CAAC,IAAI,WAAW;oBACxD,IAAI,EAAE,4BAA0C;oBAChD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,2CAA2C;YAC3C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAI,CACxB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,MAAM,EACf,GAAG,QAAQ,eAAe,QAAQ,CAAC,IAAI,SAAS,CACjD,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,+DAA+D;YAC/D,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,QAAQ,eAAe,QAAQ,CAAC,IAAI,EAAE;gBAC/C,IAAI,EAAE,QAAQ,CAAC,QAAQ;oBACrB,CAAC,CAAE,0BAAyC;oBAC5C,CAAC,CAAE,iBAAgC;gBACrC,QAAQ,EAAE,GAAG;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,OAA4C;IACjE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,gDAAgD;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAwC,CAAC;IACvF,IAAI,WAAW,EAAE,MAAM;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC;IAEnD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,SAAoC,CAAC;QAChD,IAAI,EAAE,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAmB,EAAE,KAAmB,EAAE,QAAgB;IACjF,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAkD,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAkD,CAAC;IAEzE,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,IAAI,EAAE,sBAAoC;SAC3C,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,IAAI,EAAE,oBAAkC;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,OAAkC,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,OAAkC,CAAC,CAAC;QAE5E,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,6BAA6B,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAmB,EAAE,KAAmB,EAAE,QAAgB;IAC/E,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAA4C,CAAC;IACxF,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAA4C,CAAC;IAExF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,UAAU,IAAI,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,QAAQ,cAAc,UAAU,EAAE;gBAC3C,IAAI,EAAE,kBAAgC;gBACtC,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAkC,CAAC,CAAC;YAC7F,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAkC,CAAC,CAAC;YAE7F,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,aAAa,GAAG,IAAI,CACxB,SAAS,EACT,SAAS,EACT,GAAG,QAAQ,cAAc,UAAU,iBAAiB,CACrD,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,UAAU,IAAI,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,QAAQ,cAAc,UAAU,EAAE;gBAC3C,IAAI,EAAE,gBAA8B;gBACpC,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
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.2",
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.1",
34
- "@contractual/types": "0.1.0-beta.1",
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": "9d335ac31283134a3b9cae1c55a7d17c7b3e0c0a"
45
+ "gitHead": "ea95db232152938072c9829ab9b89ecb6107df9a"
46
46
  }