Atttempts to use JSON schemas with definitions that are referencing themselves leads to stack overflow and crash.
Steps to reproduce:
- create a schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"folder": {
"type": "object",
"title": "Folder Schema",
"properties": {
"id": {
"type": "string",
"example": "3ba1c69c-3c81-4d6d-b304-873d898b2e3c",
"format": "uuid"
},
"name": {
"type": "string",
"example": "Level 1"
},
"folders": {
"type": "array",
"items": {
"$ref": "#/definitions/folder"
}
}
},
"additionalProperties": false,
"required": ["id", "folders"]
}
},
"type": "object",
"title": "Folders Response Schema",
"properties": {
"data": {
"$ref": "#/definitions/folder"
}
}
}
- reference schema in serverless documentation
- run
serverless openapi generate
Outcome: Error(maximum call stack size exceeded)
Expected: openapi document is generated
Atttempts to use
JSONschemas with definitions that are referencing themselves leads to stack overflow and crash.Steps to reproduce:
{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "folder": { "type": "object", "title": "Folder Schema", "properties": { "id": { "type": "string", "example": "3ba1c69c-3c81-4d6d-b304-873d898b2e3c", "format": "uuid" }, "name": { "type": "string", "example": "Level 1" }, "folders": { "type": "array", "items": { "$ref": "#/definitions/folder" } } }, "additionalProperties": false, "required": ["id", "folders"] } }, "type": "object", "title": "Folders Response Schema", "properties": { "data": { "$ref": "#/definitions/folder" } } }serverless openapi generateOutcome: Error(maximum call stack size exceeded)
Expected: openapi document is generated