swagger-parser icon indicating copy to clipboard operation
swagger-parser copied to clipboard

Bundling issue with Microsoft SecurityInsight service

Open ClementMindflow opened this issue 3 years ago • 2 comments

When bundling the Microsoft Azure Security Insight specification some resolved external references are invalid:

Here is the CloudError object definition inside this spec:

"CloudError": {
      "x-ms-external": true,
      "properties": {
        "error": {
          "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
          "description": "The error object of the CloudError response"
        }
      },
      "type": "object",
      "description": "An error response for a resource management request."
    }

I've double checked and the specified path is correct.

Here is the same object after bundling:

"CloudError": {
  "x-ms-external": true,
  "properties": {
    "error": {
      "$ref": "#/definitions/CloudError/properties/error/properties/details/items",
      "description": "The error object of the CloudError response"
    }
  },
  "type": "object", 
  "description": "An error response for a resource management request."
}

The new $ref is invalid as there is no details property within that object and the ErrorResponse does not appear in the bundled file.

I'm using @apidevtools/swagger-parser 10.0.3

And here are the options passed when bundling:

SwaggerParser.bundle(inputFile, {
    validate: {
      spec: false,
      schema: false,
    },
  })

ClementMindflow avatar Jan 18 '22 17:01 ClementMindflow

Hey, any hint on how to fix this?

fab-mindflow avatar Feb 28 '22 13:02 fab-mindflow

Does anyone already faced that issue ?

ClementMindflow avatar Mar 18 '22 08:03 ClementMindflow