From c70a4c0ccae53e966422b6565ecacd6bc54fb009 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 1 Dec 2022 15:35:50 -0800 Subject: [PATCH 01/28] fix(oas3-request-body): add Im prototype check --- src/core/plugins/oas3/components/request-body.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/plugins/oas3/components/request-body.jsx b/src/core/plugins/oas3/components/request-body.jsx index df3159fba93..1f9905a7786 100644 --- a/src/core/plugins/oas3/components/request-body.jsx +++ b/src/core/plugins/oas3/components/request-body.jsx @@ -6,13 +6,13 @@ import { getCommonExtensions, getSampleSchema, stringify, isEmptyValue } from "c import { getKnownSyntaxHighlighterLanguage } from "core/utils/jsonParse" export const getDefaultRequestBodyValue = (requestBody, mediaType, activeExamplesKey) => { - const mediaTypeValue = requestBody.getIn(["content", mediaType]) - const schema = mediaTypeValue.get("schema").toJS() + const mediaTypeValue = requestBody?.getIn(["content", mediaType]) + const schema = mediaTypeValue?.get("schema").toJS() - const hasExamplesKey = mediaTypeValue.get("examples") !== undefined - const exampleSchema = mediaTypeValue.get("example") + const hasExamplesKey = mediaTypeValue?.get("examples") !== undefined + const exampleSchema = mediaTypeValue?.get("example") const mediaTypeExample = hasExamplesKey - ? mediaTypeValue.getIn([ + ? mediaTypeValue?.getIn([ "examples", activeExamplesKey, "value" From 6f6a4f32d7a2285fc2b6c7370ff1bb8a8e5ff57b Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Tue, 29 Nov 2022 13:12:37 -0800 Subject: [PATCH 02/28] feat(oas31): webhooks component and selectors * temp isOAS3 rule relaxation --- src/core/components/layouts/base.jsx | 6 ++ src/core/plugins/oas3/components/index.js | 4 +- src/core/plugins/oas3/components/webhooks.jsx | 60 +++++++++++++++++++ src/core/plugins/oas3/helpers.jsx | 4 +- .../plugins/oas3/spec-extensions/selectors.js | 5 ++ .../oas3/spec-extensions/wrap-selectors.js | 5 ++ 6 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 src/core/plugins/oas3/components/webhooks.jsx diff --git a/src/core/components/layouts/base.jsx b/src/core/components/layouts/base.jsx index 007008d1bf7..c7d8f766bde 100644 --- a/src/core/components/layouts/base.jsx +++ b/src/core/components/layouts/base.jsx @@ -20,6 +20,7 @@ export default class BaseLayout extends React.Component { let VersionPragmaFilter = getComponent("VersionPragmaFilter") let Operations = getComponent("operations", true) let Models = getComponent("Models", true) + let Webhooks = getComponent("Webhooks", true) let Row = getComponent("Row") let Col = getComponent("Col") let Errors = getComponent("errors", true) @@ -89,6 +90,11 @@ export default class BaseLayout extends React.Component { }> + + + + + diff --git a/src/core/plugins/oas3/components/index.js b/src/core/plugins/oas3/components/index.js index 59258d4efce..49cf84601da 100644 --- a/src/core/plugins/oas3/components/index.js +++ b/src/core/plugins/oas3/components/index.js @@ -6,6 +6,7 @@ import ServersContainer from "./servers-container" import RequestBodyEditor from "./request-body-editor" import HttpAuth from "./http-auth" import OperationServers from "./operation-servers" +import Webhooks from "./webhooks" export default { Callbacks, @@ -15,5 +16,6 @@ export default { ServersContainer, RequestBodyEditor, OperationServers, - operationLink: OperationLink + operationLink: OperationLink, + Webhooks } diff --git a/src/core/plugins/oas3/components/webhooks.jsx b/src/core/plugins/oas3/components/webhooks.jsx new file mode 100644 index 00000000000..258960810ed --- /dev/null +++ b/src/core/plugins/oas3/components/webhooks.jsx @@ -0,0 +1,60 @@ +// OpenAPI 3.1 feature +import React from "react" +import PropTypes from "prop-types" +import { fromJS } from "immutable" +import ImPropTypes from "react-immutable-proptypes" + +const Webhooks = (props) => { + const { specSelectors, getComponent, specPath } = props + + const webhooksPathItems = specSelectors.selectWebhooks() // OrderedMap + if (!webhooksPathItems || webhooksPathItems?.size < 1) { + return No webhooks + } + const OperationContainer = getComponent("OperationContainer", true) + + // Todo: do we have to account for `$$ref` cases of pathItem and/or operation? + const pathItemsElements = webhooksPathItems.entrySeq().map(([pathItemName, pathItem], i) => { + const operationsElements = pathItem.entrySeq().map(([operationMethod, operation], j) => { + const op = fromJS({ + operation + }) + // using defaultProps for `specPath`; may want to remove from props + // and/or if extract to separate PathItem component, allow for use + // with both OAS3.1 "webhooks" and "components.pathItems" features + return + }) + return
+ {operationsElements} +
+ }) + + return ( +
+

Webhooks

+ {pathItemsElements} +
+ ) +} + +Webhooks.propTypes = { + specSelectors: PropTypes.object.isRequired, + getComponent: PropTypes.func.isRequired, + specPath: ImPropTypes.list, +} + +Webhooks.defaultProps = { + specPath: fromJS([]) +} + +export default Webhooks diff --git a/src/core/plugins/oas3/helpers.jsx b/src/core/plugins/oas3/helpers.jsx index d11052c375b..069f96fc811 100644 --- a/src/core/plugins/oas3/helpers.jsx +++ b/src/core/plugins/oas3/helpers.jsx @@ -10,7 +10,9 @@ export function isOAS3(jsSpec) { // at some point in the future -- KS, 7/2018 // starts with, but is not `3.0.` exactly - return oasVersion.startsWith("3.0.") && oasVersion.length > 4 + // return oasVersion.startsWith("3.0.") && oasVersion.length > 4 + // DEV: temp override to allow 3.1 + return oasVersion.startsWith("3.") && oasVersion.length > 4 } export function isSwagger2(jsSpec) { diff --git a/src/core/plugins/oas3/spec-extensions/selectors.js b/src/core/plugins/oas3/spec-extensions/selectors.js index e8911423fa0..4e7c5c71923 100644 --- a/src/core/plugins/oas3/spec-extensions/selectors.js +++ b/src/core/plugins/oas3/spec-extensions/selectors.js @@ -48,3 +48,8 @@ export const isSwagger2 = (ori, system) => () => { const spec = system.getSystem().specSelectors.specJson() return isSwagger2Helper(spec) } + +export const selectWebhooks = onlyOAS3(createSelector( + spec, + spec => spec.getIn(["webhooks"]) || Map() +)) diff --git a/src/core/plugins/oas3/spec-extensions/wrap-selectors.js b/src/core/plugins/oas3/spec-extensions/wrap-selectors.js index 19a18317487..42fff3f369b 100644 --- a/src/core/plugins/oas3/spec-extensions/wrap-selectors.js +++ b/src/core/plugins/oas3/spec-extensions/wrap-selectors.js @@ -83,3 +83,8 @@ export const isSwagger2 = (ori, system) => () => { const spec = system.getSystem().specSelectors.specJson() return isSwagger2Helper(Map.isMap(spec) ? spec : Map()) } + +export const selectWebhooks = onlyOAS3(createSelector( + spec, + spec => spec.getIn(["webhooks"]) || Map() +)) From 565857e56a3323ffb401acead733655cbed45745 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 15 Dec 2022 14:56:26 -0800 Subject: [PATCH 03/28] feat(oas31): new info and license fields plus wrappable License component * restore original render --- src/core/components/info.jsx | 12 ++++- .../plugins/oas3/wrap-components/index.js | 2 + .../plugins/oas3/wrap-components/license.jsx | 46 +++++++++++++++++++ src/core/presets/base.js | 4 +- 4 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 src/core/plugins/oas3/wrap-components/license.jsx diff --git a/src/core/components/info.jsx b/src/core/components/info.jsx index 43465a4fe88..d078982c372 100644 --- a/src/core/components/info.jsx +++ b/src/core/components/info.jsx @@ -53,7 +53,7 @@ class Contact extends React.Component { } } -class License extends React.Component { +export class License extends React.Component { static propTypes = { license: PropTypes.object, getComponent: PropTypes.func.isRequired, @@ -64,7 +64,6 @@ class License extends React.Component { render(){ let { license, getComponent, selectedServer, url: specUrl } = this.props - const Link = getComponent("Link") let name = license.get("name") || "License" let url = safeBuildUrl(license.get("url"), specUrl, {selectedServer}) @@ -116,6 +115,9 @@ export default class Info extends React.Component { let termsOfServiceUrl = safeBuildUrl(info.get("termsOfService"), specUrl, {selectedServer}) let contact = info.get("contact") let license = info.get("license") + // todo: prefer new wrap component, with info.summary + // note that ux may want to move summary to a sub-heading, as summary is a string that does not need to be Markdown + const summary = info.get("summary") // OAS3.1 field let rawExternalDocsUrl = externalDocs && externalDocs.get("url") let externalDocsUrl = safeBuildUrl(rawExternalDocsUrl, specUrl, {selectedServer}) let externalDocsDescription = externalDocs && externalDocs.get("description") @@ -125,6 +127,7 @@ export default class Info extends React.Component { const VersionStamp = getComponent("VersionStamp") const InfoUrl = getComponent("InfoUrl") const InfoBasePath = getComponent("InfoBasePath") + const License = getComponent("License") return (
@@ -136,6 +139,11 @@ export default class Info extends React.Component { { url && } + { + summary &&
+ +
+ }
diff --git a/src/core/plugins/oas3/wrap-components/index.js b/src/core/plugins/oas3/wrap-components/index.js index 2c421add245..013cf8c98f8 100644 --- a/src/core/plugins/oas3/wrap-components/index.js +++ b/src/core/plugins/oas3/wrap-components/index.js @@ -4,6 +4,7 @@ import VersionStamp from "./version-stamp" import OnlineValidatorBadge from "./online-validator-badge" import Model from "./model" import JsonSchema_string from "./json-schema-string" +import License from "./license" export default { Markdown, @@ -12,4 +13,5 @@ export default { VersionStamp, model: Model, onlineValidatorBadge: OnlineValidatorBadge, + License, } diff --git a/src/core/plugins/oas3/wrap-components/license.jsx b/src/core/plugins/oas3/wrap-components/license.jsx new file mode 100644 index 00000000000..3b54b2bd84f --- /dev/null +++ b/src/core/plugins/oas3/wrap-components/license.jsx @@ -0,0 +1,46 @@ +import React from "react" +import PropTypes from "prop-types" +import { sanitizeUrl } from "core/utils" +import { safeBuildUrl } from "core/utils/url" +import { OAS3ComponentWrapFactory } from "../helpers" + +const baseSPDXurl = "https://spdx.org/licenses" +const createSPDXurl = (identifier) => { + return `${baseSPDXurl}/${identifier}.html` +} + +const License = (props) => { + const { license, getComponent, selectedServer, url: specUrl } = props + const Link = getComponent("Link") + const name = license.get("name") || "License" + const url = safeBuildUrl(license.get("url"), specUrl, { selectedServer }) + const identifier = license.get("identifier") || "" // OAS3.1 field + const identifierUrl = createSPDXurl(identifier) + + return ( +
+ { + url && !identifier ? {name} + :
{name}
+ } + { + identifier && !url &&
SPDX License: {identifier}
+ } + { + identifier && url &&
Render Error: License.url and License.identifier are mutually exclusive fields
+ } +
+ ) +} + +License.propTypes = { + license: PropTypes.shape({ + get: PropTypes.func, + }), + getComponent: PropTypes.func.isRequired, + specSelectors: PropTypes.object.isRequired, + selectedServer: PropTypes.string, + url: PropTypes.string.isRequired, +} + +export default OAS3ComponentWrapFactory(License) \ No newline at end of file diff --git a/src/core/presets/base.js b/src/core/presets/base.js index ddfe33313f7..e1bf79b7406 100644 --- a/src/core/presets/base.js +++ b/src/core/presets/base.js @@ -59,7 +59,8 @@ import Overview from "core/components/overview" import InitializedInput from "core/components/initialized-input" import Info, { InfoUrl, - InfoBasePath + InfoBasePath, + License, } from "core/components/info" import InfoContainer from "core/containers/info" import JumpToPath from "core/components/jump-to-path" @@ -163,6 +164,7 @@ export default function() { DeepLink, InfoUrl, InfoBasePath, + License, SvgAssets, Example, ExamplesSelect, From 049fb54f8cad51d172c287b48e438eaef91615c6 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Fri, 16 Dec 2022 10:28:03 -0800 Subject: [PATCH 04/28] feat(webhooks): move position in baseLayout and render null case --- src/core/components/layouts/base.jsx | 10 +++++----- src/core/plugins/oas3/components/webhooks.jsx | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/core/components/layouts/base.jsx b/src/core/components/layouts/base.jsx index c7d8f766bde..6c821963e74 100644 --- a/src/core/components/layouts/base.jsx +++ b/src/core/components/layouts/base.jsx @@ -90,11 +90,6 @@ export default class BaseLayout extends React.Component { }> - - - - - @@ -118,6 +113,11 @@ export default class BaseLayout extends React.Component { + + + + + diff --git a/src/core/plugins/oas3/components/webhooks.jsx b/src/core/plugins/oas3/components/webhooks.jsx index 258960810ed..31ecb818fe1 100644 --- a/src/core/plugins/oas3/components/webhooks.jsx +++ b/src/core/plugins/oas3/components/webhooks.jsx @@ -4,12 +4,14 @@ import PropTypes from "prop-types" import { fromJS } from "immutable" import ImPropTypes from "react-immutable-proptypes" +// Todo: nice to have: similar to operation-tags, could have an expand/collapse button +// to show/hide all webhook items const Webhooks = (props) => { const { specSelectors, getComponent, specPath } = props const webhooksPathItems = specSelectors.selectWebhooks() // OrderedMap if (!webhooksPathItems || webhooksPathItems?.size < 1) { - return No webhooks + return null } const OperationContainer = getComponent("OperationContainer", true) From d75634656c74c032814361538b74c3ccb24e9036 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Mon, 23 Jan 2023 12:47:56 -0800 Subject: [PATCH 05/28] feat(oas31): new oas3.x predicates --- src/core/plugins/oas3/helpers.jsx | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/core/plugins/oas3/helpers.jsx b/src/core/plugins/oas3/helpers.jsx index 069f96fc811..7e77ff4712a 100644 --- a/src/core/plugins/oas3/helpers.jsx +++ b/src/core/plugins/oas3/helpers.jsx @@ -1,18 +1,27 @@ import React from "react" -export function isOAS3(jsSpec) { +export function isOpenAPI30(jsSpec) { const oasVersion = jsSpec.get("openapi") - if(typeof oasVersion !== "string") { + if (typeof oasVersion !== "string") { return false } + return oasVersion.startsWith("3.0.") && oasVersion.length > 4 +} - // we gate against `3.1` because we want to explicitly opt into supporting it - // at some point in the future -- KS, 7/2018 +export function isOpenAPI31(jsSpec) { + const oasVersion = jsSpec.get("openapi") + if (typeof oasVersion !== "string") { + return false + } + return oasVersion.startsWith("3.1.") && oasVersion.length > 4 +} - // starts with, but is not `3.0.` exactly - // return oasVersion.startsWith("3.0.") && oasVersion.length > 4 - // DEV: temp override to allow 3.1 - return oasVersion.startsWith("3.") && oasVersion.length > 4 +export function isOAS3(jsSpec) { + const oasVersion = jsSpec.get("openapi") + if(typeof oasVersion !== "string") { + return false + } + return isOpenAPI30 || isOpenAPI31 } export function isSwagger2(jsSpec) { From b7f6245a9ad37e3d052f479edfb0a15ddf191728 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Wed, 25 Jan 2023 13:13:46 -0800 Subject: [PATCH 06/28] feat(oas31): new selector `selectIsOpenAPI31` --- .../plugins/oas3/spec-extensions/selectors.js | 21 +++++++++++++++-- .../oas3/spec-extensions/wrap-selectors.js | 23 ++++++++++++++++--- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/core/plugins/oas3/spec-extensions/selectors.js b/src/core/plugins/oas3/spec-extensions/selectors.js index 4e7c5c71923..b7c85ee0eaa 100644 --- a/src/core/plugins/oas3/spec-extensions/selectors.js +++ b/src/core/plugins/oas3/spec-extensions/selectors.js @@ -1,10 +1,11 @@ import { createSelector } from "reselect" import { Map } from "immutable" -import { isOAS3 as isOAS3Helper, isSwagger2 as isSwagger2Helper } from "../helpers" +import { isOAS3 as isOAS3Helper, isOpenAPI31 as isOpenAPI31Helper, isSwagger2 as isSwagger2Helper } from "../helpers" // Helpers +// 1/2023: as of now, more accurately, isAnyOAS3 function onlyOAS3(selector) { return () => (system, ...args) => { const spec = system.getSystem().specSelectors.specJson() @@ -16,6 +17,17 @@ function onlyOAS3(selector) { } } +function isOpenAPI31(selector) { + return () => (system, ...args) => { + const spec = system.getSystem().specSelectors.specJson() + if (isOpenAPI31Helper(spec)) { + return selector(...args) + } else { + return null + } + } +} + const state = state => { return state || Map() } @@ -49,7 +61,12 @@ export const isSwagger2 = (ori, system) => () => { return isSwagger2Helper(spec) } -export const selectWebhooks = onlyOAS3(createSelector( +export const selectIsOpenAPI31 = (ori, system) => () => { + const spec = system.getSystem().specSelectors.specJson() + return isOpenAPI31Helper(spec) +} + +export const selectWebhooks = isOpenAPI31(createSelector( spec, spec => spec.getIn(["webhooks"]) || Map() )) diff --git a/src/core/plugins/oas3/spec-extensions/wrap-selectors.js b/src/core/plugins/oas3/spec-extensions/wrap-selectors.js index 42fff3f369b..8e82572d4ed 100644 --- a/src/core/plugins/oas3/spec-extensions/wrap-selectors.js +++ b/src/core/plugins/oas3/spec-extensions/wrap-selectors.js @@ -1,11 +1,11 @@ import { createSelector } from "reselect" import { specJsonWithResolvedSubtrees } from "../../spec/selectors" import { Map } from "immutable" -import { isOAS3 as isOAS3Helper, isSwagger2 as isSwagger2Helper } from "../helpers" +import { isOAS3 as isOAS3Helper, isOpenAPI31 as isOpenAPI31Helper, isSwagger2 as isSwagger2Helper } from "../helpers" // Helpers - +// 1/2023: as of now, more accurately, isAnyOAS3 function onlyOAS3(selector) { return (ori, system) => (...args) => { const spec = system.getSystem().specSelectors.specJson() @@ -17,6 +17,17 @@ function onlyOAS3(selector) { } } +function isOpenAPI31(selector) { + return (ori, system) => (...args) => { + const spec = system.getSystem().specSelectors.specJson() + if (isOpenAPI31Helper(spec)) { + return selector(...args) + } else { + return null + } + } +} + const state = state => { return state || Map() } @@ -84,7 +95,13 @@ export const isSwagger2 = (ori, system) => () => { return isSwagger2Helper(Map.isMap(spec) ? spec : Map()) } -export const selectWebhooks = onlyOAS3(createSelector( +export const selectIsOpenAPI31 = (ori, system) => () => { + const spec = system.getSystem().specSelectors.specJson() + return isOpenAPI31Helper(Map.isMap(spec) ? spec : Map()) +} + +export const selectWebhooks = isOpenAPI31(createSelector( spec, spec => spec.getIn(["webhooks"]) || Map() )) + From f4300e1f2cdcd277dc9719c0844a5f8c571ac95c Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Wed, 25 Jan 2023 13:14:39 -0800 Subject: [PATCH 07/28] feat(oas31): License component with `selectIsOpenAPI31` --- src/core/plugins/oas3/wrap-components/license.jsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/core/plugins/oas3/wrap-components/license.jsx b/src/core/plugins/oas3/wrap-components/license.jsx index 3b54b2bd84f..7560a6b8131 100644 --- a/src/core/plugins/oas3/wrap-components/license.jsx +++ b/src/core/plugins/oas3/wrap-components/license.jsx @@ -10,25 +10,28 @@ const createSPDXurl = (identifier) => { } const License = (props) => { - const { license, getComponent, selectedServer, url: specUrl } = props + const { license, getComponent, selectedServer, url: specUrl, specSelectors } = props const Link = getComponent("Link") const name = license.get("name") || "License" const url = safeBuildUrl(license.get("url"), specUrl, { selectedServer }) const identifier = license.get("identifier") || "" // OAS3.1 field const identifierUrl = createSPDXurl(identifier) + const isOpenAPI31 = specSelectors.selectIsOpenAPI31() return (
{ - url && !identifier ? {name} - :
{name}
+ !isOpenAPI31 && url &&
{name}
} { - identifier && !url &&
SPDX License: {identifier}
+ isOpenAPI31 && url && !identifier &&
{name}
} { - identifier && url &&
Render Error: License.url and License.identifier are mutually exclusive fields
+ isOpenAPI31 && identifier && !url &&
SPDX License: {identifier}
} + {/* { + isOpenAPI31 && identifier && url &&
Render Error: License.url and License.identifier are mutually exclusive fields
+ } */}
) } From 1eb9e2c7c076c44c7e2fe2dd197540f384e0c834 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Wed, 25 Jan 2023 16:02:50 -0800 Subject: [PATCH 08/28] test(oas31): cypress tests for License component --- .../documents/features/license-openAPI2.yaml | 8 +++ .../documents/features/license-openAPI30.yaml | 9 ++++ ...enAPI31-error-both-identifier-and-url.yaml | 9 ++++ .../license-openAPI31-identifier.yaml | 9 ++++ .../features/license-openAPI31-url.yaml | 9 ++++ test/e2e-cypress/tests/features/license.js | 52 +++++++++++++++++++ 6 files changed, 96 insertions(+) create mode 100644 test/e2e-cypress/static/documents/features/license-openAPI2.yaml create mode 100644 test/e2e-cypress/static/documents/features/license-openAPI30.yaml create mode 100644 test/e2e-cypress/static/documents/features/license-openAPI31-error-both-identifier-and-url.yaml create mode 100644 test/e2e-cypress/static/documents/features/license-openAPI31-identifier.yaml create mode 100644 test/e2e-cypress/static/documents/features/license-openAPI31-url.yaml create mode 100644 test/e2e-cypress/tests/features/license.js diff --git a/test/e2e-cypress/static/documents/features/license-openAPI2.yaml b/test/e2e-cypress/static/documents/features/license-openAPI2.yaml new file mode 100644 index 00000000000..4ef770504df --- /dev/null +++ b/test/e2e-cypress/static/documents/features/license-openAPI2.yaml @@ -0,0 +1,8 @@ +swagger: 2.0.0 +info: + title: OpenAPI 2.0 License with only url present + version: 1.0.0 + description: This is a sample server for a pet store. + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html diff --git a/test/e2e-cypress/static/documents/features/license-openAPI30.yaml b/test/e2e-cypress/static/documents/features/license-openAPI30.yaml new file mode 100644 index 00000000000..9283621c7c8 --- /dev/null +++ b/test/e2e-cypress/static/documents/features/license-openAPI30.yaml @@ -0,0 +1,9 @@ +openapi: 3.0.0 +info: + title: OpenAPI 3.0 License with only url present + version: 1.0.0 + description: This is a sample server for a pet store. + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + # identifier: Apache-2.0 # mutually exclusive of url; separately, for json_schema, consider const, prefix, array items can be of a different type (current assumption is all array items are the same) diff --git a/test/e2e-cypress/static/documents/features/license-openAPI31-error-both-identifier-and-url.yaml b/test/e2e-cypress/static/documents/features/license-openAPI31-error-both-identifier-and-url.yaml new file mode 100644 index 00000000000..8ccb9ab3e2d --- /dev/null +++ b/test/e2e-cypress/static/documents/features/license-openAPI31-error-both-identifier-and-url.yaml @@ -0,0 +1,9 @@ +openapi: 3.1.0 +info: + title: OpenAPI 3.1 License with only identifier present + version: 1.0.0 + description: This is a sample server for a pet store. + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + identifier: Apache-2.0 # mutually exclusive of url; separately, for json_schema, consider const, prefix, array items can be of a different type (current assumption is all array items are the same) diff --git a/test/e2e-cypress/static/documents/features/license-openAPI31-identifier.yaml b/test/e2e-cypress/static/documents/features/license-openAPI31-identifier.yaml new file mode 100644 index 00000000000..9a777a5a9f9 --- /dev/null +++ b/test/e2e-cypress/static/documents/features/license-openAPI31-identifier.yaml @@ -0,0 +1,9 @@ +openapi: 3.1.0 +info: + title: OpenAPI 3.1 License with only identifier present + version: 1.0.0 + description: This is a sample server for a pet store. + license: + name: Apache 2.0 + # url: https://www.apache.org/licenses/LICENSE-2.0.html + identifier: Apache-2.0 # mutually exclusive of url; separately, for json_schema, consider const, prefix, array items can be of a different type (current assumption is all array items are the same) diff --git a/test/e2e-cypress/static/documents/features/license-openAPI31-url.yaml b/test/e2e-cypress/static/documents/features/license-openAPI31-url.yaml new file mode 100644 index 00000000000..79bd0c1cce2 --- /dev/null +++ b/test/e2e-cypress/static/documents/features/license-openAPI31-url.yaml @@ -0,0 +1,9 @@ +openapi: 3.1.0 +info: + title: OpenAPI 3.1 License with only url present + version: 1.0.0 + description: This is a sample server for a pet store. + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + # identifier: Apache-2.0 # mutually exclusive of url; separately, for json_schema, consider const, prefix, array items can be of a different type (current assumption is all array items are the same) diff --git a/test/e2e-cypress/tests/features/license.js b/test/e2e-cypress/tests/features/license.js new file mode 100644 index 00000000000..b75ed8858f6 --- /dev/null +++ b/test/e2e-cypress/tests/features/license.js @@ -0,0 +1,52 @@ +describe("Render License", () => { + it("should render License URL from Swagger2 definition", () => { + const baseUrl = "/?url=/documents/features/license-openAPI2.yaml" + cy.visit(baseUrl) + .get(".info__license") + .should("exist") + .should("contains.text", "Apache 2.0") + .should("not.contains.text", "SPDX License") + .get(".info__license__identifier") + .should("not.exist") + }) + it("should render License URL from OpenAPI 3.0 definition", () => { + const baseUrl = "/?url=/documents/features/license-openAPI30.yaml" + cy.visit(baseUrl) + .get(".info__license__url") + .should("exist") + .should("contains.text", "Apache 2.0") + .should("not.contains.text", "SPDX License") + .get(".info__license__identifier") + .should("not.exist") + }) + describe("should render License from OpenAPI 3.1 definition", () => { + it("should render only URL", () => { + const baseUrl = "/?url=/documents/features/license-openAPI31-url.yaml" + cy.visit(baseUrl) + .get(".info__license__url") + .should("exist") + .should("contains.text", "Apache 2.0") + .should("not.contains.text", "SPDX License") + .get(".info__license__identifier") + .should("not.exist") + }) + it("should render only SPDX", () => { + const baseUrl = "/?url=/documents/features/license-openAPI31-identifier.yaml" + cy.visit(baseUrl) + .get(".info__license__identifier") + .should("exist") + .should("contains.text", "Apache-2.0") + .should("contains.text", "SPDX License") + .get(".info__license__url") + .should("not.exist") + }) + it("should render nothing if both URL & SPDX exists", () => { + const baseUrl = "/?url=/documents/features/license-openAPI31-error-both-identifier-and-url.yaml" + cy.visit(baseUrl) + .get(".info__license__identifier") + .should("not.exist") + .get(".info__license__url") + .should("not.exist") + }) + }) +}) From ba530be9b43e60b86e78227aa33c7d02546db3b6 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 11:35:33 -0800 Subject: [PATCH 09/28] test(oas31): add anchor target safety check for License object --- test/e2e-cypress/tests/features/license.js | 127 +++++++++++++++------ 1 file changed, 90 insertions(+), 37 deletions(-) diff --git a/test/e2e-cypress/tests/features/license.js b/test/e2e-cypress/tests/features/license.js index b75ed8858f6..96beadefcca 100644 --- a/test/e2e-cypress/tests/features/license.js +++ b/test/e2e-cypress/tests/features/license.js @@ -1,52 +1,105 @@ describe("Render License", () => { - it("should render License URL from Swagger2 definition", () => { + describe("OpenAPI 2", () =>{ const baseUrl = "/?url=/documents/features/license-openAPI2.yaml" - cy.visit(baseUrl) - .get(".info__license") - .should("exist") - .should("contains.text", "Apache 2.0") - .should("not.contains.text", "SPDX License") - .get(".info__license__identifier") - .should("not.exist") - }) - it("should render License URL from OpenAPI 3.0 definition", () => { - const baseUrl = "/?url=/documents/features/license-openAPI30.yaml" - cy.visit(baseUrl) - .get(".info__license__url") - .should("exist") - .should("contains.text", "Apache 2.0") - .should("not.contains.text", "SPDX License") - .get(".info__license__identifier") - .should("not.exist") - }) - describe("should render License from OpenAPI 3.1 definition", () => { - it("should render only URL", () => { - const baseUrl = "/?url=/documents/features/license-openAPI31-url.yaml" + it("should render License URL", () => { cy.visit(baseUrl) - .get(".info__license__url") + .get(".info__license") .should("exist") .should("contains.text", "Apache 2.0") .should("not.contains.text", "SPDX License") .get(".info__license__identifier") .should("not.exist") - }) - it("should render only SPDX", () => { - const baseUrl = "/?url=/documents/features/license-openAPI31-identifier.yaml" + }) + it("should render License URL anchor target xss link with safe `rel` attributes ", () => { cy.visit(baseUrl) - .get(".info__license__identifier") - .should("exist") - .should("contains.text", "Apache-2.0") - .should("contains.text", "SPDX License") - .get(".info__license__url") - .should("not.exist") - }) - it("should render nothing if both URL & SPDX exists", () => { - const baseUrl = "/?url=/documents/features/license-openAPI31-error-both-identifier-and-url.yaml" + .get(".info__license > .link") + .should("have.attr", "rel") + .and("include", "noopener") + .and("include", "noreferrer") + .get(".info .main > a") + .should("have.attr", "target") + .and("equal", "_blank") + }) + }) + describe("OpenAPI 3.0.x", () => { + const baseUrl = "/?url=/documents/features/license-openAPI30.yaml" + it("should render License URL", () => { cy.visit(baseUrl) - .get(".info__license__identifier") - .should("not.exist") .get(".info__license__url") + .should("exist") + .should("contains.text", "Apache 2.0") + .should("not.contains.text", "SPDX License") + .get(".info__license__identifier") .should("not.exist") }) + it("should render URL anchor target xss link with safe `rel` attributes ", () => { + cy.visit(baseUrl) + .get(".info__license__url > a") + .should("have.attr", "rel") + .and("include", "noopener") + .and("include", "noreferrer") + .get(".info .main > a") + .should("have.attr", "target") + .and("equal", "_blank") + }) + }) + describe("OpenAPI 3.1.x", () => { + describe("only URL", () => { + const baseUrl = "/?url=/documents/features/license-openAPI31-url.yaml" + it("should render URL", () => { + cy.visit(baseUrl) + .get(".info__license__url") + .should("exist") + .should("contains.text", "Apache 2.0") + .should("not.contains.text", "SPDX License") + .get(".info__license__identifier") + .should("not.exist") + }) + it("should render URL anchor target xss link with safe `rel` attributes ", () => { + cy.visit(baseUrl) + .get(".info__license__url > a") + .should("have.attr", "rel") + .and("include", "noopener") + .and("include", "noreferrer") + .get(".info .main > a") + .should("have.attr", "target") + .and("equal", "_blank") + }) + }) + describe("only SPDX Identifier", () => { + const baseUrl = "/?url=/documents/features/license-openAPI31-identifier.yaml" + it("should render SPDX Identifier", () => { + cy.visit(baseUrl) + .get(".info__license__identifier") + .should("exist") + .should("contains.text", "Apache-2.0") + .should("contains.text", "SPDX License") + .get(".info__license__url") + .should("not.exist") + }) + it("should render SPDX and Identifier anchor target xss links with safe `rel` attributes ", () => { + cy.visit(baseUrl) + .get(".info__license__identifier > a") + .each(($el) => { + cy.get($el) + .should("have.attr", "rel") + .and("include", "noopener") + .and("include", "noreferrer") + cy.get($el) + .should("have.attr", "target") + .and("equal", "_blank") + }) + }) + }) + describe("URL and SPX are mutually exclusive", () => { + it("should render nothing if both URL & SPDX exists", () => { + const baseUrl = "/?url=/documents/features/license-openAPI31-error-both-identifier-and-url.yaml" + cy.visit(baseUrl) + .get(".info__license__identifier") + .should("not.exist") + .get(".info__license__url") + .should("not.exist") + }) + }) }) }) From 4f17657b305158605e873680868acef8c71e8811 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 11:36:32 -0800 Subject: [PATCH 10/28] feat(oas3): export Contact component * also remove the oas3.1 summary field --- src/core/components/info.jsx | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/core/components/info.jsx b/src/core/components/info.jsx index d078982c372..1922239a990 100644 --- a/src/core/components/info.jsx +++ b/src/core/components/info.jsx @@ -23,7 +23,7 @@ export class InfoBasePath extends React.Component { } -class Contact extends React.Component { +export class Contact extends React.Component { static propTypes = { data: PropTypes.object, getComponent: PropTypes.func.isRequired, @@ -115,9 +115,6 @@ export default class Info extends React.Component { let termsOfServiceUrl = safeBuildUrl(info.get("termsOfService"), specUrl, {selectedServer}) let contact = info.get("contact") let license = info.get("license") - // todo: prefer new wrap component, with info.summary - // note that ux may want to move summary to a sub-heading, as summary is a string that does not need to be Markdown - const summary = info.get("summary") // OAS3.1 field let rawExternalDocsUrl = externalDocs && externalDocs.get("url") let externalDocsUrl = safeBuildUrl(rawExternalDocsUrl, specUrl, {selectedServer}) let externalDocsDescription = externalDocs && externalDocs.get("description") @@ -139,11 +136,6 @@ export default class Info extends React.Component { { url && } - { - summary &&
- -
- }
From fde3c3abaaf5d6c1ea5f8b23aef06038cd1b422d Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 11:37:11 -0800 Subject: [PATCH 11/28] feat(oas31): wrap Info component for summary field --- .../plugins/oas3/wrap-components/index.js | 2 + .../plugins/oas3/wrap-components/info.jsx | 78 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 src/core/plugins/oas3/wrap-components/info.jsx diff --git a/src/core/plugins/oas3/wrap-components/index.js b/src/core/plugins/oas3/wrap-components/index.js index 013cf8c98f8..cd0c627aa2d 100644 --- a/src/core/plugins/oas3/wrap-components/index.js +++ b/src/core/plugins/oas3/wrap-components/index.js @@ -5,6 +5,7 @@ import OnlineValidatorBadge from "./online-validator-badge" import Model from "./model" import JsonSchema_string from "./json-schema-string" import License from "./license" +import info from "./info" export default { Markdown, @@ -14,4 +15,5 @@ export default { model: Model, onlineValidatorBadge: OnlineValidatorBadge, License, + info, } diff --git a/src/core/plugins/oas3/wrap-components/info.jsx b/src/core/plugins/oas3/wrap-components/info.jsx new file mode 100644 index 00000000000..42112b9701f --- /dev/null +++ b/src/core/plugins/oas3/wrap-components/info.jsx @@ -0,0 +1,78 @@ +import React from "react" +import PropTypes from "prop-types" +import ImPropTypes from "react-immutable-proptypes" +import { sanitizeUrl } from "core/utils" +import { safeBuildUrl } from "core/utils/url" +import { OAS3ComponentWrapFactory } from "../helpers" + +const Info = (props) => { + const { info, url, host, basePath, getComponent, specSelectors, externalDocs, selectedServer, url: specUrl } = props + const isOpenAPI31 = specSelectors.selectIsOpenAPI31() + const version = info.get("version") + const description = info.get("description") + const title = info.get("title") + const termsOfServiceUrl = safeBuildUrl(info.get("termsOfService"), specUrl, { selectedServer }) + const contact = info.get("contact") + const license = info.get("license") + // note that ux may want to move summary to a sub-heading, as summary is a string that does not need to be Markdown + const summary = info.get("summary") // OAS3.1 field + const rawExternalDocsUrl = externalDocs && externalDocs.get("url") + const externalDocsUrl = safeBuildUrl(rawExternalDocsUrl, specUrl, { selectedServer }) + const externalDocsDescription = externalDocs && externalDocs.get("description") + + const Markdown = getComponent("Markdown", true) + const Link = getComponent("Link") + const VersionStamp = getComponent("VersionStamp") + const InfoUrl = getComponent("InfoUrl") + const InfoBasePath = getComponent("InfoBasePath") + const License = getComponent("License") + const Contact = getComponent("Contact") + + return ( +
+
+

{title} + {version && } +

+ {host || basePath ? : null} + {url && } +
+ + { + isOpenAPI31 && summary &&
+ +
+ } +
+ +
+ + { + termsOfServiceUrl &&
+ Terms of service +
+ } + + {contact && contact.size ? : null} + {license && license.size ? : null} + {externalDocsUrl ? + {externalDocsDescription || externalDocsUrl} + : null} + +
+ ) +} + +Info.propTypes = { + info: PropTypes.object, + url: PropTypes.string, + host: PropTypes.string, + basePath: PropTypes.string, + externalDocs: ImPropTypes.map, + getComponent: PropTypes.func.isRequired, + specSelectors: PropTypes.object.isRequired, + oas3selectors: PropTypes.func, + selectedServer: PropTypes.string, +} + +export default OAS3ComponentWrapFactory(Info) \ No newline at end of file From fc6ba1d291809d35755a3973d8affa5b1381abab Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 11:37:48 -0800 Subject: [PATCH 12/28] test(oas31): cypress tests for Info wrapped component --- .../documents/features/info-openAPI2.yaml | 8 ++ .../documents/features/info-openAPI30.yaml | 8 ++ .../documents/features/info-openAPI31.yaml | 14 ++++ test/e2e-cypress/tests/features/info.js | 74 +++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 test/e2e-cypress/static/documents/features/info-openAPI2.yaml create mode 100644 test/e2e-cypress/static/documents/features/info-openAPI30.yaml create mode 100644 test/e2e-cypress/static/documents/features/info-openAPI31.yaml create mode 100644 test/e2e-cypress/tests/features/info.js diff --git a/test/e2e-cypress/static/documents/features/info-openAPI2.yaml b/test/e2e-cypress/static/documents/features/info-openAPI2.yaml new file mode 100644 index 00000000000..b34447b2a60 --- /dev/null +++ b/test/e2e-cypress/static/documents/features/info-openAPI2.yaml @@ -0,0 +1,8 @@ +swagger: 2.0.0 +info: + title: OpenAPI 2.0 Info Object + version: 1.0.0 + summary: This 3.1.x field should not render in OpenAPI2.x.x + description: This is a sample server for a pet store. + license: + name: Apache 2.0 diff --git a/test/e2e-cypress/static/documents/features/info-openAPI30.yaml b/test/e2e-cypress/static/documents/features/info-openAPI30.yaml new file mode 100644 index 00000000000..7aca7e42cc7 --- /dev/null +++ b/test/e2e-cypress/static/documents/features/info-openAPI30.yaml @@ -0,0 +1,8 @@ +openapi: 3.1.0 +info: + title: OpenAPI 3.0 Info Object + version: 1.0.0 + summary: This 3.1.x field should not render in OpenAPI3.0.x + description: This is a sample server for a pet store. + license: + name: Apache 2.0 diff --git a/test/e2e-cypress/static/documents/features/info-openAPI31.yaml b/test/e2e-cypress/static/documents/features/info-openAPI31.yaml new file mode 100644 index 00000000000..ba50361a2db --- /dev/null +++ b/test/e2e-cypress/static/documents/features/info-openAPI31.yaml @@ -0,0 +1,14 @@ +openapi: 3.1.0 +info: + title: OpenAPI 3.1 Info Object + version: 1.0.0 + summary: a new 3.1.x specific field for summary + description: This is a sample server for a pet store. + license: + name: Apache 2.0 + # url: https://www.apache.org/licenses/LICENSE-2.0.html + identifier: Apache-2.0 # mutually exclusive of url; separately, for json_schema, consider const, prefix, array items can be of a different type (current assumption is all array items are the same) + # contact: + # name: API Support + # url: https://www.example.com/support + # email: support@example.com diff --git a/test/e2e-cypress/tests/features/info.js b/test/e2e-cypress/tests/features/info.js new file mode 100644 index 00000000000..9ffdc6d8222 --- /dev/null +++ b/test/e2e-cypress/tests/features/info.js @@ -0,0 +1,74 @@ +describe("Render Info", () => { + describe("OpenAPI 2.x", () => { + const baseUrl = "/?url=/documents/features/info-openAPI2.yaml" + it("should render Info Description", () => { + cy.visit(baseUrl) + .get(".info .description") + .should("contains.text", "This is a sample") + }) + it("should render Info Main anchor target xss link with safe `rel` attributes", () => { + cy.visit(baseUrl) + .get(".info .main > a") + .should("have.attr", "rel") + .and("include", "noopener") + .and("include", "noreferrer") + .get(".info .main > a") + .should("have.attr", "target") + .and("equal", "_blank") + }) + it("should not render Info Summary (an OpenAPI 3.1 field)", () => { + cy.visit(baseUrl) + .get(".info__summary") + .should("not.exist") + }) + }) + describe("OpenAPI 3.0.x", () => { + const baseUrl = "/?url=/documents/features/info-openAPI30.yaml" + it("should render Info Description", () => { + cy.visit(baseUrl) + .get(".info .description") + .should("contains.text", "This is a sample") + }) + it("should render Info Main anchor target xss link with safe `rel` attributes", () => { + cy.visit(baseUrl) + .get(".info .main > a") + .should("have.attr", "rel") + .and("include", "noopener") + .and("include", "noreferrer") + .get(".info .main > a") + .should("have.attr", "target") + .and("equal", "_blank") + }) + it("should not render Info Summary (an OpenAPI 3.1 field)", () => { + cy.visit(baseUrl) + .get(".info__summary") + .should("not.exist") + }) + }) + describe("OpenAPI 3.1.x", () => { + const baseUrl = "/?url=/documents/features/info-openAPI31.yaml" + it("should render Info Description", () => { + cy.visit(baseUrl) + .get(".info .description") + .should("contains.text", "This is a sample") + }) + it("should render Info Main anchor target xss link with safe `rel` attributes", () => { + cy.visit(baseUrl) + .get(".info .main > a") + .should("have.attr", "rel") + .and("include", "noopener") + .and("include", "noreferrer") + .get(".info .main > a") + .should("have.attr", "target") + .and("equal", "_blank") + }) + it("should render Info Summary", () => { + cy.visit(baseUrl) + .get(".info__summary") + .should("exist") + .should("contains.text", "new 3.1.x specific field") + .get(".info .description") + .should("contains.text", "This is a sample") + }) + }) +}) From 5ba8799662a188b64b0a94b99c987a4198d0d06d Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 14:28:05 -0800 Subject: [PATCH 13/28] chore(oas31) cleanup test fixtures --- .../static/documents/features/info-openAPI2.yaml | 2 -- .../static/documents/features/info-openAPI30.yaml | 2 -- .../static/documents/features/info-openAPI31.yaml | 9 +-------- .../static/documents/features/license-openAPI30.yaml | 1 - test/e2e-cypress/tests/features/info.js | 2 +- test/e2e-cypress/tests/features/license.js | 2 +- 6 files changed, 3 insertions(+), 15 deletions(-) diff --git a/test/e2e-cypress/static/documents/features/info-openAPI2.yaml b/test/e2e-cypress/static/documents/features/info-openAPI2.yaml index b34447b2a60..05d62de0ecf 100644 --- a/test/e2e-cypress/static/documents/features/info-openAPI2.yaml +++ b/test/e2e-cypress/static/documents/features/info-openAPI2.yaml @@ -4,5 +4,3 @@ info: version: 1.0.0 summary: This 3.1.x field should not render in OpenAPI2.x.x description: This is a sample server for a pet store. - license: - name: Apache 2.0 diff --git a/test/e2e-cypress/static/documents/features/info-openAPI30.yaml b/test/e2e-cypress/static/documents/features/info-openAPI30.yaml index 7aca7e42cc7..dbe8527ec45 100644 --- a/test/e2e-cypress/static/documents/features/info-openAPI30.yaml +++ b/test/e2e-cypress/static/documents/features/info-openAPI30.yaml @@ -4,5 +4,3 @@ info: version: 1.0.0 summary: This 3.1.x field should not render in OpenAPI3.0.x description: This is a sample server for a pet store. - license: - name: Apache 2.0 diff --git a/test/e2e-cypress/static/documents/features/info-openAPI31.yaml b/test/e2e-cypress/static/documents/features/info-openAPI31.yaml index ba50361a2db..d98204240cb 100644 --- a/test/e2e-cypress/static/documents/features/info-openAPI31.yaml +++ b/test/e2e-cypress/static/documents/features/info-openAPI31.yaml @@ -4,11 +4,4 @@ info: version: 1.0.0 summary: a new 3.1.x specific field for summary description: This is a sample server for a pet store. - license: - name: Apache 2.0 - # url: https://www.apache.org/licenses/LICENSE-2.0.html - identifier: Apache-2.0 # mutually exclusive of url; separately, for json_schema, consider const, prefix, array items can be of a different type (current assumption is all array items are the same) - # contact: - # name: API Support - # url: https://www.example.com/support - # email: support@example.com + \ No newline at end of file diff --git a/test/e2e-cypress/static/documents/features/license-openAPI30.yaml b/test/e2e-cypress/static/documents/features/license-openAPI30.yaml index 9283621c7c8..85220a835ef 100644 --- a/test/e2e-cypress/static/documents/features/license-openAPI30.yaml +++ b/test/e2e-cypress/static/documents/features/license-openAPI30.yaml @@ -6,4 +6,3 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html - # identifier: Apache-2.0 # mutually exclusive of url; separately, for json_schema, consider const, prefix, array items can be of a different type (current assumption is all array items are the same) diff --git a/test/e2e-cypress/tests/features/info.js b/test/e2e-cypress/tests/features/info.js index 9ffdc6d8222..499d4c28d67 100644 --- a/test/e2e-cypress/tests/features/info.js +++ b/test/e2e-cypress/tests/features/info.js @@ -1,4 +1,4 @@ -describe("Render Info", () => { +describe("Render Info Component", () => { describe("OpenAPI 2.x", () => { const baseUrl = "/?url=/documents/features/info-openAPI2.yaml" it("should render Info Description", () => { diff --git a/test/e2e-cypress/tests/features/license.js b/test/e2e-cypress/tests/features/license.js index 96beadefcca..009cb101c79 100644 --- a/test/e2e-cypress/tests/features/license.js +++ b/test/e2e-cypress/tests/features/license.js @@ -1,4 +1,4 @@ -describe("Render License", () => { +describe("Render License Component", () => { describe("OpenAPI 2", () =>{ const baseUrl = "/?url=/documents/features/license-openAPI2.yaml" it("should render License URL", () => { From 27de43a34d9fc7be0071acc64f14e974acb445c5 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 14:29:12 -0800 Subject: [PATCH 14/28] feat(oas31): add selectIsOpenAPI31 to BaseLayout for Webhooks --- src/core/components/layouts/base.jsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/core/components/layouts/base.jsx b/src/core/components/layouts/base.jsx index 6c821963e74..c6f0a7bfd91 100644 --- a/src/core/components/layouts/base.jsx +++ b/src/core/components/layouts/base.jsx @@ -31,6 +31,7 @@ export default class BaseLayout extends React.Component { const FilterContainer = getComponent("FilterContainer", true) let isSwagger2 = specSelectors.isSwagger2() let isOAS3 = specSelectors.isOAS3() + const isOpenAPI31 = specSelectors.selectIsOpenAPI31() const isSpecEmpty = !specSelectors.specStr() @@ -113,11 +114,13 @@ export default class BaseLayout extends React.Component {
- - - - - + { isOpenAPI31 && + + + + + + } From 054b1d10bd4271e9c2c75415897be9985e122e8b Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 15:10:55 -0800 Subject: [PATCH 15/28] refactor(oas31): webhooks cleanup --- src/core/plugins/oas3/components/webhooks.jsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/core/plugins/oas3/components/webhooks.jsx b/src/core/plugins/oas3/components/webhooks.jsx index 31ecb818fe1..9bd3e8e66dc 100644 --- a/src/core/plugins/oas3/components/webhooks.jsx +++ b/src/core/plugins/oas3/components/webhooks.jsx @@ -15,7 +15,6 @@ const Webhooks = (props) => { } const OperationContainer = getComponent("OperationContainer", true) - // Todo: do we have to account for `$$ref` cases of pathItem and/or operation? const pathItemsElements = webhooksPathItems.entrySeq().map(([pathItemName, pathItem], i) => { const operationsElements = pathItem.entrySeq().map(([operationMethod, operation], j) => { const op = fromJS({ @@ -32,7 +31,6 @@ const Webhooks = (props) => { method={operationMethod} path={pathItemName} specPath={specPath.push("webhooks", pathItemName, operationMethod)} - // specPath={fromJS(["webhooks", pathItemName, operationMethod])} allowTryItOut={false} /> }) @@ -42,7 +40,7 @@ const Webhooks = (props) => { }) return ( -
+

Webhooks

{pathItemsElements}
From 1c5b651fefa908622481d934da3db252204ba9f5 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 26 Jan 2023 15:11:32 -0800 Subject: [PATCH 16/28] test(oas31): cypress tests for Webhook component --- .../features/webhooks-openAPI30.yaml | 24 +++++++++ .../features/webhooks-openAPI31.yaml | 50 +++++++++++++++++++ test/e2e-cypress/tests/features/webhooks.js | 26 ++++++++++ 3 files changed, 100 insertions(+) create mode 100644 test/e2e-cypress/static/documents/features/webhooks-openAPI30.yaml create mode 100644 test/e2e-cypress/static/documents/features/webhooks-openAPI31.yaml create mode 100644 test/e2e-cypress/tests/features/webhooks.js diff --git a/test/e2e-cypress/static/documents/features/webhooks-openAPI30.yaml b/test/e2e-cypress/static/documents/features/webhooks-openAPI30.yaml new file mode 100644 index 00000000000..8c7f37cee21 --- /dev/null +++ b/test/e2e-cypress/static/documents/features/webhooks-openAPI30.yaml @@ -0,0 +1,24 @@ +openapi: 3.0.0 +info: + title: Webhooks does not exist in OpenAPI 3.0 and should not render + version: 1.0.0 + summary: a new 3.1.x specific field for summary + description: This is a sample server for a pet store. + termsOfService: https://example.com/terms/ +webhooks: + newPet: + post: + summary: summary for newPet--post + requestBody: + description: Information about a new pet in the system + content: + application/json: + schema: + $ref: "#/components/schemas/foo" + responses: + "200": + description: Return a 200 status to indicate that the data was received successfully +components: + schemas: + foo: + type: string diff --git a/test/e2e-cypress/static/documents/features/webhooks-openAPI31.yaml b/test/e2e-cypress/static/documents/features/webhooks-openAPI31.yaml new file mode 100644 index 00000000000..190f27b1f81 --- /dev/null +++ b/test/e2e-cypress/static/documents/features/webhooks-openAPI31.yaml @@ -0,0 +1,50 @@ +openapi: 3.1.0 +info: + title: OpenAPI 3.1 Webhooks + version: 1.0.0 + summary: a new 3.1.x specific field for summary + description: This is a sample server for a pet store. + termsOfService: https://example.com/terms/ + license: + name: Apache 2.0 + identifier: Apache-2.0 +webhooks: + newPet: + post: + summary: summary for newPet--post + requestBody: + description: Information about a new pet in the system + content: + application/json: + schema: + $ref: "#/components/schemas/foo" + responses: + "200": + description: Return a 200 status to indicate that the data was received successfully + put: + summary: summary for newPet--put + requestBody: + description: Information about a new pet in the system + content: + application/json: + schema: + $ref: "#/components/schemas/foo" + responses: + "200": + description: Return a 200 status to indicate that the data was received successfully + oldPet: + post: + summary: summary for oldPet--post + requestBody: + description: Information about a new pet in the system + content: + application/json: + schema: + $ref: "#/components/schemas/foo" + responses: + "200": + description: Return a 200 status to indicate that the data was received successfully +components: + schemas: + foo: + type: string diff --git a/test/e2e-cypress/tests/features/webhooks.js b/test/e2e-cypress/tests/features/webhooks.js new file mode 100644 index 00000000000..a86d44bdfab --- /dev/null +++ b/test/e2e-cypress/tests/features/webhooks.js @@ -0,0 +1,26 @@ +describe("Render Webhooks Component", () => { + describe("OpenAPI 3.1.x", () => { + const baseUrl = "/?url=/documents/features/webhooks-openAPI31.yaml" + it("should render a heading", () => { + cy.visit(baseUrl) + .get(".webhooks") + .should("exist") + .should("contains.text", "Webhooks") + }) + it("should render an operation component", () => { + cy.visit(baseUrl) + .get(".webhooks #operations--postnewPet > .opblock-summary") + .should("exist") + .should("contains.text", "POST") + .should("contains.text", "newPet") + }) + }) + describe("OpenAPI 3.0.x", () => { + const baseUrl = "/?url=/documents/features/webhooks-openAPI31.yaml" + it("should render nothing", () => { + cy.visit(baseUrl) + .get(".webhooks") + .should("not.exist") + }) + }) +}) \ No newline at end of file From ab8d4cddbcd9232685e600374fb58fdc12e7fdc9 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Fri, 27 Jan 2023 09:25:57 -0800 Subject: [PATCH 17/28] feat(deps): swagger-cllient with apidom --- package-lock.json | 782 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 3 +- 2 files changed, 777 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 679dd133f8d..0aa741e4657 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "reselect": "^4.1.5", "serialize-error": "^8.1.0", "sha.js": "^2.4.11", - "swagger-client": "^3.18.5", + "swagger-client": "^3.19.0-alpha.3", "url-parse": "^1.5.8", "xml": "=1.0.1", "xml-but-prettier": "^1.0.1", @@ -26862,9 +26862,15 @@ } }, "node_modules/swagger-client": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.18.5.tgz", - "integrity": "sha512-c0txGDtfQTJnaIBaEKCwtRNcUaaAfj+RXI4QVV9p3WW+AUCQqp4naCjaDNNsOfMkE4ySyhnblbL+jGqAVC7snw==", + "version": "3.19.0-alpha.3", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.19.0-alpha.3.tgz", + "integrity": "sha512-Q3GfQZPXj4+6qv/F2uYzpsObM2qz6cqI6Fsrio2RX/SW4FuyNMtWEpkwzEilRh/Kz9lRjdapz7UVROvVB41r0A==", + "bundleDependencies": [ + "@swagger-api/apidom-core", + "@swagger-api/apidom-reference", + "@swagger-api/apidom-ns-openapi-3-1", + "@swagger-api/apidom-json-pointer" + ], "dependencies": { "@babel/runtime-corejs3": "^7.11.2", "cookie": "~0.5.0", @@ -26881,6 +26887,333 @@ "url": "~0.11.0" } }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ast": { + "version": "0.65.0", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime-corejs3": "=7.20.7", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2", + "unraw": "=2.0.1" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ast/node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-core": { + "version": "0.65.0", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-ast": "^0.65.0", + "@types/ramda": "=0.28.21", + "minim": "=0.23.8", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "short-unique-id": "=4.4.4", + "stampit": "=4.3.2" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-core/node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-json-pointer": { + "version": "0.65.0", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-json-pointer/node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-asyncapi-2": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { + "version": "0.65.0", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-json-schema-draft-4/node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-0": { + "version": "0.65.0", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.65.0", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-0/node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-1": { + "version": "0.65.0", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-1/node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-json": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-reference": { + "version": "0.65.0", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-json-pointer": "^0.65.0", + "@swagger-api/apidom-ns-asyncapi-2": "=0.0.1", + "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.65.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "=0.0.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "=0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "=0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "=0.0.1", + "@swagger-api/apidom-parser-adapter-json": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "=0.0.1", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "=0.0.1", + "@types/ramda": "=0.28.21", + "axios": "=1.2.3", + "minimatch": "=6.1.5", + "process": "=0.11.10", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + } + }, + "node_modules/swagger-client/node_modules/@swagger-api/apidom-reference/node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/swagger-client/node_modules/@types/ramda": { + "version": "0.28.21", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ts-toolbelt": "^6.15.1" + } + }, + "node_modules/swagger-client/node_modules/axios": { + "name": "-", + "version": "0.0.1", + "extraneous": true, + "inBundle": true, + "license": "UNLICENSED" + }, + "node_modules/swagger-client/node_modules/balanced-match": { + "version": "1.0.2", + "extraneous": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/swagger-client/node_modules/brace-expansion": { + "version": "2.0.1", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/swagger-client/node_modules/core-js-pure": { + "version": "3.27.2", + "extraneous": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/swagger-client/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -26889,6 +27222,107 @@ "node": ">=0.10.0" } }, + "node_modules/swagger-client/node_modules/lodash": { + "version": "4.17.21", + "inBundle": true, + "license": "MIT" + }, + "node_modules/swagger-client/node_modules/minim": { + "version": "0.23.8", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.15.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/swagger-client/node_modules/minimatch": { + "version": "6.1.5", + "extraneous": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/swagger-client/node_modules/process": { + "version": "0.11.10", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/swagger-client/node_modules/ramda": { + "version": "0.28.0", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/swagger-client/node_modules/ramda-adjunct": { + "version": "3.4.0", + "extraneous": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda-adjunct" + }, + "peerDependencies": { + "ramda": ">= 0.28.0 <= 0.28.0" + } + }, + "node_modules/swagger-client/node_modules/regenerator-runtime": { + "version": "0.13.11", + "extraneous": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/swagger-client/node_modules/short-unique-id": { + "version": "4.4.4", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "bin": { + "short-unique-id": "bin/short-unique-id", + "suid": "bin/short-unique-id" + } + }, + "node_modules/swagger-client/node_modules/stampit": { + "version": "4.3.2", + "extraneous": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/swagger-client/node_modules/ts-toolbelt": { + "version": "6.15.5", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/swagger-client/node_modules/unraw": { + "version": "2.0.1", + "extraneous": true, + "inBundle": true, + "license": "MIT" + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -49251,9 +49685,9 @@ } }, "swagger-client": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.18.5.tgz", - "integrity": "sha512-c0txGDtfQTJnaIBaEKCwtRNcUaaAfj+RXI4QVV9p3WW+AUCQqp4naCjaDNNsOfMkE4ySyhnblbL+jGqAVC7snw==", + "version": "3.19.0-alpha.3", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.19.0-alpha.3.tgz", + "integrity": "sha512-Q3GfQZPXj4+6qv/F2uYzpsObM2qz6cqI6Fsrio2RX/SW4FuyNMtWEpkwzEilRh/Kz9lRjdapz7UVROvVB41r0A==", "requires": { "@babel/runtime-corejs3": "^7.11.2", "cookie": "~0.5.0", @@ -49270,10 +49704,344 @@ "url": "~0.11.0" }, "dependencies": { + "@swagger-api/apidom-ast": { + "version": "0.65.0", + "bundled": true, + "extraneous": true, + "requires": { + "@babel/runtime-corejs3": "=7.20.7", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2", + "unraw": "=2.0.1" + }, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.20.7", + "bundled": true, + "extraneous": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + } + } + }, + "@swagger-api/apidom-core": { + "version": "0.65.0", + "bundled": true, + "extraneous": true, + "requires": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-ast": "^0.65.0", + "@types/ramda": "=0.28.21", + "minim": "=0.23.8", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "short-unique-id": "=4.4.4", + "stampit": "=4.3.2" + }, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.20.7", + "bundled": true, + "extraneous": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + } + } + }, + "@swagger-api/apidom-json-pointer": { + "version": "0.65.0", + "bundled": true, + "extraneous": true, + "requires": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0" + }, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.20.7", + "bundled": true, + "extraneous": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + } + } + }, + "@swagger-api/apidom-ns-asyncapi-2": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-ns-json-schema-draft-4": { + "version": "0.65.0", + "bundled": true, + "extraneous": true, + "requires": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + }, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.20.7", + "bundled": true, + "extraneous": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + } + } + }, + "@swagger-api/apidom-ns-openapi-3-0": { + "version": "0.65.0", + "bundled": true, + "extraneous": true, + "requires": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.65.0", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + }, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.20.7", + "bundled": true, + "extraneous": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + } + } + }, + "@swagger-api/apidom-ns-openapi-3-1": { + "version": "0.65.0", + "bundled": true, + "extraneous": true, + "requires": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", + "@types/ramda": "=0.28.21", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + }, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.20.7", + "bundled": true, + "extraneous": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + } + } + }, + "@swagger-api/apidom-parser-adapter-api-design-systems-json": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-json": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-parser-adapter-yaml-1-2": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "@swagger-api/apidom-reference": { + "version": "0.65.0", + "bundled": true, + "extraneous": true, + "requires": { + "@babel/runtime-corejs3": "=7.20.7", + "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-json-pointer": "^0.65.0", + "@swagger-api/apidom-ns-asyncapi-2": "=0.0.1", + "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.65.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "=0.0.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "=0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "=0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "=0.0.1", + "@swagger-api/apidom-parser-adapter-json": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "=0.0.1", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "=0.0.1", + "@types/ramda": "=0.28.21", + "axios": "=1.2.3", + "minimatch": "=6.1.5", + "process": "=0.11.10", + "ramda": "=0.28.0", + "ramda-adjunct": "=3.4.0", + "stampit": "=4.3.2" + }, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.20.7", + "bundled": true, + "extraneous": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + } + } + }, + "@types/ramda": { + "version": "0.28.21", + "bundled": true, + "extraneous": true, + "requires": { + "ts-toolbelt": "^6.15.1" + } + }, + "axios": { + "version": "npm:-@0.0.1", + "bundled": true, + "extraneous": true + }, + "balanced-match": { + "version": "1.0.2", + "bundled": true, + "extraneous": true + }, + "brace-expansion": { + "version": "2.0.1", + "bundled": true, + "extraneous": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "core-js-pure": { + "version": "3.27.2", + "bundled": true, + "extraneous": true + }, "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "lodash": { + "version": "4.17.21", + "bundled": true + }, + "minim": { + "version": "0.23.8", + "bundled": true, + "extraneous": true, + "requires": { + "lodash": "^4.15.0" + } + }, + "minimatch": { + "version": "6.1.5", + "bundled": true, + "extraneous": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "process": { + "version": "0.11.10", + "bundled": true, + "extraneous": true + }, + "ramda": { + "version": "0.28.0", + "bundled": true, + "extraneous": true + }, + "ramda-adjunct": { + "version": "3.4.0", + "bundled": true, + "extraneous": true, + "requires": {} + }, + "regenerator-runtime": { + "version": "0.13.11", + "bundled": true, + "extraneous": true + }, + "short-unique-id": { + "version": "4.4.4", + "bundled": true, + "extraneous": true + }, + "stampit": { + "version": "4.3.2", + "bundled": true, + "extraneous": true + }, + "ts-toolbelt": { + "version": "6.15.5", + "bundled": true, + "extraneous": true + }, + "unraw": { + "version": "2.0.1", + "bundled": true, + "extraneous": true } } }, diff --git a/package.json b/package.json index 35a80e8b818..9c274290618 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "deps-license": "license-checker --production --csv --out $npm_package_config_deps_check_dir/licenses.csv && license-checker --development --csv --out $npm_package_config_deps_check_dir/licenses-dev.csv", "deps-size": "webpack -p --config webpack/bundle.babel.js --json | webpack-bundle-size-analyzer >| $npm_package_config_deps_check_dir/sizes.txt", "deps-check": "run-s deps-license deps-size", + "link:apidom": "npm link @swagger-api/apidom-core @swagger-api/apidom-reference @swagger-api/apidom-ns-openapi-3-1 @swagger-api/apidom-ns-openapi-3-0 @swagger-api/apidom-ns-json-schema-draft-4 @swagger-api/apidom-json-pointer", "lint": "eslint --ext \".js,.jsx\" src test dev-helpers flavors", "lint-errors": "eslint --quiet --ext \".js,.jsx\" src test dev-helpers flavors", "lint-fix": "eslint --ext \".js,.jsx\" src test dev-helpers flavors --fix", @@ -94,7 +95,7 @@ "reselect": "^4.1.5", "serialize-error": "^8.1.0", "sha.js": "^2.4.11", - "swagger-client": "^3.18.5", + "swagger-client": "^3.19.0-alpha.3", "url-parse": "^1.5.8", "xml": "=1.0.1", "xml-but-prettier": "^1.0.1", From e18897168feafaab78994816922b2f3122df4d91 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Fri, 27 Jan 2023 09:28:23 -0800 Subject: [PATCH 18/28] fix(oas31): import Contact into Base preset --- src/core/presets/base.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/presets/base.js b/src/core/presets/base.js index e1bf79b7406..43662c49a1f 100644 --- a/src/core/presets/base.js +++ b/src/core/presets/base.js @@ -61,6 +61,7 @@ import Info, { InfoUrl, InfoBasePath, License, + Contact, } from "core/components/info" import InfoContainer from "core/containers/info" import JumpToPath from "core/components/jump-to-path" @@ -165,6 +166,7 @@ export default function() { InfoUrl, InfoBasePath, License, + Contact, SvgAssets, Example, ExamplesSelect, From 45240142b76332c027dbb7991aabe1155689ff19 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Fri, 27 Jan 2023 14:24:43 -0800 Subject: [PATCH 19/28] test(oas2): temp skip of enum-boolean e2e assertion --- .../tests/features/schema-form-enum-boolean.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/e2e-cypress/tests/features/schema-form-enum-boolean.js b/test/e2e-cypress/tests/features/schema-form-enum-boolean.js index d05da03f8dd..2ae35561488 100644 --- a/test/e2e-cypress/tests/features/schema-form-enum-boolean.js +++ b/test/e2e-cypress/tests/features/schema-form-enum-boolean.js @@ -85,7 +85,7 @@ describe("JSON Schema Form: Enum & Boolean in a Parameter", () => { cy.get(".responses-wrapper .curl-command") .should("not.exist") }) - it("should execute, if @booleanIsOptional value is 'false'", () => { + it.skip("should execute, if @booleanIsOptional value is 'false'", () => { cy.get("@enumIsRequired") .select("pending") cy.get("@booleanIsRequired") @@ -101,12 +101,12 @@ describe("JSON Schema Form: Enum & Boolean in a Parameter", () => { .should("not.have.class", "invalid") .should("not.contains.text", "expectIsOptional") // cURL component - cy.get(".responses-wrapper .curl-command") + cy.get(".responses-wrapper .curl-command") // hangs browser here .should("exist") .get(".responses-wrapper .curl-command span") .should("contains.text", "expectIsOptional=false") }) - it("should execute, but NOT send @booleanIsOptional value if not provided", () => { + it.skip("should execute, but NOT send @booleanIsOptional value if not provided", () => { cy.get("@enumIsRequired") .select("pending") cy.get("@booleanIsRequired") @@ -120,7 +120,7 @@ describe("JSON Schema Form: Enum & Boolean in a Parameter", () => { .should("not.have.class", "invalid") .should("not.contains.text", "expectIsOptional") // cURL component - cy.get(".responses-wrapper .curl-command") + cy.get(".responses-wrapper .curl-command") // hangs browser here .should("exist") .get(".responses-wrapper .curl-command span") .should("not.contains.text", "expectIsOptional") From a67e5d8191808eb05e5a20f7acbb1ee88ea9a9cc Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Fri, 27 Jan 2023 14:30:29 -0800 Subject: [PATCH 20/28] chore(deps): update package-lock --- package-lock.json | 81 ++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0aa741e4657..f7efd5dac6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11433,12 +11433,12 @@ } }, "node_modules/formdata-node": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz", - "integrity": "sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", "dependencies": { "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.1" + "web-streams-polyfill": "4.0.0-beta.3" }, "engines": { "node": ">= 12.20" @@ -23580,7 +23580,7 @@ "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "engines": { "node": ">=0.4.x" @@ -27642,9 +27642,12 @@ } }, "node_modules/traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/treeify": { "version": "1.1.0", @@ -28183,7 +28186,7 @@ "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -28222,7 +28225,7 @@ "node_modules/url/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" }, "node_modules/util-deprecate": { "version": "1.0.2", @@ -28435,11 +28438,11 @@ } }, "node_modules/web-streams-polyfill": { - "version": "4.0.0-beta.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz", - "integrity": "sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==", + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", "engines": { - "node": ">= 12" + "node": ">= 14" } }, "node_modules/webidl-conversions": { @@ -38053,12 +38056,12 @@ "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=" }, "formdata-node": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz", - "integrity": "sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", "requires": { "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.1" + "web-streams-polyfill": "4.0.0-beta.3" } }, "formdata-polyfill": { @@ -47204,7 +47207,7 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" }, "querystringify": { "version": "2.2.0", @@ -49913,21 +49916,21 @@ "@babel/runtime-corejs3": "=7.20.7", "@swagger-api/apidom-core": "^0.65.0", "@swagger-api/apidom-json-pointer": "^0.65.0", - "@swagger-api/apidom-ns-asyncapi-2": "=0.0.1", + "@swagger-api/apidom-ns-asyncapi-2": "npm:-@0.0.1", "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", "@swagger-api/apidom-ns-openapi-3-1": "^0.65.0", - "@swagger-api/apidom-parser-adapter-api-design-systems-json": "=0.0.1", - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "=0.0.1", - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "=0.0.1", - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "=0.0.1", - "@swagger-api/apidom-parser-adapter-json": "=0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "=0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "=0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "=0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "=0.0.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "=0.0.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-json": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "npm:-@0.0.1", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "npm:-@0.0.1", "@types/ramda": "=0.28.21", - "axios": "=1.2.3", + "axios": "npm:-@0.0.1", "minimatch": "=6.1.5", "process": "=0.11.10", "ramda": "=0.28.0", @@ -50291,9 +50294,9 @@ } }, "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==" }, "treeify": { "version": "1.1.0", @@ -50678,7 +50681,7 @@ "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -50687,7 +50690,7 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" } } }, @@ -50888,9 +50891,9 @@ } }, "web-streams-polyfill": { - "version": "4.0.0-beta.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz", - "integrity": "sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==" + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==" }, "webidl-conversions": { "version": "7.0.0", From 65c5e730c3e49dfe9aec6f96389f8f24a1a6d9b5 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Mon, 30 Jan 2023 11:01:32 -0800 Subject: [PATCH 21/28] fix(oas31): isOAS3 helper missing args --- src/core/plugins/oas3/helpers.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/plugins/oas3/helpers.jsx b/src/core/plugins/oas3/helpers.jsx index 7e77ff4712a..253973a5fa5 100644 --- a/src/core/plugins/oas3/helpers.jsx +++ b/src/core/plugins/oas3/helpers.jsx @@ -21,7 +21,7 @@ export function isOAS3(jsSpec) { if(typeof oasVersion !== "string") { return false } - return isOpenAPI30 || isOpenAPI31 + return isOpenAPI30(jsSpec) || isOpenAPI31(jsSpec) } export function isSwagger2(jsSpec) { From 96957a6a1e66b2da68dcc81af3a4779e4065db3c Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Mon, 30 Jan 2023 13:21:22 -0800 Subject: [PATCH 22/28] test(jest): add import for License component --- test/unit/xss/anchor-target-rel/info.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/unit/xss/anchor-target-rel/info.jsx b/test/unit/xss/anchor-target-rel/info.jsx index 085b9f079d6..75f2f15acd2 100644 --- a/test/unit/xss/anchor-target-rel/info.jsx +++ b/test/unit/xss/anchor-target-rel/info.jsx @@ -1,7 +1,7 @@ import React from "react" import { render } from "enzyme" import { fromJS } from "immutable" -import Info, { InfoUrl } from "components/info" +import Info, { InfoUrl, License } from "components/info" import { Link } from "components/layout-utils" import Markdown from "components/providers/markdown" @@ -10,6 +10,7 @@ describe(" Anchor Target Safety", function(){ const components = { Markdown, InfoUrl, + License, Link } const baseProps = { From 7c9782af43efb46d3a63dd9ac3f3d5528d55d173 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Mon, 30 Jan 2023 13:59:06 -0800 Subject: [PATCH 23/28] chore(build): increase allowable build size --- webpack/_config-builder.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webpack/_config-builder.js b/webpack/_config-builder.js index 19f4a2949b2..1e85aaa466b 100644 --- a/webpack/_config-builder.js +++ b/webpack/_config-builder.js @@ -125,8 +125,8 @@ export default function buildConfig( performance: { hints: "error", - maxEntrypointSize: 1153434, - maxAssetSize: 1153434, + maxEntrypointSize: 13312000, + maxAssetSize: 133312000, }, optimization: { From b2041d79f8aa455e4ca967c65140b06940de2616 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Mon, 30 Jan 2023 15:47:21 -0800 Subject: [PATCH 24/28] test(oas2): restore enum-boolean e2e assertion --- test/e2e-cypress/tests/features/schema-form-enum-boolean.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/e2e-cypress/tests/features/schema-form-enum-boolean.js b/test/e2e-cypress/tests/features/schema-form-enum-boolean.js index 2ae35561488..10c76723734 100644 --- a/test/e2e-cypress/tests/features/schema-form-enum-boolean.js +++ b/test/e2e-cypress/tests/features/schema-form-enum-boolean.js @@ -85,7 +85,7 @@ describe("JSON Schema Form: Enum & Boolean in a Parameter", () => { cy.get(".responses-wrapper .curl-command") .should("not.exist") }) - it.skip("should execute, if @booleanIsOptional value is 'false'", () => { + it("should execute, if @booleanIsOptional value is 'false'", () => { cy.get("@enumIsRequired") .select("pending") cy.get("@booleanIsRequired") @@ -106,7 +106,7 @@ describe("JSON Schema Form: Enum & Boolean in a Parameter", () => { .get(".responses-wrapper .curl-command span") .should("contains.text", "expectIsOptional=false") }) - it.skip("should execute, but NOT send @booleanIsOptional value if not provided", () => { + it("should execute, but NOT send @booleanIsOptional value if not provided", () => { cy.get("@enumIsRequired") .select("pending") cy.get("@booleanIsRequired") From b290a5b155197686bcc0ebc88170fdcc213483f3 Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Thu, 2 Feb 2023 16:26:44 -0800 Subject: [PATCH 25/28] chore(deps): bump swagger-client to v3.19.0-alpha.4 --- package-lock.json | 329 +++++++++++++++++++--------------------------- package.json | 2 +- 2 files changed, 139 insertions(+), 192 deletions(-) diff --git a/package-lock.json b/package-lock.json index f7efd5dac6d..a948e5926f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "reselect": "^4.1.5", "serialize-error": "^8.1.0", "sha.js": "^2.4.11", - "swagger-client": "^3.19.0-alpha.3", + "swagger-client": "=3.19.0-alpha.4", "url-parse": "^1.5.8", "xml": "=1.0.1", "xml-but-prettier": "^1.0.1", @@ -6135,8 +6135,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "node_modules/at-least-node": { "version": "1.0.0", @@ -7485,7 +7484,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -8921,9 +8919,9 @@ "dev": true }, "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", "engines": { "node": ">=0.10.0" } @@ -9160,7 +9158,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -11377,10 +11374,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true, + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -19931,7 +19927,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -19940,7 +19935,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -26862,9 +26856,9 @@ } }, "node_modules/swagger-client": { - "version": "3.19.0-alpha.3", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.19.0-alpha.3.tgz", - "integrity": "sha512-Q3GfQZPXj4+6qv/F2uYzpsObM2qz6cqI6Fsrio2RX/SW4FuyNMtWEpkwzEilRh/Kz9lRjdapz7UVROvVB41r0A==", + "version": "3.19.0-alpha.4", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.19.0-alpha.4.tgz", + "integrity": "sha512-Wfi/DHCRNQ2+hBqW/nUptdqU6rDIqa1bzZu6lN50qL6sstEnR0OXPowtVpAW8jVVUF2BzEUMCkyZtQKKTeJO6Q==", "bundleDependencies": [ "@swagger-api/apidom-core", "@swagger-api/apidom-reference", @@ -26873,9 +26867,13 @@ ], "dependencies": { "@babel/runtime-corejs3": "^7.11.2", + "@swagger-api/apidom-core": "*", + "@swagger-api/apidom-json-pointer": "*", + "@swagger-api/apidom-ns-openapi-3-1": "*", + "@swagger-api/apidom-reference": "*", "cookie": "~0.5.0", "cross-fetch": "^3.1.5", - "deepmerge": "~4.2.2", + "deepmerge": "~4.3.0", "fast-json-patch": "^3.0.0-1", "form-data-encoder": "^1.4.3", "formdata-node": "^4.0.0", @@ -26888,8 +26886,7 @@ } }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ast": { - "version": "0.65.0", - "extraneous": true, + "version": "0.66.0", "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -26903,7 +26900,6 @@ }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ast/node_modules/@babel/runtime-corejs3": { "version": "7.20.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26915,13 +26911,12 @@ } }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-core": { - "version": "0.65.0", - "extraneous": true, + "version": "0.66.0", "inBundle": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-ast": "^0.65.0", + "@swagger-api/apidom-ast": "^0.66.0", "@types/ramda": "=0.28.21", "minim": "=0.23.8", "ramda": "=0.28.0", @@ -26932,7 +26927,6 @@ }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-core/node_modules/@babel/runtime-corejs3": { "version": "7.20.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26944,20 +26938,18 @@ } }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-json-pointer": { - "version": "0.65.0", - "extraneous": true, + "version": "0.66.0", "inBundle": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0" } }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-json-pointer/node_modules/@babel/runtime-corejs3": { "version": "7.20.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26971,18 +26963,16 @@ "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-asyncapi-2": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { - "version": "0.65.0", - "extraneous": true, + "version": "0.66.0", "inBundle": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", "@types/ramda": "=0.28.21", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -26991,7 +26981,6 @@ }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-json-schema-draft-4/node_modules/@babel/runtime-corejs3": { "version": "7.20.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27003,14 +26992,13 @@ } }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-0": { - "version": "0.65.0", - "extraneous": true, + "version": "0.66.0", "inBundle": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.66.0", "@types/ramda": "=0.28.21", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -27019,7 +27007,6 @@ }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-0/node_modules/@babel/runtime-corejs3": { "version": "7.20.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27031,14 +27018,13 @@ } }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-1": { - "version": "0.65.0", - "extraneous": true, + "version": "0.66.0", "inBundle": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.66.0", "@types/ramda": "=0.28.21", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -27047,7 +27033,6 @@ }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-ns-openapi-3-1/node_modules/@babel/runtime-corejs3": { "version": "7.20.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27061,85 +27046,74 @@ "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-json": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-reference": { - "version": "0.65.0", - "extraneous": true, + "version": "0.66.0", "inBundle": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", - "@swagger-api/apidom-json-pointer": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", + "@swagger-api/apidom-json-pointer": "^0.66.0", "@swagger-api/apidom-ns-asyncapi-2": "=0.0.1", - "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.65.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.66.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.66.0", "@swagger-api/apidom-parser-adapter-api-design-systems-json": "=0.0.1", "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "=0.0.1", "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "=0.0.1", @@ -27151,8 +27125,8 @@ "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "=0.0.1", "@swagger-api/apidom-parser-adapter-yaml-1-2": "=0.0.1", "@types/ramda": "=0.28.21", - "axios": "=1.2.3", - "minimatch": "=6.1.5", + "axios": "=1.2.4", + "minimatch": "=6.1.6", "process": "=0.11.10", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -27161,7 +27135,6 @@ }, "node_modules/swagger-client/node_modules/@swagger-api/apidom-reference/node_modules/@babel/runtime-corejs3": { "version": "7.20.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27174,7 +27147,6 @@ }, "node_modules/swagger-client/node_modules/@types/ramda": { "version": "0.28.21", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27184,19 +27156,16 @@ "node_modules/swagger-client/node_modules/axios": { "name": "-", "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "UNLICENSED" }, "node_modules/swagger-client/node_modules/balanced-match": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/swagger-client/node_modules/brace-expansion": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27205,7 +27174,6 @@ }, "node_modules/swagger-client/node_modules/core-js-pure": { "version": "3.27.2", - "extraneous": true, "hasInstallScript": true, "inBundle": true, "license": "MIT", @@ -27214,6 +27182,19 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/swagger-client/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/swagger-client/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -27229,7 +27210,6 @@ }, "node_modules/swagger-client/node_modules/minim": { "version": "0.23.8", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27240,8 +27220,7 @@ } }, "node_modules/swagger-client/node_modules/minimatch": { - "version": "6.1.5", - "extraneous": true, + "version": "6.1.6", "inBundle": true, "license": "ISC", "dependencies": { @@ -27256,16 +27235,19 @@ }, "node_modules/swagger-client/node_modules/process": { "version": "0.11.10", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { "node": ">= 0.6.0" } }, + "node_modules/swagger-client/node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/swagger-client/node_modules/ramda": { "version": "0.28.0", - "extraneous": true, "inBundle": true, "license": "MIT", "funding": { @@ -27275,7 +27257,6 @@ }, "node_modules/swagger-client/node_modules/ramda-adjunct": { "version": "3.4.0", - "extraneous": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -27291,13 +27272,11 @@ }, "node_modules/swagger-client/node_modules/regenerator-runtime": { "version": "0.13.11", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/swagger-client/node_modules/short-unique-id": { "version": "4.4.4", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "bin": { @@ -27307,19 +27286,16 @@ }, "node_modules/swagger-client/node_modules/stampit": { "version": "4.3.2", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/swagger-client/node_modules/ts-toolbelt": { "version": "6.15.5", - "extraneous": true, "inBundle": true, "license": "Apache-2.0" }, "node_modules/swagger-client/node_modules/unraw": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT" }, @@ -34035,8 +34011,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "at-least-node": { "version": "1.0.0", @@ -35051,7 +35026,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -36118,9 +36092,9 @@ "dev": true }, "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==" }, "default-gateway": { "version": "6.0.3", @@ -36293,8 +36267,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", @@ -38023,10 +37996,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "forever-agent": { "version": "0.6.1", @@ -44565,14 +44537,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "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==", - "dev": true, "requires": { "mime-db": "1.52.0" } @@ -49688,14 +49658,18 @@ } }, "swagger-client": { - "version": "3.19.0-alpha.3", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.19.0-alpha.3.tgz", - "integrity": "sha512-Q3GfQZPXj4+6qv/F2uYzpsObM2qz6cqI6Fsrio2RX/SW4FuyNMtWEpkwzEilRh/Kz9lRjdapz7UVROvVB41r0A==", + "version": "3.19.0-alpha.4", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.19.0-alpha.4.tgz", + "integrity": "sha512-Wfi/DHCRNQ2+hBqW/nUptdqU6rDIqa1bzZu6lN50qL6sstEnR0OXPowtVpAW8jVVUF2BzEUMCkyZtQKKTeJO6Q==", "requires": { "@babel/runtime-corejs3": "^7.11.2", + "@swagger-api/apidom-core": "*", + "@swagger-api/apidom-json-pointer": "*", + "@swagger-api/apidom-ns-openapi-3-1": "*", + "@swagger-api/apidom-reference": "*", "cookie": "~0.5.0", "cross-fetch": "^3.1.5", - "deepmerge": "~4.2.2", + "deepmerge": "~4.3.0", "fast-json-patch": "^3.0.0-1", "form-data-encoder": "^1.4.3", "formdata-node": "^4.0.0", @@ -49708,9 +49682,8 @@ }, "dependencies": { "@swagger-api/apidom-ast": { - "version": "0.65.0", + "version": "0.66.0", "bundled": true, - "extraneous": true, "requires": { "@babel/runtime-corejs3": "=7.20.7", "@types/ramda": "=0.28.21", @@ -49723,7 +49696,6 @@ "@babel/runtime-corejs3": { "version": "7.20.7", "bundled": true, - "extraneous": true, "requires": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -49732,12 +49704,11 @@ } }, "@swagger-api/apidom-core": { - "version": "0.65.0", + "version": "0.66.0", "bundled": true, - "extraneous": true, "requires": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-ast": "^0.65.0", + "@swagger-api/apidom-ast": "^0.66.0", "@types/ramda": "=0.28.21", "minim": "=0.23.8", "ramda": "=0.28.0", @@ -49749,7 +49720,6 @@ "@babel/runtime-corejs3": { "version": "7.20.7", "bundled": true, - "extraneous": true, "requires": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -49758,12 +49728,11 @@ } }, "@swagger-api/apidom-json-pointer": { - "version": "0.65.0", + "version": "0.66.0", "bundled": true, - "extraneous": true, "requires": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0" }, @@ -49771,7 +49740,6 @@ "@babel/runtime-corejs3": { "version": "7.20.7", "bundled": true, - "extraneous": true, "requires": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -49781,16 +49749,14 @@ }, "@swagger-api/apidom-ns-asyncapi-2": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-ns-json-schema-draft-4": { - "version": "0.65.0", + "version": "0.66.0", "bundled": true, - "extraneous": true, "requires": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", "@types/ramda": "=0.28.21", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -49800,7 +49766,6 @@ "@babel/runtime-corejs3": { "version": "7.20.7", "bundled": true, - "extraneous": true, "requires": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -49809,13 +49774,12 @@ } }, "@swagger-api/apidom-ns-openapi-3-0": { - "version": "0.65.0", + "version": "0.66.0", "bundled": true, - "extraneous": true, "requires": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.66.0", "@types/ramda": "=0.28.21", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -49825,7 +49789,6 @@ "@babel/runtime-corejs3": { "version": "7.20.7", "bundled": true, - "extraneous": true, "requires": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -49834,13 +49797,12 @@ } }, "@swagger-api/apidom-ns-openapi-3-1": { - "version": "0.65.0", + "version": "0.66.0", "bundled": true, - "extraneous": true, "requires": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", + "@swagger-api/apidom-core": "^0.66.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.66.0", "@types/ramda": "=0.28.21", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -49850,7 +49812,6 @@ "@babel/runtime-corejs3": { "version": "7.20.7", "bundled": true, - "extraneous": true, "requires": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -49860,78 +49821,67 @@ }, "@swagger-api/apidom-parser-adapter-api-design-systems-json": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-asyncapi-json-2": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-json": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-openapi-json-3-0": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-openapi-json-3-1": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-parser-adapter-yaml-1-2": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "@swagger-api/apidom-reference": { - "version": "0.65.0", + "version": "0.66.0", "bundled": true, - "extraneous": true, "requires": { "@babel/runtime-corejs3": "=7.20.7", - "@swagger-api/apidom-core": "^0.65.0", - "@swagger-api/apidom-json-pointer": "^0.65.0", - "@swagger-api/apidom-ns-asyncapi-2": "npm:-@0.0.1", - "@swagger-api/apidom-ns-openapi-3-0": "^0.65.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.65.0", - "@swagger-api/apidom-parser-adapter-api-design-systems-json": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-json": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "npm:-@0.0.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "npm:-@0.0.1", + "@swagger-api/apidom-core": "^0.66.0", + "@swagger-api/apidom-json-pointer": "^0.66.0", + "@swagger-api/apidom-ns-asyncapi-2": "=0.0.1", + "@swagger-api/apidom-ns-openapi-3-0": "^0.66.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.66.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "=0.0.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "=0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "=0.0.1", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "=0.0.1", + "@swagger-api/apidom-parser-adapter-json": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "=0.0.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "=0.0.1", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "=0.0.1", "@types/ramda": "=0.28.21", - "axios": "npm:-@0.0.1", - "minimatch": "=6.1.5", + "axios": "=1.2.4", + "minimatch": "=6.1.6", "process": "=0.11.10", "ramda": "=0.28.0", "ramda-adjunct": "=3.4.0", @@ -49941,7 +49891,6 @@ "@babel/runtime-corejs3": { "version": "7.20.7", "bundled": true, - "extraneous": true, "requires": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -49952,33 +49901,37 @@ "@types/ramda": { "version": "0.28.21", "bundled": true, - "extraneous": true, "requires": { "ts-toolbelt": "^6.15.1" } }, "axios": { "version": "npm:-@0.0.1", - "bundled": true, - "extraneous": true + "bundled": true }, "balanced-match": { "version": "1.0.2", - "bundled": true, - "extraneous": true + "bundled": true }, "brace-expansion": { "version": "2.0.1", "bundled": true, - "extraneous": true, "requires": { "balanced-match": "^1.0.0" } }, "core-js-pure": { "version": "3.27.2", - "bundled": true, - "extraneous": true + "bundled": true + }, + "form-data": { + "version": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } }, "is-plain-object": { "version": "5.0.0", @@ -49992,59 +49945,53 @@ "minim": { "version": "0.23.8", "bundled": true, - "extraneous": true, "requires": { "lodash": "^4.15.0" } }, "minimatch": { - "version": "6.1.5", + "version": "6.1.6", "bundled": true, - "extraneous": true, "requires": { "brace-expansion": "^2.0.1" } }, "process": { "version": "0.11.10", - "bundled": true, - "extraneous": true + "bundled": true + }, + "proxy-from-env": { + "version": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "ramda": { "version": "0.28.0", - "bundled": true, - "extraneous": true + "bundled": true }, "ramda-adjunct": { "version": "3.4.0", "bundled": true, - "extraneous": true, "requires": {} }, "regenerator-runtime": { "version": "0.13.11", - "bundled": true, - "extraneous": true + "bundled": true }, "short-unique-id": { "version": "4.4.4", - "bundled": true, - "extraneous": true + "bundled": true }, "stampit": { "version": "4.3.2", - "bundled": true, - "extraneous": true + "bundled": true }, "ts-toolbelt": { "version": "6.15.5", - "bundled": true, - "extraneous": true + "bundled": true }, "unraw": { "version": "2.0.1", - "bundled": true, - "extraneous": true + "bundled": true } } }, diff --git a/package.json b/package.json index 9c274290618..abaf94f6536 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "reselect": "^4.1.5", "serialize-error": "^8.1.0", "sha.js": "^2.4.11", - "swagger-client": "^3.19.0-alpha.3", + "swagger-client": "=3.19.0-alpha.4", "url-parse": "^1.5.8", "xml": "=1.0.1", "xml-but-prettier": "^1.0.1", From b9d8668baf655eb1e14bf34b5fbc31f22f7a10cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Feb 2023 05:04:51 +0000 Subject: [PATCH 26/28] chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 (#8368) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 679dd133f8d..8063449f610 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12471,9 +12471,9 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "node_modules/http-deceiver": { @@ -38419,9 +38419,9 @@ } }, "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "http-deceiver": { From 718924bfde84f1beab03d0fd2cadf7ded226213f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Feb 2023 05:17:10 +0000 Subject: [PATCH 27/28] chore(deps): bump json5 and babel-plugin-module-resolver (#8369) --- package-lock.json | 258 +++++++++++++++++++++++++++++++--------------- package.json | 2 +- 2 files changed, 175 insertions(+), 85 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8063449f610..e7979ffb331 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,7 +69,7 @@ "autoprefixer": "^10.4.12", "babel-loader": "^8.2.3", "babel-plugin-lodash": "=3.3.4", - "babel-plugin-module-resolver": "=4.1.0", + "babel-plugin-module-resolver": "=5.0.0", "babel-plugin-transform-react-remove-prop-types": "=0.4.24", "body-parser": "^1.19.0", "buffer": "^6.0.3", @@ -6395,19 +6395,59 @@ } }, "node_modules/babel-plugin-module-resolver": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz", - "integrity": "sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz", + "integrity": "sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==", "dev": true, "dependencies": { - "find-babel-config": "^1.2.0", - "glob": "^7.1.6", + "find-babel-config": "^2.0.0", + "glob": "^8.0.3", "pkg-up": "^3.1.0", - "reselect": "^4.0.0", - "resolve": "^1.13.1" + "reselect": "^4.1.7", + "resolve": "^1.22.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 16" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -11195,25 +11235,25 @@ } }, "node_modules/find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-2.0.0.tgz", + "integrity": "sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==", "dev": true, "dependencies": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" + "json5": "^2.1.1", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=16.0.0" } }, - "node_modules/find-babel-config/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "node_modules/find-babel-config/node_modules/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, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=8" } }, "node_modules/find-cache-dir": { @@ -13373,9 +13413,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -18143,13 +18183,10 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -18911,9 +18948,9 @@ } }, "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -25107,18 +25144,22 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "node_modules/reselect": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz", - "integrity": "sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ==" + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.7.tgz", + "integrity": "sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==" }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -26831,6 +26872,18 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", @@ -27304,9 +27357,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -33791,16 +33844,49 @@ } }, "babel-plugin-module-resolver": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz", - "integrity": "sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz", + "integrity": "sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==", "dev": true, "requires": { - "find-babel-config": "^1.2.0", - "glob": "^7.1.6", + "find-babel-config": "^2.0.0", + "glob": "^8.0.3", "pkg-up": "^3.1.0", - "reselect": "^4.0.0", - "resolve": "^1.13.1" + "reselect": "^4.1.7", + "resolve": "^1.22.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "babel-plugin-polyfill-corejs2": { @@ -37444,19 +37530,19 @@ } }, "find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-2.0.0.tgz", + "integrity": "sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==", "dev": true, "requires": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" + "json5": "^2.1.1", + "path-exists": "^4.0.0" }, "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "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 } } @@ -39045,9 +39131,9 @@ } }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "requires": { "has": "^1.0.3" @@ -42703,13 +42789,10 @@ "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsonfile": { "version": "6.1.0", @@ -43329,9 +43412,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -47865,18 +47948,19 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "reselect": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz", - "integrity": "sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ==" + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.7.tgz", + "integrity": "sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==" }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-alpn": { @@ -49227,6 +49311,12 @@ } } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", @@ -49587,9 +49677,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" diff --git a/package.json b/package.json index 35a80e8b818..83070ddbcba 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "autoprefixer": "^10.4.12", "babel-loader": "^8.2.3", "babel-plugin-lodash": "=3.3.4", - "babel-plugin-module-resolver": "=4.1.0", + "babel-plugin-module-resolver": "=5.0.0", "babel-plugin-transform-react-remove-prop-types": "=0.4.24", "body-parser": "^1.19.0", "buffer": "^6.0.3", From df840cb8c12ecb7ce69f91846c720847f5e82c6e Mon Sep 17 00:00:00 2001 From: Timothy Lai Date: Fri, 3 Feb 2023 10:53:41 -0800 Subject: [PATCH 28/28] chore(deps): add package overrides --- package-lock.json | 55 ++++++++++++++++------------------------------- package.json | 7 ++++++ 2 files changed, 25 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index a948e5926f2..d8748084702 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6135,7 +6135,8 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "node_modules/at-least-node": { "version": "1.0.0", @@ -7484,6 +7485,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -9158,6 +9160,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -11377,6 +11380,7 @@ "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, "funding": [ { "type": "individual", @@ -19927,6 +19931,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -19935,6 +19940,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -27182,19 +27188,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/swagger-client/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/swagger-client/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -27241,11 +27234,6 @@ "node": ">= 0.6.0" } }, - "node_modules/swagger-client/node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/swagger-client/node_modules/ramda": { "version": "0.28.0", "inBundle": true, @@ -34011,7 +33999,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "at-least-node": { "version": "1.0.0", @@ -35026,6 +35015,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -36267,7 +36257,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegates": { "version": "1.0.0", @@ -37998,7 +37989,8 @@ "follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true }, "forever-agent": { "version": "0.6.1", @@ -44537,12 +44529,14 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true }, "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==", + "dev": true, "requires": { "mime-db": "1.52.0" } @@ -49880,7 +49874,7 @@ "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "=0.0.1", "@swagger-api/apidom-parser-adapter-yaml-1-2": "=0.0.1", "@types/ramda": "=0.28.21", - "axios": "=1.2.4", + "axios": "npm:-@0.0.1", "minimatch": "=6.1.6", "process": "=0.11.10", "ramda": "=0.28.0", @@ -49924,15 +49918,6 @@ "version": "3.27.2", "bundled": true }, - "form-data": { - "version": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -49960,10 +49945,6 @@ "version": "0.11.10", "bundled": true }, - "proxy-from-env": { - "version": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "ramda": { "version": "0.28.0", "bundled": true diff --git a/package.json b/package.json index abaf94f6536..443e5d4753b 100644 --- a/package.json +++ b/package.json @@ -188,6 +188,13 @@ "webpack-node-externals": "=3.0.0", "webpack-stats-plugin": "=1.0.3" }, + "overrides": { + "swagger-client": { + "@swagger-api/apidom-reference": { + "axios": "npm:-@0.0.1" + } + } + }, "config": { "deps_check_dir": ".deps_check" }