Skip to content
Merged
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
c848f6e
test(downgrader): cover the cut-$ref reset, writeOnly and $ref tags, …
claude Nov 2, 2026
17b0cc9
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
90d9ae5
fix(downgrader): leave out a 3.2 security requirement name whose sche…
claude Nov 2, 2026
71b348d
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
720cf6e
test(downgrader): cover a 3.2 security requirement name holding undef…
claude Nov 2, 2026
de5d602
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
6c5d811
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
85e0979
test(downgrader): cover a null branch beside enums in a malformed anyOf
claude Nov 2, 2026
dd95369
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
170d121
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
4ea0add
test(downgrader): keep the allOf beside a restricting keyword on a ta…
claude Nov 2, 2026
eef3ee2
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
c7b4e1b
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
7531a72
docs(downgrader): a $ref into an anyOf removed for a media-type-only …
claude Nov 2, 2026
4c4b7bf
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
946a4f6
docs(downgrader): a $ref into a removed not dangles
claude Nov 2, 2026
ae2be47
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
69c1aae
docs(downgrader): a $ref into a 3.2 itemSchema that moves into schema…
claude Nov 2, 2026
91533fb
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
f4f0c9b
docs(downgrader): a $ref by index past a removed 3.2 querystring para…
claude Nov 2, 2026
74e3b3b
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
2360af7
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
25fb9ca
fix(downgrader): keep a $ref bare beside only a 3.0-style nullable
claude Nov 2, 2026
5658ff8
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
ffa455e
fix(downgrader): keep a $ref bare beside identifiers 3.0 removes
claude Nov 2, 2026
114cae7
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
24cfba2
fix(downgrader): keep null in a loop of nullable $ref pairs
claude Nov 2, 2026
bc1fe15
fix(downgrader): follow nullable pairs beside annotations 3.0 drops
claude Nov 2, 2026
f3cc671
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
47d2d6c
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
f7cdda7
fix(downgrader): drop a discriminator that a $ref or type list would …
claude Nov 2, 2026
660afb1
docs(downgrader): note the discriminator dropped beside a $ref or typ…
claude Nov 2, 2026
6718cbd
fix(downgrader): keep a $ref bare beside only a removed discriminator
claude Nov 2, 2026
272eaf2
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
80c69ae
test(downgrader): keep a discriminator beside a $ref and an anyOf or …
claude Nov 2, 2026
a8c2c54
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
c80c90c
fix(downgrader): follow a null pair nested in a null pair around a $r…
claude Nov 2, 2026
e47c94c
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
96fe14d
fix(downgrader): stop the nested pair walk at a cycle of objects
claude Nov 2, 2026
7645f9b
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
b3e2536
test(downgrader): follow a $ref beside an object cycle in a nested nu…
claude Nov 2, 2026
dbe21f7
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
956f651
fix(downgrader): keep a null pair only when its $ref would loop back …
claude Nov 2, 2026
637a684
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
587947c
refactor(downgrader): follow any $ref in the 3.0 loop check, and test…
claude Nov 2, 2026
5fb05d0
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
d8db861
test(downgrader): pin a oneOf pair to a null-admitting $ref, and null…
claude Nov 2, 2026
ca238b9
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
6f6a0ed
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 2, 2026
be4ac8b
test(downgrader): pin an enum branch beside null, a $ref beside a nul…
claude Nov 2, 2026
abcbc8f
test(downgrader): clearer comment and name in the $ref-beside-type case
claude Nov 2, 2026
9871b22
Merge origin/main
claude Nov 2, 2026
e31503e
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 3, 2026
26dfa99
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 4, 2026
28eee96
test(downgrader): pin that a bare null in a type list counts only as …
claude Nov 4, 2026
cb070bd
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 4, 2026
cfb8f0b
Merge remote-tracking branch 'origin/main' into claude/project-thread…
claude Nov 4, 2026
b4b66a2
test(downgrader): pin that a $ref into a kept key or another componen…
claude Nov 4, 2026
9928840
test(downgrader): assert the kept $ref targets survive
claude Nov 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions packages/downgrader/tests/v3.1-to-v3.0.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2981,7 +2981,12 @@ describe('downgradeSchemaV31ToV30', () => {
Nested: ref('FieldOptions/Text/properties/type'),
Kept: ref('FieldOptions/x-note'),
Removed: ref('FieldOptions/prefixItems/0'),
// A key 3.0 keeps, and a key of another component type, are not renamed.
Negated: { not: { type: 'string' } },
IntoKept: ref('Negated/not'),
IntoParameter: { $ref: '#/components/parameters/Query/schema' },
},
parameters: { Query: { name: 'q', in: 'query', schema: { type: 'string' } } },
},
})
// The discriminator goes, as its mapping would dangle.
Expand All @@ -2997,6 +3002,12 @@ describe('downgradeSchemaV31ToV30', () => {
Nested: { type: 'string', enum: ['Text'] },
Kept: ref('FieldOptions/x-note'),
Removed: ref('FieldOptions/prefixItems/0'),
Negated: { not: { type: 'string' } },
})
expect(out.components?.parameters?.Query).toMatchObject({ schema: { type: 'string' } })
expect(out.components?.schemas?.IntoKept).toStrictEqual(ref('Negated/not'))
expect(out.components?.schemas?.IntoParameter).toStrictEqual({
$ref: '#/components/parameters/Query/schema',
})
Comment thread
dinwwwh marked this conversation as resolved.
Resolved
})

Expand Down
Loading