From 072239d86a994f55df830b45cd7f36ad8bc4a625 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 11:04:44 +0100
Subject: [PATCH 01/28] add a beta workflow
---
.github/workflows/npm-publish-beta.yml | 37 ++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 .github/workflows/npm-publish-beta.yml
diff --git a/.github/workflows/npm-publish-beta.yml b/.github/workflows/npm-publish-beta.yml
new file mode 100644
index 0000000..bbd3fcc
--- /dev/null
+++ b/.github/workflows/npm-publish-beta.yml
@@ -0,0 +1,37 @@
+# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
+# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
+
+name: Node.js Beta Package
+
+on:
+ push:
+ branches:
+ - beta # Or your beta branch name
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ - run: npm ci
+ # - run: npm test
+
+ publish-beta-npm:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ registry-url: https://registry.npmjs.org/
+ - run: npm ci
+ - name: Bump version and publish
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
+ run: |
+ npm version prerelease --preid beta
+ npm publish --tag beta
From 352b5bc79c29c2d1d25965b79e1228d6fd0da66f Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 11:13:29 +0100
Subject: [PATCH 02/28] don't use version
---
.github/workflows/npm-publish-beta.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.github/workflows/npm-publish-beta.yml b/.github/workflows/npm-publish-beta.yml
index bbd3fcc..d90e996 100644
--- a/.github/workflows/npm-publish-beta.yml
+++ b/.github/workflows/npm-publish-beta.yml
@@ -30,8 +30,6 @@ jobs:
registry-url: https://registry.npmjs.org/
- run: npm ci
- name: Bump version and publish
+ run: npm publish --tag beta
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
- run: |
- npm version prerelease --preid beta
- npm publish --tag beta
From 18f8366259e123c4dfdb9b13250ad3e0b181e5c8 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 09:56:59 +0100
Subject: [PATCH 03/28] 0.0.115-beta.1
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 2500ccf..c6daaf6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.114",
+ "version": "0.0.115-beta.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "serverless-openapi-documenter",
- "version": "0.0.114",
+ "version": "0.0.115-beta.1",
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
diff --git a/package.json b/package.json
index c855cf8..21a896d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.114",
+ "version": "0.0.115-beta.1",
"description": "Generate OpenAPI v3 documentation and Postman Collections from your Serverless Config",
"main": "index.js",
"keywords": [
From e5d7da31cc4e8b94e39fbadbf80d384f77594d8a Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:04:56 +0100
Subject: [PATCH 04/28] We shouldn't need to convert schemas for 3.1.x
---
src/schemaHandler.js | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/src/schemaHandler.js b/src/schemaHandler.js
index d66bc61..ccfb69d 100644
--- a/src/schemaHandler.js
+++ b/src/schemaHandler.js
@@ -15,6 +15,8 @@ class SchemaHandler {
serverless.service?.provider?.apiGateway?.request?.schemas || {};
this.documentation = serverless.service.custom.documentation;
this.openAPI = openAPI;
+ this.shouldConvert = true;
+ if (/(3\.1\.\d)/g(this.openAPI.openapi)) this.shouldConvert = false;
this.modelReferences = {};
@@ -161,14 +163,20 @@ class SchemaHandler {
`dereferenced model: ${JSON.stringify(dereferencedSchema)}`
);
- this.logger.verbose(`converting model: ${name}`);
- const convertedSchemas = SchemaConvertor.convert(dereferencedSchema, name);
+ if (this.shouldConvert) {
+ this.logger.verbose(`converting model: ${name}`);
+ const convertedSchemas = SchemaConvertor.convert(
+ dereferencedSchema,
+ name
+ );
- this.logger.verbose(
- `converted schemas: ${JSON.stringify(convertedSchemas)}`
- );
+ this.logger.verbose(
+ `converted schemas: ${JSON.stringify(convertedSchemas)}`
+ );
+ return convertedSchemas;
+ }
- return convertedSchemas;
+ return dereferencedSchema;
}
async __dereferenceSchema(schema) {
From beed295d29c27a495bfded5464347ad12864ce3f Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:16:53 +0100
Subject: [PATCH 05/28] add to README
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 55fd985..86ab1b1 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,8 @@
This will generate an OpenAPI V3 (up to v3.0.4) file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
+If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0)
+
Originally based off of: https://github.com/temando/serverless-openapi-documentation
## Install
From 4ed4320a483d7a278ad694ac66af796bf9e031b1 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:43:31 +0100
Subject: [PATCH 06/28] adds tests and fixes case
---
test/unit/schemaHandler.spec.js | 114 ++++++++++++++++++++++++++++++--
1 file changed, 107 insertions(+), 7 deletions(-)
diff --git a/test/unit/schemaHandler.spec.js b/test/unit/schemaHandler.spec.js
index d5a1cbc..4d08732 100644
--- a/test/unit/schemaHandler.spec.js
+++ b/test/unit/schemaHandler.spec.js
@@ -4,7 +4,9 @@ const fs = require("fs").promises;
const path = require("path");
const expect = require("chai").expect;
+const SchemaConvertor = require("json-schema-for-openapi");
const nock = require("nock");
+const sinon = require("sinon");
const modelsDocumentOG = require("../models/models/models.json");
const modelsAltDocumentOG = require("../models/models/models-alt.json");
@@ -36,7 +38,7 @@ describe(`SchemaHandler`, function () {
);
const openAPISchema = {
- version: "3.0.3",
+ openapi: "3.0.3",
components: {
schemas: {},
},
@@ -277,7 +279,7 @@ describe(`SchemaHandler`, function () {
describe(`addModelsToOpenAPI`, function () {
describe(`embedded simple schemas`, function () {
- it(`should add the model to the openAPI schema`, async function () {
+ it(`should add the model to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -306,7 +308,7 @@ describe(`SchemaHandler`, function () {
});
});
- it(`should add a model with references to the openAPI schema`, async function () {
+ it(`should add a model with references to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -379,7 +381,7 @@ describe(`SchemaHandler`, function () {
});
});
- it(`should add a model with poorly dereferenced references to the openAPI schema`, async function () {
+ it(`should add a model with poorly dereferenced references to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -446,7 +448,7 @@ describe(`SchemaHandler`, function () {
});
describe(`component references`, function () {
- it(`should add schemas with component references to the openAPI schema`, async function () {
+ it(`should add schemas with component references to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -517,10 +519,86 @@ describe(`SchemaHandler`, function () {
type: "string",
});
});
+
+ it(`should add schemas with component references to the OpenAPI schema using OpenAPI 3.1`, async function () {
+ Object.assign(
+ mockServerless.service.custom.documentation,
+ modelsDocument
+ );
+
+ mockServerless.service.custom.documentation.models.push({
+ name: "SuccessResponse",
+ contentType: "application/json",
+ schema: {
+ type: "array",
+ items: {
+ $ref: "#/components/schemas/Agency",
+ },
+ },
+ });
+
+ mockServerless.service.custom.documentation.models.push({
+ name: "Agency",
+ contentType: "application/json",
+ schema: {
+ type: "string",
+ },
+ });
+
+ openAPI.openapi = "3.1.0";
+
+ const schemaHandler = new SchemaHandler(
+ mockServerless,
+ openAPI,
+ logger
+ );
+
+ await schemaHandler.addModelsToOpenAPI();
+
+ expect(schemaHandler.openAPI).to.have.property("components");
+ expect(schemaHandler.openAPI.components).to.have.property("schemas");
+ expect(schemaHandler.openAPI.components.schemas).to.have.property(
+ "ErrorResponse"
+ );
+ expect(
+ schemaHandler.openAPI.components.schemas.ErrorResponse
+ ).to.be.an("object");
+ expect(
+ schemaHandler.openAPI.components.schemas.ErrorResponse
+ ).to.be.eql({
+ type: "object",
+ properties: { error: { type: "string" } },
+ });
+
+ expect(schemaHandler.openAPI.components.schemas).to.have.property(
+ "SuccessResponse"
+ );
+ expect(
+ schemaHandler.openAPI.components.schemas.SuccessResponse
+ ).to.be.an("object");
+ expect(
+ schemaHandler.openAPI.components.schemas.SuccessResponse
+ ).to.be.eql({
+ type: "array",
+ items: {
+ $ref: "#/components/schemas/Agency",
+ },
+ });
+
+ expect(schemaHandler.openAPI.components.schemas).to.have.property(
+ "Agency"
+ );
+ expect(schemaHandler.openAPI.components.schemas.Agency).to.be.an(
+ "object"
+ );
+ expect(schemaHandler.openAPI.components.schemas.Agency).to.be.eql({
+ type: "string",
+ });
+ });
});
describe(`other references`, function () {
- it(`should add a model that is a webUrl to the openAPI schema`, async function () {
+ it(`should add a model that is a webUrl to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -589,7 +667,7 @@ describe(`SchemaHandler`, function () {
});
});
- it(`should add a complex model that is a webUrl to the openAPI schema`, async function () {
+ it(`should add a complex model that is a webUrl to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -710,6 +788,28 @@ describe(`SchemaHandler`, function () {
});
describe(`createSchema`, function () {
+ it(`does not convert schemas when using OpenAPI 3.1.x`, async function () {
+ Object.assign(
+ mockServerless.service.custom.documentation,
+ modelsDocument
+ );
+
+ openAPI.openapi = "3.1.0";
+
+ const schemaHandler = new SchemaHandler(mockServerless, openAPI, logger);
+
+ const spy = sinon.spy(SchemaConvertor, "convert");
+
+ await schemaHandler.addModelsToOpenAPI();
+
+ const expected = await schemaHandler.createSchema("ErrorResponse");
+
+ expect(expected).to.be.equal("#/components/schemas/ErrorResponse");
+ expect(spy.calledOnce).to.be.false;
+
+ spy.restore();
+ });
+
it(`returns a reference to the schema when the schema already exists in components and we don't pass through a schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
From 7bcfa6e59f2b9dc055668a32169f6727829ce73b Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:43:57 +0100
Subject: [PATCH 07/28] fixes casing of OpenAPI
---
test/unit/definitionGenerator.spec.js | 11 ++++++-----
test/unit/openAPIGenerator.spec.js | 10 +++++-----
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/test/unit/definitionGenerator.spec.js b/test/unit/definitionGenerator.spec.js
index 65b76f9..950d024 100644
--- a/test/unit/definitionGenerator.spec.js
+++ b/test/unit/definitionGenerator.spec.js
@@ -38,7 +38,7 @@ describe("DefinitionGenerator", () => {
expect(expected).to.be.an.instanceOf(DefinitionGenerator);
});
- it("should default to version 3.0.0 of openAPI when openAPI version is not passed in", function () {
+ it("should default to version 3.0.0 of OpenAPI when OpenAPI version is not passed in", function () {
const serverlessWithoutOpenAPIVersion = structuredClone(mockServerless);
delete serverlessWithoutOpenAPIVersion.processedInput;
let expected = new DefinitionGenerator(
@@ -105,7 +105,7 @@ describe("DefinitionGenerator", () => {
expect(expected.version).to.be.equal("3.0.0");
});
- it("should respect the version of openAPI when passed in", function () {
+ it("should respect the version of OpenAPI when passed in", function () {
const serverlessWithOpenAPIVersion = structuredClone(mockServerless);
serverlessWithOpenAPIVersion.processedInput.options.openApiVersion =
"3.0.2";
@@ -157,7 +157,7 @@ describe("DefinitionGenerator", () => {
});
describe("createInfo", () => {
- it("should create openAPI info object correctly", function () {
+ it("should create OpenAPI info object correctly", function () {
const definitionGenerator = new DefinitionGenerator(
mockServerless,
logger
@@ -918,14 +918,15 @@ describe("DefinitionGenerator", () => {
definitionGenerator.openAPI.components.securitySchemes
).to.have.property("x_amazon_api_key");
expect(
- definitionGenerator.openAPI.components.securitySchemes.x_amazon_api_key
+ definitionGenerator.openAPI.components.securitySchemes
+ .x_amazon_api_key
).to.have.property("x-amazon-apigateway-authtype");
});
});
});
describe("createTags", () => {
- it("should add tags to the openAPI object correctly", function () {
+ it("should add tags to the OpenAPI object correctly", function () {
mockServerless.service.custom.documentation.tags = [{ name: "tag1" }];
const definitionGenerator = new DefinitionGenerator(
diff --git a/test/unit/openAPIGenerator.spec.js b/test/unit/openAPIGenerator.spec.js
index 4436083..cbffbcc 100644
--- a/test/unit/openAPIGenerator.spec.js
+++ b/test/unit/openAPIGenerator.spec.js
@@ -68,7 +68,7 @@ describe("OpenAPIGenerator", () => {
});
describe("generationAndValidation", () => {
- it("should correctly generate a valid openAPI document", async function () {
+ it("should correctly generate a valid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -99,7 +99,7 @@ describe("OpenAPIGenerator", () => {
getFuncStub.reset();
});
- xit("should throw an error when trying to generate an invalid openAPI document", async function () {
+ xit("should throw an error when trying to generate an invalid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -135,7 +135,7 @@ describe("OpenAPIGenerator", () => {
getFuncStub.reset();
});
- it("should correctly validate a valid openAPI document", async function () {
+ it("should correctly validate a valid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -168,7 +168,7 @@ describe("OpenAPIGenerator", () => {
getFuncStub.reset();
});
- it("should throw an error when trying to validate an invalid openAPI document", async function () {
+ it("should throw an error when trying to validate an invalid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -212,7 +212,7 @@ describe("OpenAPIGenerator", () => {
});
describe("createPostman", () => {
- it("should generate a postman collection when a valid openAPI file is generated", function () {
+ it("should generate a postman collection when a valid OpenAPI file is generated", function () {
const fsStub = sinon.stub(fs, "writeFileSync").returns(true);
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
From 1b9a104bac11ff76f0f360441ea094fc7def13ed Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:44:13 +0100
Subject: [PATCH 08/28] check whether we should try and convert an OpenAPI
schema
---
src/schemaHandler.js | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/schemaHandler.js b/src/schemaHandler.js
index ccfb69d..71fc33e 100644
--- a/src/schemaHandler.js
+++ b/src/schemaHandler.js
@@ -15,8 +15,9 @@ class SchemaHandler {
serverless.service?.provider?.apiGateway?.request?.schemas || {};
this.documentation = serverless.service.custom.documentation;
this.openAPI = openAPI;
+
this.shouldConvert = true;
- if (/(3\.1\.\d)/g(this.openAPI.openapi)) this.shouldConvert = false;
+ if (/(3\.1\.\d)/g.test(this.openAPI.openapi)) this.shouldConvert = false;
this.modelReferences = {};
@@ -159,11 +160,11 @@ class SchemaHandler {
}
);
- this.logger.verbose(
- `dereferenced model: ${JSON.stringify(dereferencedSchema)}`
- );
-
if (this.shouldConvert) {
+ this.logger.verbose(
+ `dereferenced model: ${JSON.stringify(dereferencedSchema)}`
+ );
+
this.logger.verbose(`converting model: ${name}`);
const convertedSchemas = SchemaConvertor.convert(
dereferencedSchema,
@@ -176,7 +177,13 @@ class SchemaHandler {
return convertedSchemas;
}
- return dereferencedSchema;
+ this.logger.verbose(
+ `dereferenced model: ${JSON.stringify({
+ schemas: { [name]: dereferencedSchema },
+ })}`
+ );
+
+ return { schemas: { [name]: dereferencedSchema } };
}
async __dereferenceSchema(schema) {
From e1c0f69e6bea504a15754efb40a0da5a02943a6e Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:45:35 +0100
Subject: [PATCH 09/28] update README with warning
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 86ab1b1..4f2bd24 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@
This will generate an OpenAPI V3 (up to v3.0.4) file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
-If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0)
+If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0). Whilst I perosnally use this plugin all the time, please do open and report bugs, and I will do my best to fix them.
Originally based off of: https://github.com/temando/serverless-openapi-documentation
From b2474e2df347eb8b525e91be5b972b5e9484419f Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 11:22:23 +0100
Subject: [PATCH 10/28] improve README
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 4f2bd24..ef7ab2b 100644
--- a/README.md
+++ b/README.md
@@ -12,9 +12,9 @@
-This will generate an OpenAPI V3 (up to v3.0.4) file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
+This will generate an [OpenAPI V3](https://spec.openapis.org/oas/v3.0.0.html) (up to v3.0.4) specification file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
-If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0). Whilst I perosnally use this plugin all the time, please do open and report bugs, and I will do my best to fix them.
+If you are using the beta of 0.0.115, it will now try and create [OpenAPI V3.1 (3.1.x)](https://spec.openapis.org/oas/v3.1.0.html) specification file for you, should you run the command `serverless openapi generate -o openapi.json -f json -a 3.1.1 -p postman.json`. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0). Whilst I perosnally use this plugin all the time, please do open and report bugs, and I will do my best to fix them.
Originally based off of: https://github.com/temando/serverless-openapi-documentation
From 5255d1dce1ebbe72a507431bbe58dadd9aa8a6c5 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Mon, 28 Jul 2025 12:26:44 +0100
Subject: [PATCH 11/28] updates openapi-to-postmanv2 to 5.0.1
---
package-lock.json | 14 +++++++-------
package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index c6daaf6..db8b3be 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,7 @@
"chalk": "^4.1.2",
"js-yaml": "^4.1.0",
"json-schema-for-openapi": "^0.5.0",
- "openapi-to-postmanv2": "^5.0.0",
+ "openapi-to-postmanv2": "^5.0.1",
"uuid": "^11.1.0"
},
"devDependencies": {
@@ -2023,9 +2023,9 @@
}
},
"node_modules/openapi-to-postmanv2": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-5.0.0.tgz",
- "integrity": "sha512-ousMf9rXKen9tscJQ0H8BE+hfgOvFRb2SspYwGnQTmnjzkPNejHUQpNmRUIK/gZ6ZwiNWAnQCKWNogaZXUlFew==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-5.0.1.tgz",
+ "integrity": "sha512-48P3PY/b0K/vptb/5uR+b8jL4dI69W8dVDSdBIJ4eShO0rH3ONzKys0LBFDru7wM3xEde4aay+OwBfuq7OxAAA==",
"license": "Apache-2.0",
"dependencies": {
"ajv": "8.11.0",
@@ -4469,9 +4469,9 @@
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
},
"openapi-to-postmanv2": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-5.0.0.tgz",
- "integrity": "sha512-ousMf9rXKen9tscJQ0H8BE+hfgOvFRb2SspYwGnQTmnjzkPNejHUQpNmRUIK/gZ6ZwiNWAnQCKWNogaZXUlFew==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-5.0.1.tgz",
+ "integrity": "sha512-48P3PY/b0K/vptb/5uR+b8jL4dI69W8dVDSdBIJ4eShO0rH3ONzKys0LBFDru7wM3xEde4aay+OwBfuq7OxAAA==",
"requires": {
"ajv": "8.11.0",
"ajv-draft-04": "1.0.0",
diff --git a/package.json b/package.json
index 21a896d..11ce151 100644
--- a/package.json
+++ b/package.json
@@ -50,7 +50,7 @@
"chalk": "^4.1.2",
"js-yaml": "^4.1.0",
"json-schema-for-openapi": "^0.5.0",
- "openapi-to-postmanv2": "^5.0.0",
+ "openapi-to-postmanv2": "^5.0.1",
"uuid": "^11.1.0"
},
"engines": {
From 6bc69e3878d3ddaeb205502d9526eab1b71b6263 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Mon, 28 Jul 2025 12:31:01 +0100
Subject: [PATCH 12/28] updates redocly-core to latest version 1
---
package-lock.json | 105 ++++++++++++++++++++++------------------------
package.json | 2 +-
2 files changed, 51 insertions(+), 56 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index db8b3be..4fda7dd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,7 @@
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
- "@redocly/openapi-core": "^1.2.0",
+ "@redocly/openapi-core": "^1.34.5",
"chalk": "^4.1.2",
"js-yaml": "^4.1.0",
"json-schema-for-openapi": "^0.5.0",
@@ -258,38 +258,46 @@
}
},
"node_modules/@redocly/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==",
+ "version": "8.11.2",
+ "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz",
+ "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==",
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "uri-js-replace": "^1.0.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/@redocly/config": {
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz",
+ "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==",
+ "license": "MIT"
+ },
"node_modules/@redocly/openapi-core": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.2.0.tgz",
- "integrity": "sha512-Ccft2n/JiF4u2crmj1cdDzPq6C40U7NgLZ+p/BxzAFXbfrddr/5FN0HMJPHT/op329qqv2P2jUrXsV2Bp+rzEQ==",
+ "version": "1.34.5",
+ "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.5.tgz",
+ "integrity": "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==",
+ "license": "MIT",
"dependencies": {
- "@redocly/ajv": "^8.11.0",
- "@types/node": "^14.11.8",
+ "@redocly/ajv": "^8.11.2",
+ "@redocly/config": "^0.22.0",
"colorette": "^1.2.0",
+ "https-proxy-agent": "^7.0.5",
"js-levenshtein": "^1.1.6",
"js-yaml": "^4.1.0",
- "lodash.isequal": "^4.5.0",
"minimatch": "^5.0.1",
- "node-fetch": "^2.6.1",
"pluralize": "^8.0.0",
"yaml-ast-parser": "0.0.43"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
}
},
"node_modules/@sinonjs/commons": {
@@ -335,16 +343,10 @@
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
- "node_modules/@types/node": {
- "version": "14.18.63",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
- "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ=="
- },
"node_modules/agent-base": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
"integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 14"
@@ -846,7 +848,6 @@
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
"dependencies": {
"ms": "^2.1.3"
},
@@ -1370,7 +1371,6 @@
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"agent-base": "^7.1.2",
@@ -1700,11 +1700,6 @@
"deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.",
"dev": true
},
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
- },
"node_modules/log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -1850,8 +1845,7 @@
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/neotraverse": {
"version": "0.6.15",
@@ -2697,6 +2691,12 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/uri-js-replace": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz",
+ "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==",
+ "license": "MIT"
+ },
"node_modules/uuid": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
@@ -3200,29 +3200,33 @@
"optional": true
},
"@redocly/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==",
+ "version": "8.11.2",
+ "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz",
+ "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==",
"requires": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "uri-js-replace": "^1.0.1"
}
},
+ "@redocly/config": {
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz",
+ "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ=="
+ },
"@redocly/openapi-core": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.2.0.tgz",
- "integrity": "sha512-Ccft2n/JiF4u2crmj1cdDzPq6C40U7NgLZ+p/BxzAFXbfrddr/5FN0HMJPHT/op329qqv2P2jUrXsV2Bp+rzEQ==",
+ "version": "1.34.5",
+ "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.5.tgz",
+ "integrity": "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==",
"requires": {
- "@redocly/ajv": "^8.11.0",
- "@types/node": "^14.11.8",
+ "@redocly/ajv": "^8.11.2",
+ "@redocly/config": "^0.22.0",
"colorette": "^1.2.0",
+ "https-proxy-agent": "^7.0.5",
"js-levenshtein": "^1.1.6",
"js-yaml": "^4.1.0",
- "lodash.isequal": "^4.5.0",
"minimatch": "^5.0.1",
- "node-fetch": "^2.6.1",
"pluralize": "^8.0.0",
"yaml-ast-parser": "0.0.43"
}
@@ -3269,16 +3273,10 @@
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
- "@types/node": {
- "version": "14.18.63",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
- "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ=="
- },
"agent-base": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
- "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
- "dev": true
+ "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw=="
},
"ajv": {
"version": "8.11.0",
@@ -3639,7 +3637,6 @@
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
"requires": {
"ms": "^2.1.3"
}
@@ -3990,7 +3987,6 @@
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
- "dev": true,
"requires": {
"agent-base": "^7.1.2",
"debug": "4"
@@ -4232,11 +4228,6 @@
"integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==",
"dev": true
},
- "lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
- },
"log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -4345,8 +4336,7 @@
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"neotraverse": {
"version": "0.6.15",
@@ -4949,6 +4939,11 @@
"punycode": "^2.1.0"
}
},
+ "uri-js-replace": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz",
+ "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g=="
+ },
"uuid": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
diff --git a/package.json b/package.json
index 11ce151..a805707 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
- "@redocly/openapi-core": "^1.2.0",
+ "@redocly/openapi-core": "^1.34.5",
"chalk": "^4.1.2",
"js-yaml": "^4.1.0",
"json-schema-for-openapi": "^0.5.0",
From cca128e4b569f89d8b4de0db5ac0acaadcc6cdc3 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Mon, 28 Jul 2025 12:31:54 +0100
Subject: [PATCH 13/28] 0.0.115-beta.2
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 4fda7dd..75c9290 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.1",
+ "version": "0.0.115-beta.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.1",
+ "version": "0.0.115-beta.2",
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
diff --git a/package.json b/package.json
index a805707..5a94a68 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.1",
+ "version": "0.0.115-beta.2",
"description": "Generate OpenAPI v3 documentation and Postman Collections from your Serverless Config",
"main": "index.js",
"keywords": [
From 0247e5d72c744606b0ebe1c1c3c9ee65fe3d1c9f Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Mon, 28 Jul 2025 12:35:59 +0100
Subject: [PATCH 14/28] should run tests on beta too
---
.github/workflows/node.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml
index 0fcd3be..9fba7b4 100644
--- a/.github/workflows/node.yml
+++ b/.github/workflows/node.yml
@@ -7,7 +7,7 @@ on:
push:
branches: ["main"]
pull_request:
- branches: ["main"]
+ branches: ["main", "beta"]
jobs:
build:
From 6c53dfbae41ba4f92d697f37739ade1bbd512407 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 11:04:44 +0100
Subject: [PATCH 15/28] add a beta workflow
---
.github/workflows/npm-publish-beta.yml | 37 ++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 .github/workflows/npm-publish-beta.yml
diff --git a/.github/workflows/npm-publish-beta.yml b/.github/workflows/npm-publish-beta.yml
new file mode 100644
index 0000000..bbd3fcc
--- /dev/null
+++ b/.github/workflows/npm-publish-beta.yml
@@ -0,0 +1,37 @@
+# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
+# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
+
+name: Node.js Beta Package
+
+on:
+ push:
+ branches:
+ - beta # Or your beta branch name
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ - run: npm ci
+ # - run: npm test
+
+ publish-beta-npm:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ registry-url: https://registry.npmjs.org/
+ - run: npm ci
+ - name: Bump version and publish
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
+ run: |
+ npm version prerelease --preid beta
+ npm publish --tag beta
From 60830e965d912e7e61991f01da3712111817e85a Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 11:13:29 +0100
Subject: [PATCH 16/28] don't use version
---
.github/workflows/npm-publish-beta.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.github/workflows/npm-publish-beta.yml b/.github/workflows/npm-publish-beta.yml
index bbd3fcc..d90e996 100644
--- a/.github/workflows/npm-publish-beta.yml
+++ b/.github/workflows/npm-publish-beta.yml
@@ -30,8 +30,6 @@ jobs:
registry-url: https://registry.npmjs.org/
- run: npm ci
- name: Bump version and publish
+ run: npm publish --tag beta
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
- run: |
- npm version prerelease --preid beta
- npm publish --tag beta
From 11c429d3f6c24284b566dc763de9c5be89fe6fb4 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 09:56:59 +0100
Subject: [PATCH 17/28] 0.0.115-beta.1
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 320aa3d..0a6a070 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115",
+ "version": "0.0.115-beta.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "serverless-openapi-documenter",
- "version": "0.0.115",
+ "version": "0.0.115-beta.1",
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
diff --git a/package.json b/package.json
index 5b0d2b8..e0a0ee1 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115",
+ "version": "0.0.115-beta.1",
"description": "Generate OpenAPI v3 documentation and Postman Collections from your Serverless Config",
"main": "index.js",
"keywords": [
From 9fc2784a7435803cb0f6c659c167b52794d02e20 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:04:56 +0100
Subject: [PATCH 18/28] We shouldn't need to convert schemas for 3.1.x
---
src/schemaHandler.js | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/src/schemaHandler.js b/src/schemaHandler.js
index d66bc61..ccfb69d 100644
--- a/src/schemaHandler.js
+++ b/src/schemaHandler.js
@@ -15,6 +15,8 @@ class SchemaHandler {
serverless.service?.provider?.apiGateway?.request?.schemas || {};
this.documentation = serverless.service.custom.documentation;
this.openAPI = openAPI;
+ this.shouldConvert = true;
+ if (/(3\.1\.\d)/g(this.openAPI.openapi)) this.shouldConvert = false;
this.modelReferences = {};
@@ -161,14 +163,20 @@ class SchemaHandler {
`dereferenced model: ${JSON.stringify(dereferencedSchema)}`
);
- this.logger.verbose(`converting model: ${name}`);
- const convertedSchemas = SchemaConvertor.convert(dereferencedSchema, name);
+ if (this.shouldConvert) {
+ this.logger.verbose(`converting model: ${name}`);
+ const convertedSchemas = SchemaConvertor.convert(
+ dereferencedSchema,
+ name
+ );
- this.logger.verbose(
- `converted schemas: ${JSON.stringify(convertedSchemas)}`
- );
+ this.logger.verbose(
+ `converted schemas: ${JSON.stringify(convertedSchemas)}`
+ );
+ return convertedSchemas;
+ }
- return convertedSchemas;
+ return dereferencedSchema;
}
async __dereferenceSchema(schema) {
From ff09af9714fdc06c4ab773f01c35dfe42844a101 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:16:53 +0100
Subject: [PATCH 19/28] add to README
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 55fd985..86ab1b1 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,8 @@
This will generate an OpenAPI V3 (up to v3.0.4) file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
+If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0)
+
Originally based off of: https://github.com/temando/serverless-openapi-documentation
## Install
From b1ea673fcc3d43515ffc4ad328b5ebc761a3631a Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:43:31 +0100
Subject: [PATCH 20/28] adds tests and fixes case
---
test/unit/schemaHandler.spec.js | 114 ++++++++++++++++++++++++++++++--
1 file changed, 107 insertions(+), 7 deletions(-)
diff --git a/test/unit/schemaHandler.spec.js b/test/unit/schemaHandler.spec.js
index d5a1cbc..4d08732 100644
--- a/test/unit/schemaHandler.spec.js
+++ b/test/unit/schemaHandler.spec.js
@@ -4,7 +4,9 @@ const fs = require("fs").promises;
const path = require("path");
const expect = require("chai").expect;
+const SchemaConvertor = require("json-schema-for-openapi");
const nock = require("nock");
+const sinon = require("sinon");
const modelsDocumentOG = require("../models/models/models.json");
const modelsAltDocumentOG = require("../models/models/models-alt.json");
@@ -36,7 +38,7 @@ describe(`SchemaHandler`, function () {
);
const openAPISchema = {
- version: "3.0.3",
+ openapi: "3.0.3",
components: {
schemas: {},
},
@@ -277,7 +279,7 @@ describe(`SchemaHandler`, function () {
describe(`addModelsToOpenAPI`, function () {
describe(`embedded simple schemas`, function () {
- it(`should add the model to the openAPI schema`, async function () {
+ it(`should add the model to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -306,7 +308,7 @@ describe(`SchemaHandler`, function () {
});
});
- it(`should add a model with references to the openAPI schema`, async function () {
+ it(`should add a model with references to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -379,7 +381,7 @@ describe(`SchemaHandler`, function () {
});
});
- it(`should add a model with poorly dereferenced references to the openAPI schema`, async function () {
+ it(`should add a model with poorly dereferenced references to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -446,7 +448,7 @@ describe(`SchemaHandler`, function () {
});
describe(`component references`, function () {
- it(`should add schemas with component references to the openAPI schema`, async function () {
+ it(`should add schemas with component references to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -517,10 +519,86 @@ describe(`SchemaHandler`, function () {
type: "string",
});
});
+
+ it(`should add schemas with component references to the OpenAPI schema using OpenAPI 3.1`, async function () {
+ Object.assign(
+ mockServerless.service.custom.documentation,
+ modelsDocument
+ );
+
+ mockServerless.service.custom.documentation.models.push({
+ name: "SuccessResponse",
+ contentType: "application/json",
+ schema: {
+ type: "array",
+ items: {
+ $ref: "#/components/schemas/Agency",
+ },
+ },
+ });
+
+ mockServerless.service.custom.documentation.models.push({
+ name: "Agency",
+ contentType: "application/json",
+ schema: {
+ type: "string",
+ },
+ });
+
+ openAPI.openapi = "3.1.0";
+
+ const schemaHandler = new SchemaHandler(
+ mockServerless,
+ openAPI,
+ logger
+ );
+
+ await schemaHandler.addModelsToOpenAPI();
+
+ expect(schemaHandler.openAPI).to.have.property("components");
+ expect(schemaHandler.openAPI.components).to.have.property("schemas");
+ expect(schemaHandler.openAPI.components.schemas).to.have.property(
+ "ErrorResponse"
+ );
+ expect(
+ schemaHandler.openAPI.components.schemas.ErrorResponse
+ ).to.be.an("object");
+ expect(
+ schemaHandler.openAPI.components.schemas.ErrorResponse
+ ).to.be.eql({
+ type: "object",
+ properties: { error: { type: "string" } },
+ });
+
+ expect(schemaHandler.openAPI.components.schemas).to.have.property(
+ "SuccessResponse"
+ );
+ expect(
+ schemaHandler.openAPI.components.schemas.SuccessResponse
+ ).to.be.an("object");
+ expect(
+ schemaHandler.openAPI.components.schemas.SuccessResponse
+ ).to.be.eql({
+ type: "array",
+ items: {
+ $ref: "#/components/schemas/Agency",
+ },
+ });
+
+ expect(schemaHandler.openAPI.components.schemas).to.have.property(
+ "Agency"
+ );
+ expect(schemaHandler.openAPI.components.schemas.Agency).to.be.an(
+ "object"
+ );
+ expect(schemaHandler.openAPI.components.schemas.Agency).to.be.eql({
+ type: "string",
+ });
+ });
});
describe(`other references`, function () {
- it(`should add a model that is a webUrl to the openAPI schema`, async function () {
+ it(`should add a model that is a webUrl to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -589,7 +667,7 @@ describe(`SchemaHandler`, function () {
});
});
- it(`should add a complex model that is a webUrl to the openAPI schema`, async function () {
+ it(`should add a complex model that is a webUrl to the OpenAPI schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
modelsDocument
@@ -710,6 +788,28 @@ describe(`SchemaHandler`, function () {
});
describe(`createSchema`, function () {
+ it(`does not convert schemas when using OpenAPI 3.1.x`, async function () {
+ Object.assign(
+ mockServerless.service.custom.documentation,
+ modelsDocument
+ );
+
+ openAPI.openapi = "3.1.0";
+
+ const schemaHandler = new SchemaHandler(mockServerless, openAPI, logger);
+
+ const spy = sinon.spy(SchemaConvertor, "convert");
+
+ await schemaHandler.addModelsToOpenAPI();
+
+ const expected = await schemaHandler.createSchema("ErrorResponse");
+
+ expect(expected).to.be.equal("#/components/schemas/ErrorResponse");
+ expect(spy.calledOnce).to.be.false;
+
+ spy.restore();
+ });
+
it(`returns a reference to the schema when the schema already exists in components and we don't pass through a schema`, async function () {
Object.assign(
mockServerless.service.custom.documentation,
From cbbedceacf0c1ee63f65490ef2a94f69578a8714 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:43:57 +0100
Subject: [PATCH 21/28] fixes casing of OpenAPI
---
test/unit/definitionGenerator.spec.js | 11 ++++++-----
test/unit/openAPIGenerator.spec.js | 10 +++++-----
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/test/unit/definitionGenerator.spec.js b/test/unit/definitionGenerator.spec.js
index 65b76f9..950d024 100644
--- a/test/unit/definitionGenerator.spec.js
+++ b/test/unit/definitionGenerator.spec.js
@@ -38,7 +38,7 @@ describe("DefinitionGenerator", () => {
expect(expected).to.be.an.instanceOf(DefinitionGenerator);
});
- it("should default to version 3.0.0 of openAPI when openAPI version is not passed in", function () {
+ it("should default to version 3.0.0 of OpenAPI when OpenAPI version is not passed in", function () {
const serverlessWithoutOpenAPIVersion = structuredClone(mockServerless);
delete serverlessWithoutOpenAPIVersion.processedInput;
let expected = new DefinitionGenerator(
@@ -105,7 +105,7 @@ describe("DefinitionGenerator", () => {
expect(expected.version).to.be.equal("3.0.0");
});
- it("should respect the version of openAPI when passed in", function () {
+ it("should respect the version of OpenAPI when passed in", function () {
const serverlessWithOpenAPIVersion = structuredClone(mockServerless);
serverlessWithOpenAPIVersion.processedInput.options.openApiVersion =
"3.0.2";
@@ -157,7 +157,7 @@ describe("DefinitionGenerator", () => {
});
describe("createInfo", () => {
- it("should create openAPI info object correctly", function () {
+ it("should create OpenAPI info object correctly", function () {
const definitionGenerator = new DefinitionGenerator(
mockServerless,
logger
@@ -918,14 +918,15 @@ describe("DefinitionGenerator", () => {
definitionGenerator.openAPI.components.securitySchemes
).to.have.property("x_amazon_api_key");
expect(
- definitionGenerator.openAPI.components.securitySchemes.x_amazon_api_key
+ definitionGenerator.openAPI.components.securitySchemes
+ .x_amazon_api_key
).to.have.property("x-amazon-apigateway-authtype");
});
});
});
describe("createTags", () => {
- it("should add tags to the openAPI object correctly", function () {
+ it("should add tags to the OpenAPI object correctly", function () {
mockServerless.service.custom.documentation.tags = [{ name: "tag1" }];
const definitionGenerator = new DefinitionGenerator(
diff --git a/test/unit/openAPIGenerator.spec.js b/test/unit/openAPIGenerator.spec.js
index 4436083..cbffbcc 100644
--- a/test/unit/openAPIGenerator.spec.js
+++ b/test/unit/openAPIGenerator.spec.js
@@ -68,7 +68,7 @@ describe("OpenAPIGenerator", () => {
});
describe("generationAndValidation", () => {
- it("should correctly generate a valid openAPI document", async function () {
+ it("should correctly generate a valid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -99,7 +99,7 @@ describe("OpenAPIGenerator", () => {
getFuncStub.reset();
});
- xit("should throw an error when trying to generate an invalid openAPI document", async function () {
+ xit("should throw an error when trying to generate an invalid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -135,7 +135,7 @@ describe("OpenAPIGenerator", () => {
getFuncStub.reset();
});
- it("should correctly validate a valid openAPI document", async function () {
+ it("should correctly validate a valid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -168,7 +168,7 @@ describe("OpenAPIGenerator", () => {
getFuncStub.reset();
});
- it("should throw an error when trying to validate an invalid openAPI document", async function () {
+ it("should throw an error when trying to validate an invalid OpenAPI document", async function () {
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
@@ -212,7 +212,7 @@ describe("OpenAPIGenerator", () => {
});
describe("createPostman", () => {
- it("should generate a postman collection when a valid openAPI file is generated", function () {
+ it("should generate a postman collection when a valid OpenAPI file is generated", function () {
const fsStub = sinon.stub(fs, "writeFileSync").returns(true);
const succSpy = sinon.spy(logOutput.log, "success");
const errSpy = sinon.spy(logOutput.log, "error");
From b0dd69aac5eafe21678e9556700326e64f03fa85 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:44:13 +0100
Subject: [PATCH 22/28] check whether we should try and convert an OpenAPI
schema
---
src/schemaHandler.js | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/schemaHandler.js b/src/schemaHandler.js
index ccfb69d..71fc33e 100644
--- a/src/schemaHandler.js
+++ b/src/schemaHandler.js
@@ -15,8 +15,9 @@ class SchemaHandler {
serverless.service?.provider?.apiGateway?.request?.schemas || {};
this.documentation = serverless.service.custom.documentation;
this.openAPI = openAPI;
+
this.shouldConvert = true;
- if (/(3\.1\.\d)/g(this.openAPI.openapi)) this.shouldConvert = false;
+ if (/(3\.1\.\d)/g.test(this.openAPI.openapi)) this.shouldConvert = false;
this.modelReferences = {};
@@ -159,11 +160,11 @@ class SchemaHandler {
}
);
- this.logger.verbose(
- `dereferenced model: ${JSON.stringify(dereferencedSchema)}`
- );
-
if (this.shouldConvert) {
+ this.logger.verbose(
+ `dereferenced model: ${JSON.stringify(dereferencedSchema)}`
+ );
+
this.logger.verbose(`converting model: ${name}`);
const convertedSchemas = SchemaConvertor.convert(
dereferencedSchema,
@@ -176,7 +177,13 @@ class SchemaHandler {
return convertedSchemas;
}
- return dereferencedSchema;
+ this.logger.verbose(
+ `dereferenced model: ${JSON.stringify({
+ schemas: { [name]: dereferencedSchema },
+ })}`
+ );
+
+ return { schemas: { [name]: dereferencedSchema } };
}
async __dereferenceSchema(schema) {
From 95bc6fe9f36bbc77e1a96bdd0a470c3187205e60 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 10:45:35 +0100
Subject: [PATCH 23/28] update README with warning
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 86ab1b1..4f2bd24 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@
This will generate an OpenAPI V3 (up to v3.0.4) file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
-If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0)
+If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0). Whilst I perosnally use this plugin all the time, please do open and report bugs, and I will do my best to fix them.
Originally based off of: https://github.com/temando/serverless-openapi-documentation
From 61afb9702e79629ca7a64acdf7917bee31334a48 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Sun, 13 Jul 2025 11:22:23 +0100
Subject: [PATCH 24/28] improve README
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 4f2bd24..ef7ab2b 100644
--- a/README.md
+++ b/README.md
@@ -12,9 +12,9 @@
-This will generate an OpenAPI V3 (up to v3.0.4) file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
+This will generate an [OpenAPI V3](https://spec.openapis.org/oas/v3.0.0.html) (up to v3.0.4) specification file for you from your serverless file. It can optionally generate a [Postman Collection V2](https://github.com/postmanlabs/openapi-to-postman) from the OpenAPI file for you too. This currently works for `http` and `httpApi` configurations.
-If you are using the beta of 0.0.115, it will now try and create OpenAPI V3.1 (3.1.x) specs for you. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0). Whilst I perosnally use this plugin all the time, please do open and report bugs, and I will do my best to fix them.
+If you are using the beta of 0.0.115, it will now try and create [OpenAPI V3.1 (3.1.x)](https://spec.openapis.org/oas/v3.1.0.html) specification file for you, should you run the command `serverless openapi generate -o openapi.json -f json -a 3.1.1 -p postman.json`. Please see this [guide on migrating to V3.1](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0). Whilst I perosnally use this plugin all the time, please do open and report bugs, and I will do my best to fix them.
Originally based off of: https://github.com/temando/serverless-openapi-documentation
From 8c8e035c4c2317bb5495b8fbbdf60a3da09839f2 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Mon, 28 Jul 2025 12:31:01 +0100
Subject: [PATCH 25/28] updates redocly-core to latest version 1
---
package-lock.json | 1640 ++-------------------------------------------
package.json | 2 +-
2 files changed, 51 insertions(+), 1591 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 0a6a070..7e92745 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,7 +1,7 @@
{
"name": "serverless-openapi-documenter",
"version": "0.0.115-beta.1",
- "lockfileVersion": 2,
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
@@ -10,7 +10,7 @@
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
- "@redocly/openapi-core": "^1.2.0",
+ "@redocly/openapi-core": "^1.34.5",
"chalk": "^4.1.2",
"js-yaml": "^4.1.0",
"json-schema-for-openapi": "^0.5.0",
@@ -128,38 +128,46 @@
}
},
"node_modules/@redocly/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.3.tgz",
+ "integrity": "sha512-4P3iZse91TkBiY+Dx5DUgxQ9GXkVJf++cmI0MOyLDxV9b5MUBI4II6ES8zA5JCbO72nKAJxWrw4PUPW+YP3ZDQ==",
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "uri-js-replace": "^1.0.1"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/@redocly/config": {
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz",
+ "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==",
+ "license": "MIT"
+ },
"node_modules/@redocly/openapi-core": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.2.0.tgz",
- "integrity": "sha512-Ccft2n/JiF4u2crmj1cdDzPq6C40U7NgLZ+p/BxzAFXbfrddr/5FN0HMJPHT/op329qqv2P2jUrXsV2Bp+rzEQ==",
+ "version": "1.34.5",
+ "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.5.tgz",
+ "integrity": "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==",
+ "license": "MIT",
"dependencies": {
- "@redocly/ajv": "^8.11.0",
- "@types/node": "^14.11.8",
+ "@redocly/ajv": "^8.11.2",
+ "@redocly/config": "^0.22.0",
"colorette": "^1.2.0",
+ "https-proxy-agent": "^7.0.5",
"js-levenshtein": "^1.1.6",
"js-yaml": "^4.1.0",
- "lodash.isequal": "^4.5.0",
"minimatch": "^5.0.1",
- "node-fetch": "^2.6.1",
"pluralize": "^8.0.0",
"yaml-ast-parser": "0.0.43"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
}
},
"node_modules/@sinonjs/commons": {
@@ -205,10 +213,14 @@
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
- "node_modules/@types/node": {
- "version": "14.18.63",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
- "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ=="
+ "node_modules/agent-base": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
},
"node_modules/ajv": {
"version": "8.11.0",
@@ -553,7 +565,6 @@
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
"dependencies": {
"ms": "^2.1.3"
},
@@ -795,6 +806,19 @@
"resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz",
"integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA=="
},
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -988,11 +1012,6 @@
"deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.",
"dev": true
},
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
- },
"node_modules/log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -1144,8 +1163,7 @@
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/neotraverse": {
"version": "0.6.15",
@@ -1878,6 +1896,12 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/uri-js-replace": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz",
+ "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==",
+ "license": "MIT"
+ },
"node_modules/uuid": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
@@ -2171,1569 +2195,5 @@
"url": "https://github.com/sponsors/sindresorhus"
}
}
- },
- "dependencies": {
- "@apidevtools/json-schema-ref-parser": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.0.tgz",
- "integrity": "sha512-teB30tFooE3iQs2HQIKJ02D8UZA1Xy1zaczzhUjJs0CymYxeC0g+y5rCY2p8NHBM6DBUVoR8rSM4kHLj1WE9mQ==",
- "requires": {
- "@jsdevtools/ono": "^7.1.3",
- "@types/json-schema": "^7.0.6",
- "call-me-maybe": "^1.0.1",
- "js-yaml": "^4.1.0"
- }
- },
- "@exodus/schemasafe": {
- "version": "1.0.0-rc.6",
- "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.0.0-rc.6.tgz",
- "integrity": "sha512-dDnQizD94EdBwEj/fh3zPRa/HWCS9O5au2PuHhZBbuM3xWHxuaKzPBOEWze7Nn0xW68MIpZ7Xdyn1CoCpjKCuQ=="
- },
- "@faker-js/faker": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz",
- "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw=="
- },
- "@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dev": true,
- "requires": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- }
- },
- "@jsdevtools/ono": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz",
- "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="
- },
- "@mswjs/interceptors": {
- "version": "0.39.6",
- "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.39.6.tgz",
- "integrity": "sha512-bndDP83naYYkfayr/qhBHMhk0YGwS1iv6vaEGcr0SQbO0IZtbOPqjKjds/WcG+bJA+1T5vCx6kprKOzn5Bg+Vw==",
- "dev": true,
- "requires": {
- "@open-draft/deferred-promise": "^2.2.0",
- "@open-draft/logger": "^0.3.0",
- "@open-draft/until": "^2.0.0",
- "is-node-process": "^1.2.0",
- "outvariant": "^1.4.3",
- "strict-event-emitter": "^0.5.1"
- }
- },
- "@open-draft/deferred-promise": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
- "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
- "dev": true
- },
- "@open-draft/logger": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz",
- "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
- "dev": true,
- "requires": {
- "is-node-process": "^1.2.0",
- "outvariant": "^1.4.0"
- }
- },
- "@open-draft/until": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
- "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
- "dev": true
- },
- "@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "dev": true,
- "optional": true
- },
- "@redocly/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "@redocly/openapi-core": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.2.0.tgz",
- "integrity": "sha512-Ccft2n/JiF4u2crmj1cdDzPq6C40U7NgLZ+p/BxzAFXbfrddr/5FN0HMJPHT/op329qqv2P2jUrXsV2Bp+rzEQ==",
- "requires": {
- "@redocly/ajv": "^8.11.0",
- "@types/node": "^14.11.8",
- "colorette": "^1.2.0",
- "js-levenshtein": "^1.1.6",
- "js-yaml": "^4.1.0",
- "lodash.isequal": "^4.5.0",
- "minimatch": "^5.0.1",
- "node-fetch": "^2.6.1",
- "pluralize": "^8.0.0",
- "yaml-ast-parser": "0.0.43"
- }
- },
- "@sinonjs/commons": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
- "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
- "dev": true,
- "requires": {
- "type-detect": "4.0.8"
- }
- },
- "@sinonjs/fake-timers": {
- "version": "13.0.5",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz",
- "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^3.0.1"
- }
- },
- "@sinonjs/samsam": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.2.tgz",
- "integrity": "sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^3.0.1",
- "lodash.get": "^4.4.2",
- "type-detect": "^4.1.0"
- },
- "dependencies": {
- "type-detect": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz",
- "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==",
- "dev": true
- }
- }
- },
- "@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
- },
- "@types/node": {
- "version": "14.18.63",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
- "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ=="
- },
- "ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-draft-04": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz",
- "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==",
- "requires": {}
- },
- "ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "requires": {
- "ajv": "^8.0.0"
- }
- },
- "ansi-regex": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
- "dev": true
- },
- "async": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
- "call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw=="
- },
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true
- },
- "chai": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz",
- "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==",
- "dev": true,
- "requires": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.3",
- "deep-eql": "^4.1.3",
- "get-func-name": "^2.0.2",
- "loupe": "^2.3.6",
- "pathval": "^1.1.1",
- "type-detect": "^4.1.0"
- },
- "dependencies": {
- "type-detect": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz",
- "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==",
- "dev": true
- }
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "charset": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz",
- "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg=="
- },
- "check-error": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
- "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
- "dev": true,
- "requires": {
- "get-func-name": "^2.0.2"
- }
- },
- "chokidar": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
- "dev": true,
- "requires": {
- "readdirp": "^4.0.1"
- }
- },
- "cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- }
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "colorette": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
- "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g=="
- },
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
- },
- "compute-gcd": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz",
- "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==",
- "requires": {
- "validate.io-array": "^1.0.3",
- "validate.io-function": "^1.0.2",
- "validate.io-integer-array": "^1.0.0"
- }
- },
- "compute-lcm": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz",
- "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==",
- "requires": {
- "compute-gcd": "^1.2.1",
- "validate.io-array": "^1.0.3",
- "validate.io-function": "^1.0.2",
- "validate.io-integer-array": "^1.0.0"
- }
- },
- "cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.3"
- }
- },
- "decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
- "dev": true
- },
- "deep-eql": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
- "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
- "dev": true,
- "requires": {
- "type-detect": "^4.0.0"
- }
- },
- "diff": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz",
- "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==",
- "dev": true
- },
- "eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true
- },
- "emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
- "es6-promise": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
- "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg=="
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "fast-safe-stringify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
- "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
- },
- "file-type": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
- "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA=="
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true
- },
- "foreach": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz",
- "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg=="
- },
- "foreground-child": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.6",
- "signal-exit": "^4.0.1"
- }
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
- },
- "get-func-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
- "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
- "dev": true
- },
- "glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "dev": true,
- "requires": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "dependencies": {
- "minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- }
- }
- },
- "graphlib": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
- "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==",
- "requires": {
- "lodash": "^4.17.15"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true
- },
- "http-reasons": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/http-reasons/-/http-reasons-0.1.0.tgz",
- "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ=="
- },
- "http2-client": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz",
- "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA=="
- },
- "iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
- },
- "is-node-process": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz",
- "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==",
- "dev": true
- },
- "is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
- "dev": true
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "jackspeak": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
- "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
- "dev": true,
- "requires": {
- "@isaacs/cliui": "^8.0.2",
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "js-levenshtein": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
- "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "json-pointer": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz",
- "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==",
- "requires": {
- "foreach": "^2.0.4"
- }
- },
- "json-schema-compare": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz",
- "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==",
- "requires": {
- "lodash": "^4.17.4"
- }
- },
- "json-schema-for-openapi": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/json-schema-for-openapi/-/json-schema-for-openapi-0.5.0.tgz",
- "integrity": "sha512-z5jlQAzHgWbeExr64VrAT94EV0UR8d/GxzGDwDRV9n3dOVaUNLxsUdgm/fZ6RUNe5Ocsag4PNtuvB3xQNz96Fg==",
- "requires": {
- "json-schema-traverse": "^1.0.0",
- "lodash.clonedeep": "^4.5.0",
- "uuid": "^9.0.1"
- },
- "dependencies": {
- "uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="
- }
- }
- },
- "json-schema-merge-allof": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz",
- "integrity": "sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==",
- "requires": {
- "compute-lcm": "^1.1.2",
- "json-schema-compare": "^0.2.2",
- "lodash": "^4.17.20"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
- },
- "liquid-json": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/liquid-json/-/liquid-json-0.3.1.tgz",
- "integrity": "sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ=="
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
- },
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==",
- "dev": true
- },
- "lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "loupe": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
- "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
- "dev": true,
- "requires": {
- "get-func-name": "^2.0.1"
- }
- },
- "lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
- },
- "mime-format": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/mime-format/-/mime-format-2.0.2.tgz",
- "integrity": "sha512-Y5ERWVcyh3sby9Fx2U5F1yatiTFjNsqF5NltihTWI9QgNtr5o3dbCZdcKa1l2wyfhnwwoP9HGNxga7LqZLA6gw==",
- "requires": {
- "charset": "^1.0.0"
- }
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true
- },
- "mocha": {
- "version": "11.7.2",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.2.tgz",
- "integrity": "sha512-lkqVJPmqqG/w5jmmFtiRvtA2jkDyNVUcefFJKb2uyX4dekk8Okgqop3cgbFiaIvj8uCRJVTP5x9dfxGyXm2jvQ==",
- "dev": true,
- "requires": {
- "browser-stdout": "^1.3.1",
- "chokidar": "^4.0.1",
- "debug": "^4.3.5",
- "diff": "^7.0.0",
- "escape-string-regexp": "^4.0.0",
- "find-up": "^5.0.0",
- "glob": "^10.4.5",
- "he": "^1.2.0",
- "js-yaml": "^4.1.0",
- "log-symbols": "^4.1.0",
- "minimatch": "^9.0.5",
- "ms": "^2.1.3",
- "picocolors": "^1.1.1",
- "serialize-javascript": "^6.0.2",
- "strip-json-comments": "^3.1.1",
- "supports-color": "^8.1.1",
- "workerpool": "^9.2.0",
- "yargs": "^17.7.2",
- "yargs-parser": "^21.1.1",
- "yargs-unparser": "^2.0.0"
- },
- "dependencies": {
- "minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "neotraverse": {
- "version": "0.6.15",
- "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.15.tgz",
- "integrity": "sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA=="
- },
- "nock": {
- "version": "14.0.10",
- "resolved": "https://registry.npmjs.org/nock/-/nock-14.0.10.tgz",
- "integrity": "sha512-Q7HjkpyPeLa0ZVZC5qpxBt5EyLczFJ91MEewQiIi9taWuA0KB/MDJlUWtON+7dGouVdADTQsf9RA7TZk6D8VMw==",
- "dev": true,
- "requires": {
- "@mswjs/interceptors": "^0.39.5",
- "json-stringify-safe": "^5.0.1",
- "propagate": "^2.0.0"
- }
- },
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "node-fetch-h2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz",
- "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==",
- "requires": {
- "http2-client": "^1.2.5"
- }
- },
- "node-readfiles": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz",
- "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==",
- "requires": {
- "es6-promise": "^3.2.1"
- }
- },
- "oas-kit-common": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz",
- "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==",
- "requires": {
- "fast-safe-stringify": "^2.0.7"
- }
- },
- "oas-linter": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz",
- "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==",
- "requires": {
- "@exodus/schemasafe": "^1.0.0-rc.2",
- "should": "^13.2.1",
- "yaml": "^1.10.0"
- }
- },
- "oas-resolver": {
- "version": "2.5.6",
- "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz",
- "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==",
- "requires": {
- "node-fetch-h2": "^2.3.0",
- "oas-kit-common": "^1.0.8",
- "reftools": "^1.1.9",
- "yaml": "^1.10.0",
- "yargs": "^17.0.1"
- }
- },
- "oas-resolver-browser": {
- "version": "2.5.6",
- "resolved": "https://registry.npmjs.org/oas-resolver-browser/-/oas-resolver-browser-2.5.6.tgz",
- "integrity": "sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==",
- "requires": {
- "node-fetch-h2": "^2.3.0",
- "oas-kit-common": "^1.0.8",
- "path-browserify": "^1.0.1",
- "reftools": "^1.1.9",
- "yaml": "^1.10.0",
- "yargs": "^17.0.1"
- }
- },
- "oas-schema-walker": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz",
- "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ=="
- },
- "oas-validator": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz",
- "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==",
- "requires": {
- "call-me-maybe": "^1.0.1",
- "oas-kit-common": "^1.0.8",
- "oas-linter": "^3.2.2",
- "oas-resolver": "^2.5.6",
- "oas-schema-walker": "^1.1.5",
- "reftools": "^1.1.9",
- "should": "^13.2.1",
- "yaml": "^1.10.0"
- }
- },
- "object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
- },
- "openapi-to-postmanv2": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-5.3.0.tgz",
- "integrity": "sha512-ozJvm946pKaHvilgvDZGC95Hgl2UmNAA5FL6NE33VQORd6rmAaRyavHwyW7i5aEKm2XnTfgM51kSA+8LbMTlBQ==",
- "requires": {
- "ajv": "8.11.0",
- "ajv-draft-04": "1.0.0",
- "ajv-formats": "2.1.1",
- "async": "3.2.4",
- "commander": "2.20.3",
- "graphlib": "2.1.8",
- "js-yaml": "4.1.0",
- "json-pointer": "0.6.2",
- "json-schema-merge-allof": "0.8.1",
- "lodash": "4.17.21",
- "neotraverse": "0.6.15",
- "oas-resolver-browser": "2.5.6",
- "object-hash": "3.0.0",
- "path-browserify": "1.0.1",
- "postman-collection": "^5.0.0",
- "swagger2openapi": "7.0.8",
- "yaml": "1.10.2"
- }
- },
- "outvariant": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
- "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==",
- "dev": true
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "package-json-from-dist": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
- "dev": true
- },
- "path-browserify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
- "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "path-scurry": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
- "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
- "dev": true,
- "requires": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
- }
- },
- "pathval": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
- "dev": true
- },
- "picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true
- },
- "pluralize": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="
- },
- "postman-collection": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-5.0.2.tgz",
- "integrity": "sha512-6nq0D1n4TyCcw8XEQ57e/IiSDWhkFuwiSqNMxKCbRlVN2xRsJEkBtX2qtaNqlp+wFQW/2WsyYJA1R21HBAAllg==",
- "requires": {
- "@faker-js/faker": "5.5.3",
- "file-type": "3.9.0",
- "http-reasons": "0.1.0",
- "iconv-lite": "0.6.3",
- "liquid-json": "0.3.1",
- "lodash": "4.17.21",
- "mime-format": "2.0.2",
- "mime-types": "2.1.35",
- "postman-url-encoder": "3.0.7",
- "semver": "7.7.1",
- "uuid": "8.3.2"
- },
- "dependencies": {
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
- }
- }
- },
- "postman-url-encoder": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.7.tgz",
- "integrity": "sha512-JlWT4yLtL01ogxL+PSzs89++2sKdxsJrk5QrWken/VzKx5b+UMQ646/glZA3MbqfL3KtsUqanLhL0PQtkmcUyg==",
- "requires": {
- "punycode": "^2.3.1"
- }
- },
- "propagate": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
- "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==",
- "dev": true
- },
- "punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "readdirp": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
- "dev": true
- },
- "reftools": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz",
- "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w=="
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
- },
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
- },
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="
- },
- "serialize-javascript": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
- "dev": true,
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "should": {
- "version": "13.2.3",
- "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz",
- "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==",
- "requires": {
- "should-equal": "^2.0.0",
- "should-format": "^3.0.3",
- "should-type": "^1.4.0",
- "should-type-adaptors": "^1.0.1",
- "should-util": "^1.0.0"
- }
- },
- "should-equal": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz",
- "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==",
- "requires": {
- "should-type": "^1.4.0"
- }
- },
- "should-format": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz",
- "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=",
- "requires": {
- "should-type": "^1.3.0",
- "should-type-adaptors": "^1.0.1"
- }
- },
- "should-type": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz",
- "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM="
- },
- "should-type-adaptors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz",
- "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==",
- "requires": {
- "should-type": "^1.3.0",
- "should-util": "^1.0.0"
- }
- },
- "should-util": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz",
- "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g=="
- },
- "signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true
- },
- "sinon": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-21.0.0.tgz",
- "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^3.0.1",
- "@sinonjs/fake-timers": "^13.0.5",
- "@sinonjs/samsam": "^8.0.1",
- "diff": "^7.0.0",
- "supports-color": "^7.2.0"
- }
- },
- "strict-event-emitter": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
- "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
- "dev": true
- },
- "string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
- "requires": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- }
- },
- "string-width-cjs": {
- "version": "npm:string-width@4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- },
- "strip-ansi-cjs": {
- "version": "npm:strip-ansi@6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- }
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "swagger2openapi": {
- "version": "7.0.8",
- "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz",
- "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==",
- "requires": {
- "call-me-maybe": "^1.0.1",
- "node-fetch": "^2.6.1",
- "node-fetch-h2": "^2.3.0",
- "node-readfiles": "^0.2.0",
- "oas-kit-common": "^1.0.8",
- "oas-resolver": "^2.5.6",
- "oas-schema-walker": "^1.1.5",
- "oas-validator": "^5.0.8",
- "reftools": "^1.1.9",
- "yaml": "^1.10.0",
- "yargs": "^17.0.1"
- }
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
- },
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "uuid": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
- "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="
- },
- "validate.io-array": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz",
- "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg=="
- },
- "validate.io-function": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz",
- "integrity": "sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ=="
- },
- "validate.io-integer": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz",
- "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==",
- "requires": {
- "validate.io-number": "^1.0.3"
- }
- },
- "validate.io-integer-array": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz",
- "integrity": "sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==",
- "requires": {
- "validate.io-array": "^1.0.3",
- "validate.io-integer": "^1.0.4"
- }
- },
- "validate.io-number": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz",
- "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg=="
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "workerpool": {
- "version": "9.3.4",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.4.tgz",
- "integrity": "sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "dev": true
- }
- }
- },
- "wrap-ansi-cjs": {
- "version": "npm:wrap-ansi@7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
- },
- "yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
- },
- "yaml-ast-parser": {
- "version": "0.0.43",
- "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
- "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A=="
- },
- "yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "requires": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
- },
- "yargs-unparser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
- "dev": true,
- "requires": {
- "camelcase": "^6.0.0",
- "decamelize": "^4.0.0",
- "flat": "^5.0.2",
- "is-plain-obj": "^2.1.0"
- }
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true
- }
}
}
diff --git a/package.json b/package.json
index e0a0ee1..bf21d27 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
- "@redocly/openapi-core": "^1.2.0",
+ "@redocly/openapi-core": "^1.34.5",
"chalk": "^4.1.2",
"js-yaml": "^4.1.0",
"json-schema-for-openapi": "^0.5.0",
From b9a67df9cfe4d1f923489f904d95697e4f362803 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Mon, 28 Jul 2025 12:31:54 +0100
Subject: [PATCH 26/28] 0.0.115-beta.2
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 7e92745..2464012 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.1",
+ "version": "0.0.115-beta.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.1",
+ "version": "0.0.115-beta.2",
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
diff --git a/package.json b/package.json
index bf21d27..b60ef22 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.1",
+ "version": "0.0.115-beta.2",
"description": "Generate OpenAPI v3 documentation and Postman Collections from your Serverless Config",
"main": "index.js",
"keywords": [
From 57c9fabcf2fe05186a58cbe298bd1640fe924752 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Mon, 28 Jul 2025 12:35:59 +0100
Subject: [PATCH 27/28] should run tests on beta too
---
.github/workflows/node.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml
index 0fcd3be..9fba7b4 100644
--- a/.github/workflows/node.yml
+++ b/.github/workflows/node.yml
@@ -7,7 +7,7 @@ on:
push:
branches: ["main"]
pull_request:
- branches: ["main"]
+ branches: ["main", "beta"]
jobs:
build:
From d8edcd9593c21c2e474c81c9c976d98bde3e7271 Mon Sep 17 00:00:00 2001
From: Jared Evans
Date: Wed, 24 Sep 2025 17:02:49 +0100
Subject: [PATCH 28/28] 0.0.117-beta.1
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 2464012..959ddfb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.2",
+ "version": "0.0.117-beta.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.2",
+ "version": "0.0.117-beta.1",
"license": "MIT",
"dependencies": {
"@apidevtools/json-schema-ref-parser": "^9.1.0",
diff --git a/package.json b/package.json
index b60ef22..d1826ef 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "serverless-openapi-documenter",
- "version": "0.0.115-beta.2",
+ "version": "0.0.117-beta.1",
"description": "Generate OpenAPI v3 documentation and Postman Collections from your Serverless Config",
"main": "index.js",
"keywords": [