From 4c11ca5a55b71c7b62262df3205854df7aaa98bc Mon Sep 17 00:00:00 2001 From: Nicholas Wallace Date: Fri, 16 Feb 2024 03:59:51 +0000 Subject: [PATCH] Added `swagger-jsdoc` --- package.json | 1 + swagger.js | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 swagger.js diff --git a/package.json b/package.json index b44ef36e0..672b99423 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "mocha": "^10.2.0", "nodemon": "^2.0.20", "nyc": "^15.1.0", + "swagger-jsdoc": "^6.2.8", "sinon": "^17.0.1" } } \ No newline at end of file diff --git a/swagger.js b/swagger.js new file mode 100644 index 000000000..13dc6289b --- /dev/null +++ b/swagger.js @@ -0,0 +1,25 @@ +const fs = require('fs') +const swaggerJSDoc = require('swagger-jsdoc') + +const options = { + definition: { + openapi: '3.0.0', + info: { + title: 'Audiobookshelf API', + version: '1.0.0', + description: 'Audiobookshelf API with autogenerated OpenAPI doc', + }, + }, + apis: ['./server/**/*.js'] // Path to the API docs +} + +const openAPISpecification = swaggerJSDoc(options) + +// Write the specification to a file +fs.writeFile('./build-docs/swagger-output.json', JSON.stringify(openAPISpecification, null, 2), (err) => { + if (err) { + console.log(err) + return + } + console.log('OpenAPI spec generated successfully!') +}) \ No newline at end of file