Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
fc0d0e9
fix(deps): Upgrading openapi3-ts.
RobinTail Jun 3, 2026
c1e914b
feat: switching imports to OAS 3.2.
RobinTail Jun 4, 2026
23821d8
fix(json): Adjusting the constraints of mergeableKeys.
RobinTail Jun 4, 2026
e8b36b2
feat(documentation): add isBooleanSchema helper, adapting makeSample …
RobinTail Jun 4, 2026
4ff8370
feat(documentation): handling boolean schema by depictRequestParams.
RobinTail Jun 4, 2026
19c9c2d
mv isBool() helper, adjusting depict() implementaton to support boole…
RobinTail Jun 4, 2026
98a3a9d
fix(documentation): adapting excludeParamsFromDepiction to boolean sc…
RobinTail Jun 4, 2026
55f86c6
adapting depictResponse.
RobinTail Jun 4, 2026
123c064
adapting depictBody.
RobinTail Jun 4, 2026
638cacc
fix: prevent referce-driven ctx cleanup in depict().
RobinTail Jun 4, 2026
021dee0
adjusting depictPipeline.
RobinTail Jun 4, 2026
f53744d
Updating documentation testing snapshots.
RobinTail Jun 4, 2026
036bd0d
Using editor-based workflow validation instead of validator API.
RobinTail Jun 4, 2026
c45e7db
fix(documentation): changed format for ez.dateIn() from date-time to …
RobinTail Jun 4, 2026
cf84991
Adjusting snapshots.
RobinTail Jun 4, 2026
4128cfc
fix: legacy conversion of boolean overrides (not supported by Zod).
RobinTail Jun 4, 2026
7658ab5
Rev,Ref: not allowing boolean schemas yet, using SchemaObjectValue ty…
RobinTail Jun 4, 2026
74bc5b2
ref: changing excludeParamsFromDepiction to operate Zod's JSON schema.
RobinTail Jun 4, 2026
159c25e
Merge branch 'master' into use-oas32
RobinTail Jun 4, 2026
deedd25
Add eslint rule to ensure correct import.
RobinTail Jun 4, 2026
fbb571c
add eslint rule to ensure correct OAS version import consistently.
RobinTail Jun 4, 2026
c7d6cd8
Merge branch 'master' into use-oas32
RobinTail Jun 5, 2026
1fedee9
Merge branch 'master' into use-oas32
RobinTail Jun 5, 2026
40f68b3
Merge branch 'master' into use-oas32
RobinTail Jun 5, 2026
36bd87e
feat: Supporting TagObject tags config with parent, summary and a kind.
RobinTail Jun 5, 2026
1c1215e
feat: deviceAuthorization OAuth flow and ability to deprecate each Se…
RobinTail Jun 5, 2026
58d308c
feat: better depiction of SSE stream response using itemSchema property.
RobinTail Jun 5, 2026
fe6d836
feat: changing value to dataValue for enumerated examples according t…
RobinTail Jun 6, 2026
675668c
Merge branch 'master' into use-oas32
RobinTail Jun 6, 2026
1b1561b
feat(documentation): Add server and info expanded params retaining pr…
RobinTail Jun 6, 2026
7fcfd0d
fix(type): mv the prop 'deprecated' from each security schema to the …
RobinTail Jun 6, 2026
6052378
minor: reduce diff.
RobinTail Jun 6, 2026
2194230
minor: naming.
RobinTail Jun 6, 2026
d640546
feat: supporting plain URLs by server prop as future replacement to s…
RobinTail Jun 6, 2026
d549b09
replacing the deprecated prop.
RobinTail Jun 6, 2026
0101638
Readme: replacing the deprecated prop.
RobinTail Jun 6, 2026
8d65001
Merge branch 'master' into use-oas32
RobinTail Jun 8, 2026
9fa2633
Merge branch 'master' into use-oas32
RobinTail Jun 8, 2026
4435aa0
Merge branch 'master' into use-oas32
RobinTail Jun 11, 2026
3a53d32
Merge branch 'master' into use-oas32
RobinTail Jun 12, 2026
e9635cb
Merge branch 'master' into use-oas32
RobinTail Jun 16, 2026
a95eb6d
Merge branch 'master' into use-oas32
RobinTail Jun 20, 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
21 changes: 21 additions & 0 deletions .github/workflows/oas.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: OpenAPI validation
on:
push:
branches: [ master, v25, v26, v27 ]
pull_request:
branches: [ master, v25, v26, v27 ]

permissions:
id-token: none
contents: read

jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Validate OpenAPI definition
uses: swaggerexpert/apidom-validate@v1
with:
definition-file: example/example.documentation.yaml
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1241,7 +1241,7 @@ const yamlString = new Documentation({
config,
version: "1.2.3",
title: "Example API",
serverUrl: "https://example.com",
server: "https://example.com",
composition: "inline", // optional, or "components" for keeping schemas in a separate dedicated section using refs
// descriptions: { positiveResponse, negativeResponse, requestParameter, requestBody }, // check out these features
}).getSpecAsYaml();
Expand Down
10 changes: 10 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ const importConcerns = [
selector: "ImportDeclaration[source.value=/\\.js$/]",
message: "use .ts extension for relative imports",
},
{
selector: "ImportDeclaration[source.value=/openapi3-ts\\/oas3(0|1)/]",
message: "import from /oas32 instead",
},
{
selector:
"ImportDeclaration[source.value=/openapi3-ts/] > " +
"ImportSpecifier[imported.name='SchemaObject']",
message: "import SchemaObjectValue instead",
},
...builtinModules.map((mod) => ({
selector: `ImportDeclaration[source.value='${mod}']`,
message: `use node:${mod} for the built-in module`,
Expand Down
32 changes: 16 additions & 16 deletions example/example.documentation.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
openapi: 3.1.0
openapi: 3.2.0
info:
title: Example API
version: 0.0.0
Expand Down Expand Up @@ -76,7 +76,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: error
error:
message: Sample error message
Expand Down Expand Up @@ -138,7 +138,7 @@ paths:
- "1234567890"
examples:
example1:
value: "1234567890"
dataValue: "1234567890"
- name: id
in: path
required: true
Expand All @@ -149,7 +149,7 @@ paths:
- "12"
examples:
example1:
value: "12"
dataValue: "12"
requestBody:
description: PATCH /v1/user/:id Request body
content:
Expand Down Expand Up @@ -184,7 +184,7 @@ paths:
- birthday
examples:
example1:
value:
dataValue:
key: 1234-5678-90
name: John Doe
birthday: 1963-04-21
Expand Down Expand Up @@ -230,7 +230,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: success
data:
name: John Doe
Expand Down Expand Up @@ -259,7 +259,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: error
error:
message: Sample error message
Expand All @@ -285,7 +285,7 @@ paths:
- name
examples:
example1:
value:
dataValue:
name: John Doe
required: true
responses:
Expand Down Expand Up @@ -429,7 +429,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
- name: Hunter Schafer
role: manager
- name: Laverne Cox
Expand All @@ -444,7 +444,7 @@ paths:
type: string
examples:
example1:
value: Sample error message
dataValue: Sample error message
head:
operationId: HeadV1UserList
tags:
Expand Down Expand Up @@ -536,7 +536,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: error
error:
message: Sample error message
Expand Down Expand Up @@ -736,7 +736,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: error
error:
message: Sample error message
Expand Down Expand Up @@ -803,7 +803,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: error
error:
message: Sample error message
Expand All @@ -827,7 +827,7 @@ paths:
description: GET /v1/events/stream Positive response
content:
text/event-stream:
schema:
itemSchema:
type: object
properties:
data:
Expand Down Expand Up @@ -948,7 +948,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: error
error:
message: Sample error message
Expand Down Expand Up @@ -1075,7 +1075,7 @@ paths:
additionalProperties: false
examples:
example1:
value:
dataValue:
status: error
error:
message: Sample error message
Expand Down
2 changes: 1 addition & 1 deletion example/generate-documentation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ await writeFile(
config,
version: manifest.version,
title: "Example API",
serverUrl: "https://example.com",
server: "https://example.com",
tags: {
users: "Everything about the users",
files: "Everything about the files processing",
Expand Down
2 changes: 1 addition & 1 deletion example/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,7 @@ describe("Example", async () => {
});
});

describe("OpenAPI Documentation", () => {
describe.skip("OpenAPI Documentation", () => {
test.extend("response", async ({ signal }) => {
const data = await readFile("example.documentation.yaml", "utf-8");
try {
Expand Down
2 changes: 1 addition & 1 deletion express-zod-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"dependencies": {
"ansis": "^4.2.0",
"node-mocks-http": "^1.17.2",
"openapi3-ts": "^4.5.0",
"openapi3-ts": "^4.6.0",
"ramda": "catalog:prod"
},
"peerDependencies": {
Expand Down
Loading