diff --git a/scripts/package.json b/scripts/package.json index 6e1f61c0149..4f3ab08b14f 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -25,6 +25,7 @@ "@actions/core": "1.11.1", "@actions/exec": "1.1.1", "@actions/io": "1.1.3", + "@har-sdk/oas": "2.10.0", "@octokit/rest": "21.0.2", "@types/express": "5.0.0", "@types/folder-hash": "4.0.4", @@ -43,6 +44,7 @@ "express": "4.21.0", "folder-hash": "4.0.4", "fs-extra": "11.2.0", + "httpsnippet": "3.0.1", "js-yaml": "4.1.0", "knip": "5.30.4", "micromatch": "4.0.8", diff --git a/scripts/specs/format.ts b/scripts/specs/format.ts index 2ebb8cd777e..0902074507e 100644 --- a/scripts/specs/format.ts +++ b/scripts/specs/format.ts @@ -1,9 +1,11 @@ import fsp from 'fs/promises'; +import oas2har from '@har-sdk/oas'; +import { HarRequest, HTTPSnippet } from 'httpsnippet'; import yaml from 'js-yaml'; import { Cache } from '../cache.js'; -import { GENERATORS, exists, run, toAbsolutePath } from '../common.js'; +import { exists, GENERATORS, run, toAbsolutePath } from '../common.js'; import { createSpinner } from '../spinners.js'; import type { Spec } from '../types.js'; @@ -59,6 +61,7 @@ export async function transformBundle({ } const bundledSpec = yaml.load(await fsp.readFile(bundledPath, 'utf8')) as Spec; + const harRequests = await oas2har.oas2har(bundledSpec as any, { includeVendorExamples: true }); const tagsDefinitions = bundledSpec.tags; const snippetSamples = docs ? await transformSnippetsToCodeSamples(clientName) : ({} as SnippetSamples); @@ -100,6 +103,33 @@ export async function transformBundle({ } } + // skip custom path for cURL + if (pathKey !== '/{path}' && specMethod['x-codeSamples']) { + const harRequest = harRequests.find((baseHarRequest) => + baseHarRequest.url.includes(pathKey.replace('{indexName}', 'ALGOLIA_INDEX_NAME')), + ); + + if (!harRequest?.headers) { + break; + } + + for (const harRequestHeader of harRequest.headers) { + if (harRequestHeader.name === bundledSpec.components.securitySchemes.appId?.name) { + harRequestHeader.value = 'ALGOLIA_APPLICATION_ID'; + } + + if (harRequestHeader.name === bundledSpec.components.securitySchemes.apiKey?.name) { + harRequestHeader.value = 'ALGOLIA_API_KEY'; + } + } + + specMethod['x-codeSamples'].push({ + lang: 'cURL', + label: 'curl', + source: `${new HTTPSnippet(harRequest as HarRequest).convert('shell', 'curl')}`, + }); + } + if (!bundledSpec.paths[pathKey][method].tags) { continue; } diff --git a/scripts/types.ts b/scripts/types.ts index c116179d0b0..2b900487548 100644 --- a/scripts/types.ts +++ b/scripts/types.ts @@ -46,6 +46,7 @@ export type Spec = { paths: Path; components: { schemas: Record; + securitySchemes: Partial<{ appId?: Record; apiKey?: Record }>; }; }; diff --git a/specs/common/parameters.yml b/specs/common/parameters.yml index 8a52226b218..1f3a393ff6a 100644 --- a/specs/common/parameters.yml +++ b/specs/common/parameters.yml @@ -6,7 +6,7 @@ IndexName: required: true schema: type: string - example: YourIndexName + example: ALGOLIA_INDEX_NAME ObjectID: name: objectID @@ -24,7 +24,7 @@ Index: required: true schema: type: string - example: YourIndexName + example: ALGOLIA_INDEX_NAME StartDate: in: query diff --git a/specs/insights/common/schemas/EventAttributes.yml b/specs/insights/common/schemas/EventAttributes.yml index 40f2849de0b..71839754d8c 100644 --- a/specs/insights/common/schemas/EventAttributes.yml +++ b/specs/insights/common/schemas/EventAttributes.yml @@ -13,7 +13,7 @@ eventName: index: type: string description: Index name (case-sensitive) to which the event's items belong. - example: YourIndexName + example: ALGOLIA_INDEX_NAME userToken: type: string diff --git a/specs/recommend/spec.yml b/specs/recommend/spec.yml index c29c350a6b3..2d185f659de 100644 --- a/specs/recommend/spec.yml +++ b/specs/recommend/spec.yml @@ -73,23 +73,23 @@ servers: - url: https://{appId}.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-1.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-2.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-3.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-dsn.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID security: - appId: [] apiKey: [] diff --git a/specs/search/paths/keys/common/parameters.yml b/specs/search/paths/keys/common/parameters.yml index e9637fd79a8..919e0411aae 100644 --- a/specs/search/paths/keys/common/parameters.yml +++ b/specs/search/paths/keys/common/parameters.yml @@ -4,5 +4,5 @@ KeyString: required: true schema: type: string - example: YourAPIKey + example: ALGOLIA_API_KEY description: API key. diff --git a/specs/search/spec.yml b/specs/search/spec.yml index 3933f8e7f76..acfb67cb3bc 100644 --- a/specs/search/spec.yml +++ b/specs/search/spec.yml @@ -89,23 +89,23 @@ servers: - url: https://{appId}.algolia.net variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-1.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-2.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-3.algolianet.com variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID - url: https://{appId}-dsn.algolia.net variables: appId: - default: myAppId + default: ALGOLIA_APPLICATION_ID security: - appId: [] apiKey: [] diff --git a/yarn.lock b/yarn.lock index d042c9e7bd7..6ef90361370 100644 --- a/yarn.lock +++ b/yarn.lock @@ -306,6 +306,18 @@ __metadata: languageName: node linkType: hard +"@apidevtools/json-schema-ref-parser@npm:^9.0.9": + version: 9.1.2 + resolution: "@apidevtools/json-schema-ref-parser@npm:9.1.2" + dependencies: + "@jsdevtools/ono": "npm:^7.1.3" + "@types/json-schema": "npm:^7.0.6" + call-me-maybe: "npm:^1.0.1" + js-yaml: "npm:^4.1.0" + checksum: 10/7553f994974c5c6f99d14b9f47e9dccaedbcdd1565a099bbf7413494c71e1a246562bd6bfa394b6be026d176c734ff89aed87e2c3a92d01ff4350c64514bfb48 + languageName: node + linkType: hard + "@azure/abort-controller@npm:^1.0.0": version: 1.1.0 resolution: "@azure/abort-controller@npm:1.1.0" @@ -933,6 +945,45 @@ __metadata: languageName: node linkType: hard +"@har-sdk/core@npm:1.4.5": + version: 1.4.5 + resolution: "@har-sdk/core@npm:1.4.5" + dependencies: + js-yaml: "npm:^4.1.0" + openapi-types: "npm:^10.0.0" + tslib: "npm:^2.3.1" + checksum: 10/5fa35697601cb142538bcc8ee4d00ac47c565de253f16e7ed66a7152f0d0ce78f7359b66c3c99718a185c2b0423c4319c47fd18bdb8237d7fa9f6c47d0fbdb98 + languageName: node + linkType: hard + +"@har-sdk/oas@npm:2.10.0": + version: 2.10.0 + resolution: "@har-sdk/oas@npm:2.10.0" + dependencies: + "@apidevtools/json-schema-ref-parser": "npm:^9.0.9" + "@har-sdk/core": "npm:1.4.5" + "@har-sdk/openapi-sampler": "npm:2.2.1" + json-pointer: "npm:^0.6.2" + jstoxml: "npm:^3.2.6" + qs: "npm:^6.10.3" + tslib: "npm:^2.3.1" + url-template: "npm:^2.0.8" + checksum: 10/39cde2dfd1313fefecad473c25595b19a49f9d62dab68fc258ca467fc50730f211da2f7c9c06a6771d4e1f439a0789a81270392f5c07391adb0c627228ee3b23 + languageName: node + linkType: hard + +"@har-sdk/openapi-sampler@npm:2.2.1": + version: 2.2.1 + resolution: "@har-sdk/openapi-sampler@npm:2.2.1" + dependencies: + "@har-sdk/core": "npm:1.4.5" + json-pointer: "npm:^0.6.2" + randexp: "npm:^0.5.3" + tslib: "npm:^2.3.1" + checksum: 10/072df206e2b3200d97e66ed84e2b32e7086a49d6495d0ca5bb263127d4209868a672f1f66b1e0d96de8371d3000020e9085e5526edc73bb176bfdda347c68c47 + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.13.0": version: 0.13.0 resolution: "@humanwhocodes/config-array@npm:0.13.0" @@ -979,6 +1030,13 @@ __metadata: languageName: node linkType: hard +"@jsdevtools/ono@npm:^7.1.3": + version: 7.1.3 + resolution: "@jsdevtools/ono@npm:7.1.3" + checksum: 10/d4a036ccb9d2b21b7e4cec077c59a5a83fad58adacbce89e7e6b77a703050481ff5b6d813aef7f5ff0a8347a85a0eedf599e2e6bb5784a971a93e53e43b10157 + languageName: node + linkType: hard + "@lukeed/csprng@npm:^1.0.0": version: 1.1.0 resolution: "@lukeed/csprng@npm:1.1.0" @@ -1844,7 +1902,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.7": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.7": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 @@ -2636,7 +2694,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1": +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -3261,6 +3319,20 @@ __metadata: languageName: node linkType: hard +"drange@npm:^1.0.2": + version: 1.1.1 + resolution: "drange@npm:1.1.1" + checksum: 10/7e6ed639f9ab4d826e79717e2b0685a7ab02ecd39dac6483305dcc43ea2a27dc78b538e10adaba35c086efab216ef1f53f22bc402abfd0d29454b1c5f48fecd1 + languageName: node + linkType: hard + +"duplexer@npm:^0.1.1, duplexer@npm:~0.1.1": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10/62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -3873,6 +3945,21 @@ __metadata: languageName: node linkType: hard +"event-stream@npm:4.0.1": + version: 4.0.1 + resolution: "event-stream@npm:4.0.1" + dependencies: + duplexer: "npm:^0.1.1" + from: "npm:^0.1.7" + map-stream: "npm:0.0.7" + pause-stream: "npm:^0.0.11" + split: "npm:^1.0.1" + stream-combiner: "npm:^0.2.2" + through: "npm:^2.3.8" + checksum: 10/9ca6be1ed2cb463ae629e3f8ce2feaa3f1b871e6388b97508f980ed4947a85fa72e9886e3eec4f2d32fd5bb9ac3c763961fc8bde1db693b4984cc70638b9cd52 + languageName: node + linkType: hard + "event-target-shim@npm:^5.0.0": version: 5.0.1 resolution: "event-target-shim@npm:5.0.1" @@ -4183,7 +4270,7 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.0": +"form-data@npm:4.0.0, form-data@npm:^4.0.0": version: 4.0.0 resolution: "form-data@npm:4.0.0" dependencies: @@ -4208,6 +4295,13 @@ __metadata: languageName: node linkType: hard +"from@npm:^0.1.7": + version: 0.1.7 + resolution: "from@npm:0.1.7" + checksum: 10/b85125b7890489656eb2e4f208f7654a93ec26e3aefaf3bbbcc0d496fc1941e4405834fcc9fe7333192aa2187905510ace70417bbf9ac6f6f4784a731d986939 + languageName: node + linkType: hard + "fs-extra@npm:10.1.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" @@ -4334,6 +4428,13 @@ __metadata: languageName: node linkType: hard +"get-own-enumerable-property-symbols@npm:^3.0.0": + version: 3.0.2 + resolution: "get-own-enumerable-property-symbols@npm:3.0.2" + checksum: 10/8f0331f14159f939830884799f937343c8c0a2c330506094bc12cbee3665d88337fe97a4ea35c002cc2bdba0f5d9975ad7ec3abb925015cdf2a93e76d4759ede + languageName: node + linkType: hard + "get-port-please@npm:^3.0.1": version: 3.1.2 resolution: "get-port-please@npm:3.1.2" @@ -4489,6 +4590,13 @@ __metadata: languageName: node linkType: hard +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: 10/d8946348f333fb09e2bf24cc4c67eabb47c8e1d1aa1c14184c7ffec1140a49ec8aa78aa93677ae452d71d5fc0fdeec20f0c8c1237291fc2bcb3f502a5d204f9b + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -4605,6 +4713,22 @@ __metadata: languageName: node linkType: hard +"httpsnippet@npm:3.0.1": + version: 3.0.1 + resolution: "httpsnippet@npm:3.0.1" + dependencies: + chalk: "npm:^4.1.2" + event-stream: "npm:4.0.1" + form-data: "npm:4.0.0" + har-schema: "npm:^2.0.0" + stringify-object: "npm:3.3.0" + yargs: "npm:^17.4.0" + bin: + httpsnippet: bin/httpsnippet + checksum: 10/c57de2cec1a0847d83070fa4ee8a46deb611c2d3c2c5b9381eef2d58103bcc5d37ad15aba7d9365f9ab71eebba0c5aeed803858aed77ff6ccf1d11eb5bd00055 + languageName: node + linkType: hard + "human-signals@npm:^5.0.0": version: 5.0.0 resolution: "human-signals@npm:5.0.0" @@ -4891,6 +5015,13 @@ __metadata: languageName: node linkType: hard +"is-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 10/3ccf0efdea12951e0b9c784e2b00e77e87b2f8bd30b42a498548a8afcc11b3287342a2030c308e473e93a7a19c9ea7854c99a8832a476591c727df2a9c79796c + languageName: node + linkType: hard + "is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" @@ -4922,6 +5053,13 @@ __metadata: languageName: node linkType: hard +"is-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "is-regexp@npm:1.0.0" + checksum: 10/be692828e24cba479ec33644326fa98959ec68ba77965e0291088c1a741feaea4919d79f8031708f85fd25e39de002b4520622b55460660b9c369e6f7187faef + languageName: node + linkType: hard + "is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": version: 1.0.3 resolution: "is-shared-array-buffer@npm:1.0.3" @@ -5218,6 +5356,13 @@ __metadata: languageName: node linkType: hard +"jstoxml@npm:^3.2.6": + version: 3.2.10 + resolution: "jstoxml@npm:3.2.10" + checksum: 10/8f24d65053ea98ecbafecd727b834afa53444aec7d30e4df692edd2dd082bd60469f33391aa9abc07fc4cc120da8878981c15b525c77ef97e4175ef701e496b8 + languageName: node + linkType: hard + "jwt-decode@npm:^3.1.2": version: 3.1.2 resolution: "jwt-decode@npm:3.1.2" @@ -5456,6 +5601,13 @@ __metadata: languageName: node linkType: hard +"map-stream@npm:0.0.7": + version: 0.0.7 + resolution: "map-stream@npm:0.0.7" + checksum: 10/e155cadf084661a16e0218d00af126842f5e40620abcdf8c3ba7ed94e8dd0b5bed171cacf2379158b518b2886dd991124f05291a353b0307cf7bc7e47c53f88c + languageName: node + linkType: hard + "mark.js@npm:^8.11.1": version: 8.11.1 resolution: "mark.js@npm:8.11.1" @@ -6064,6 +6216,13 @@ __metadata: languageName: node linkType: hard +"openapi-types@npm:^10.0.0": + version: 10.0.0 + resolution: "openapi-types@npm:10.0.0" + checksum: 10/459208f6370aaa9d58f68b7411a2a9f6dbb225a84d60622947e94d83d9603d0a87cdd4ca10948ca67b02adcbf3f88679f642664c0ecd403c2c3afa7f5ce1dd10 + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -6285,6 +6444,15 @@ __metadata: languageName: node linkType: hard +"pause-stream@npm:^0.0.11": + version: 0.0.11 + resolution: "pause-stream@npm:0.0.11" + dependencies: + through: "npm:~2.3" + checksum: 10/1407efadfe814b5c487e4b28d6139cb7e03ee5d25fbb5f89a68f2053e81f05ce6b2bec196eeb3d46ef2c856f785016d14816b0d0e3c3abd1b64311c5c20660dc + languageName: node + linkType: hard + "perfect-scrollbar@npm:^1.5.5": version: 1.5.5 resolution: "perfect-scrollbar@npm:1.5.5" @@ -6524,7 +6692,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.0": +"qs@npm:6.13.0, qs@npm:^6.10.3": version: 6.13.0 resolution: "qs@npm:6.13.0" dependencies: @@ -6547,6 +6715,16 @@ __metadata: languageName: node linkType: hard +"randexp@npm:^0.5.3": + version: 0.5.3 + resolution: "randexp@npm:0.5.3" + dependencies: + drange: "npm:^1.0.2" + ret: "npm:^0.2.0" + checksum: 10/e67238fe5b0a71b1bfe56b964f59fc10d37c0cb05bf686ec624696897b1c9b3cf7a371f8d3257b7c829a67a2a4a9c2c136c1decdad147bc3f62b2147f5cafb2b + languageName: node + linkType: hard + "randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -6808,6 +6986,13 @@ __metadata: languageName: node linkType: hard +"ret@npm:^0.2.0": + version: 0.2.2 + resolution: "ret@npm:0.2.2" + checksum: 10/9f16517f77a3b508c529bc22187c132cd7907cd9270601d6794e1c8a58f6990872b4697b4edfdebb4f87017f9f0a285007b740a9ffb8236805b923fd1bc84eb1 + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -6998,6 +7183,7 @@ __metadata: "@actions/core": "npm:1.11.1" "@actions/exec": "npm:1.1.1" "@actions/io": "npm:1.1.3" + "@har-sdk/oas": "npm:2.10.0" "@octokit/rest": "npm:21.0.2" "@types/express": "npm:5.0.0" "@types/folder-hash": "npm:4.0.4" @@ -7016,6 +7202,7 @@ __metadata: express: "npm:4.21.0" folder-hash: "npm:4.0.4" fs-extra: "npm:11.2.0" + httpsnippet: "npm:3.0.1" js-yaml: "npm:4.1.0" knip: "npm:5.30.4" micromatch: "npm:4.0.8" @@ -7320,6 +7507,15 @@ __metadata: languageName: node linkType: hard +"split@npm:^1.0.1": + version: 1.0.1 + resolution: "split@npm:1.0.1" + dependencies: + through: "npm:2" + checksum: 10/12f4554a5792c7e98bb3e22b53c63bfa5ef89aa704353e1db608a55b51f5b12afaad6e4a8ecf7843c15f273f43cdadd67b3705cc43d48a75c2cf4641d51f7e7a + languageName: node + linkType: hard + "sprintf-js@npm:^1.1.3": version: 1.1.3 resolution: "sprintf-js@npm:1.1.3" @@ -7364,6 +7560,16 @@ __metadata: languageName: node linkType: hard +"stream-combiner@npm:^0.2.2": + version: 0.2.2 + resolution: "stream-combiner@npm:0.2.2" + dependencies: + duplexer: "npm:~0.1.1" + through: "npm:~2.3.4" + checksum: 10/5d3f4f6dd3604b3c5acf16150eabbbd131247378b54719c39cac5b5793150a92842306f662b58df65f2bd2e64bf8081f21449489591fed440c2b280021474e7d + languageName: node + linkType: hard + "streamx@npm:^2.15.0": version: 2.20.1 resolution: "streamx@npm:2.20.1" @@ -7471,6 +7677,17 @@ __metadata: languageName: node linkType: hard +"stringify-object@npm:3.3.0": + version: 3.3.0 + resolution: "stringify-object@npm:3.3.0" + dependencies: + get-own-enumerable-property-symbols: "npm:^3.0.0" + is-obj: "npm:^1.0.1" + is-regexp: "npm:^1.0.0" + checksum: 10/973782f09a3df3f39a2cf07dbf43fb9ba6cb32976f3616cd0f6c10e0a5c5415dd72b7b700e72920e8da2bf57c3001b8e37b5af7174bab9a748ce0416989e19b1 + languageName: node + linkType: hard + "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -7665,7 +7882,7 @@ __metadata: languageName: node linkType: hard -"through@npm:^2.3.6": +"through@npm:2, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.4": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: 10/5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198 @@ -7781,7 +7998,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.7.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.6.2": +"tslib@npm:2.7.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.1, tslib@npm:^2.6.2": version: 2.7.0 resolution: "tslib@npm:2.7.0" checksum: 10/9a5b47ddac65874fa011c20ff76db69f97cf90c78cff5934799ab8894a5342db2d17b4e7613a087046bc1d133d21547ddff87ac558abeec31ffa929c88b7fce6 @@ -8527,7 +8744,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.1": +"yargs@npm:^17.0.1, yargs@npm:^17.4.0": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: