From 06aef6f034e5429e1099462bc01d1c51dc11ce0c Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Tue, 30 Nov 2021 18:24:20 +0100 Subject: [PATCH 01/13] first test of cts --- .../client-search/package.json | 4 +- .../recommend/package.json | 4 +- doc/CTS.md | 47 + doc/contribution_addNewClient.md | 4 + openapitools.json | 4 +- package.json | 13 +- playground/javascript/package.json | 2 +- templates/javascript/package.mustache | 4 +- tests/CTS/clients/search/search.json | 19 + tests/CTS/templates/javascript.mustache | 15 + tests/generateCTS.ts | 143 + tests/jest.config.js | 7 + tests/output/javascript/recommend.test.ts | 5 + tests/output/javascript/search.test.ts | 13 + tests/package.json | 23 + yarn.lock | 4708 +++++++++++++++-- 16 files changed, 4468 insertions(+), 547 deletions(-) create mode 100644 doc/CTS.md create mode 100644 tests/CTS/clients/search/search.json create mode 100644 tests/CTS/templates/javascript.mustache create mode 100644 tests/generateCTS.ts create mode 100644 tests/jest.config.js create mode 100644 tests/output/javascript/recommend.test.ts create mode 100644 tests/output/javascript/search.test.ts create mode 100644 tests/package.json diff --git a/clients/algoliasearch-client-javascript/client-search/package.json b/clients/algoliasearch-client-javascript/client-search/package.json index 17b92d16aa5..a4810bb2583 100644 --- a/clients/algoliasearch-client-javascript/client-search/package.json +++ b/clients/algoliasearch-client-javascript/client-search/package.json @@ -18,7 +18,7 @@ "yarn": "^3.0.0" }, "devDependencies": { - "@types/node": "^16.11.6", - "typescript": "4.5.2" + "@types/node": "^16.11.11", + "typescript": "^4.5.2" } } diff --git a/clients/algoliasearch-client-javascript/recommend/package.json b/clients/algoliasearch-client-javascript/recommend/package.json index f4039809b3b..2af2350d51a 100644 --- a/clients/algoliasearch-client-javascript/recommend/package.json +++ b/clients/algoliasearch-client-javascript/recommend/package.json @@ -18,7 +18,7 @@ "yarn": "^3.0.0" }, "devDependencies": { - "@types/node": "^16.11.6", - "typescript": "4.5.2" + "@types/node": "^16.11.11", + "typescript": "^4.5.2" } } diff --git a/doc/CTS.md b/doc/CTS.md new file mode 100644 index 00000000000..dcae84d9333 --- /dev/null +++ b/doc/CTS.md @@ -0,0 +1,47 @@ +# Common Test Suite + +The CTS aims at ensuring minimal working operation for the API clients, by comparing the request formed by sample parameters. +It it automaticaly generated for all langages, from a json entry point. + +## How to run it + +```bash +yarn cts:generate all +yarn cts:test +``` + +If you only want to generate the tests for a set of langages, you can run: +```bash +yarn cts:generate javascript ruby +``` + +## How to add test + +The common format for a test is a json object in the file named: `/`, that follows this schema: +```json +[ + { + "name": "test name", + "method": "the method to call (ex: search)", + "parameters": [ + "indexName", + { + "query": "the string to search" + } + ], + "request": { + "path": "/1/indexes/indexName/query", + "method": "POST", + "data": { "query": "the string to search" } + } + } +] +``` + +And that's it ! If the name of the file matches a real `operationId` in the spec, then a test will be generated. + +## How to add a new langage + +- Create a template in `test/CTS/templates/.mustache` that parse a array of test into your test framework of choice +- Add the langage in the array `langages` in `tests/generateCTS.ts`. + diff --git a/doc/contribution_addNewClient.md b/doc/contribution_addNewClient.md index a3e8a48a207..fec8899bb4c 100644 --- a/doc/contribution_addNewClient.md +++ b/doc/contribution_addNewClient.md @@ -28,6 +28,10 @@ You will need to implement: - An `init` method - The `retry strategy` with your custom transporter +- At least 2 requester: + - http requester, using the standard library + - echo requester that send the request back, used by the CTS +- A logger that the user can swap - More to come... ### Init method diff --git a/openapitools.json b/openapitools.json index 7363c129304..6de1ec6166b 100644 --- a/openapitools.json +++ b/openapitools.json @@ -3,7 +3,7 @@ "generator-cli": { "version": "5.3.0", "generators": { - "javascript-client-search": { + "javascript-search": { "generatorName": "typescript-node", "templateDir": "#{cwd}/templates/javascript/", "config": "#{cwd}/openapitools.json", @@ -40,4 +40,4 @@ } } } -} +} \ No newline at end of file diff --git a/package.json b/package.json index 5a12e8db6bf..d60fde8cb79 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "version": "0.0.0", "workspaces": [ "clients/algoliasearch-client-javascript/*", - "playground/javascript/" + "playground/javascript/", + "tests/" ], "scripts": { "build:spec:recommend:json": "yarn swagger-cli bundle specs/recommend/spec.yml --outfile specs/dist/recommend.json --type json", @@ -17,11 +18,13 @@ "client:build-js:recommend": "yarn workspace @algolia/recommend build", "client:build-js": "yarn client:build-js:search && yarn client:build-js:recommend", "client:build": "yarn client:build-js", + "cts:generate": "yarn workspace tests cts:generate", + "cts:test": "yarn workspace tests test", "lint:js": "yarn prettier --write clients/algoliasearch-client-javascript/${CLIENT}", "lint:specs": "yarn prettier --write specs", "lint": "yarn lint:specs && yarn lint:js", "generate:js:recommend": "yarn openapi-generator-cli generate --generator-key javascript-recommend && CLIENT=recommend yarn utils:import-js && CLIENT=recommend yarn lint:js", - "generate:js:search": "yarn openapi-generator-cli generate --generator-key javascript-client-search && CLIENT=client-search yarn utils:import-js && CLIENT=client-search yarn lint:js", + "generate:js:search": "yarn openapi-generator-cli generate --generator-key javascript-search && CLIENT=client-search yarn utils:import-js && CLIENT=client-search yarn lint:js", "generate:js": "yarn generate:js:search && yarn generate:js:recommend", "generate:recommend": "yarn generate:js:recommend", "generate:search": "yarn generate:js:search", @@ -32,9 +35,9 @@ "validate": "yarn swagger-cli validate specs/dist/search.yml && yarn swagger-cli validate specs/dist/recommend.yml" }, "devDependencies": { - "@openapitools/openapi-generator-cli": "^2.4.13", - "prettier": "2.4.1", - "swagger-cli": "^4.0.4" + "@openapitools/openapi-generator-cli": "2.4.18", + "prettier": "2.5.0", + "swagger-cli": "4.0.4" }, "engines": { "node": "^16.0.0", diff --git a/playground/javascript/package.json b/playground/javascript/package.json index 5eee07a7076..4e92024acbe 100644 --- a/playground/javascript/package.json +++ b/playground/javascript/package.json @@ -12,7 +12,7 @@ "@algolia/client-search": "5.0.0", "@algolia/recommend": "5.0.0", "dotenv": "10.0.0", - "prettier": "2.4.1", + "prettier": "2.5.0", "typescript": "4.5.2" }, "engines": { diff --git a/templates/javascript/package.mustache b/templates/javascript/package.mustache index 11cc8806778..f1748c5ae2e 100644 --- a/templates/javascript/package.mustache +++ b/templates/javascript/package.mustache @@ -18,8 +18,8 @@ "yarn": "^3.0.0" }, "devDependencies": { - "@types/node": "^16.11.6", - "typescript": "4.5.2" + "@types/node": "^16.11.11", + "typescript": "^4.5.2" } {{#npmRepository}}, "publishConfig": { diff --git a/tests/CTS/clients/search/search.json b/tests/CTS/clients/search/search.json new file mode 100644 index 00000000000..9f5bbb455d0 --- /dev/null +++ b/tests/CTS/clients/search/search.json @@ -0,0 +1,19 @@ +[ + { + "name": "hello test", + "method": "search", + "parameters": [ + "indexName", + { + "query": "coucou" + } + ], + "request": { + "path": "/1/indexes/indexName/query", + "method": "POST", + "body": { + "query": "coucou" + } + } + } +] \ No newline at end of file diff --git a/tests/CTS/templates/javascript.mustache b/tests/CTS/templates/javascript.mustache new file mode 100644 index 00000000000..91ffe144a4d --- /dev/null +++ b/tests/CTS/templates/javascript.mustache @@ -0,0 +1,15 @@ +import { {{client}}, EchoRequester } from '{{{import}}}'; + +describe('Common Test Suite', () => { + const client = new {{client}}(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { requester: new EchoRequester() }); + {{#tests}} + test('{{name}}', async () => { + const req = await client.{{method}}({{#parameters}}{{{.}}},{{/parameters}}); + expect(req).toMatchObject({ + path: '{{{request.path}}}', + method: '{{{request.method}}}', + data: '{{{request.body}}}', + }) + }); + {{/tests}} +}); diff --git a/tests/generateCTS.ts b/tests/generateCTS.ts new file mode 100644 index 00000000000..3e9a95ac546 --- /dev/null +++ b/tests/generateCTS.ts @@ -0,0 +1,143 @@ +import * as fsp from 'fs/promises'; +import Mustache from 'mustache'; +import * as path from 'path'; +import SwaggerParser from 'swagger-parser'; +import { OpenAPIV3 } from 'openapi-types'; + +const availableLangages = ['javascript']; + +type CTSBlock = { + name: string, + method: string, + parameters: any[], + request: { + path: string, + method: string, + body: string, + } +}; + +// Array of test per client +type WholeCTS = Record; + +const packageNameMapping: Record = { javascript: 'npmName' }; + +//For each langage, for each client, we have a package name +let packageNames: Record> = {}; +let cts: WholeCTS = {}; + +async function createOutputDir(langage: string) { + await fsp.mkdir(`output/${langage}`, { recursive: true }); +} + +async function* walk(dir: string): AsyncGenerator<{ path: string, name: string }> { + for await (const d of await fsp.opendir(dir)) { + const entry = path.join(dir, d.name); + if (d.isDirectory()) yield* walk(entry); + else if (d.isFile()) yield { path: entry, name: d.name }; + } +} + +function capitalize(str: string): string { + return str.charAt(0).toUpperCase() + str.slice(1); +} + +async function loadPackageNames(): Promise { + const openapitools = JSON.parse((await fsp.readFile('../openapitools.json')).toString()); + packageNames = Object.entries(openapitools["generator-cli"].generators).reduce((prev, curr: any) => { + const [lang, client] = curr[0].split("-"); + if (!(lang in prev)) { + prev[lang] = {}; + } + prev[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; + return prev; + }, {}); +} + +async function loadCTSForClient(client: string): Promise { + // load the list of operations from the spec + const spec = await SwaggerParser.validate(`../specs/${client}/spec.yml`); + const operations = Object.values(spec.paths).flatMap((path) => Object.values(path)).map((obj) => obj.operationId); + + const ctsClient: CTSBlock[] = []; + + for await (const file of walk(`./CTS/clients/${client}`)) { + if (!file.name.endsWith('json')) { + continue; + } + const operationId = file.name.replace('.json', ''); + const test: CTSBlock[] = JSON.parse((await fsp.readFile(file.path)).toString()); + for (let i = 0; i < test[0].parameters.length; i++) { + test[0].parameters[i] = JSON.stringify(test[0].parameters[i]); + } + + //check test validity against spec + if (!operations.includes(operationId)) { + throw new Error(`cannot find operationId ${operationId} for the ${client} client`); + } + ctsClient.push(...test); + } + return ctsClient; +} + +async function loadCTS(): Promise { + for await (const { name: client } of await fsp.opendir('./CTS/clients/')) { + cts[client] = await loadCTSForClient(client); + } +} + +async function loadTemplate(langage: string): Promise { + return (await fsp.readFile(`CTS/templates/${langage}.mustache`)).toString(); +} + +async function generateCode(langage: string) { + const template = await loadTemplate(langage); + await createOutputDir(langage); + for (const client in cts) { + const code = Mustache.render(template, { + import: packageNames[langage][client], + client: `${capitalize(client)}Api`, + tests: cts[client] + }); + await fsp.writeFile(`output/${langage}/${client}.test.ts`, code); + } +} + +function printUsage() { + console.log(`usage: generateCTS all | langage1 langage2...`); + console.log(`\tavailable langages: ${availableLangages.join(',')}`); + process.exit(1); +} + +async function parseCLI(args: string[]) { + if (args.length < 3) { + console.log("not enough arguments"); + printUsage(); + } + + let toGenerate: string[]; + if (args.length == 3 && args[2] === 'all') { + toGenerate = availableLangages; + } else { + const langages = args.slice(2); + if (!langages.every((lang) => availableLangages.includes(lang))) { + console.log("unkown langage: ", langages.join(', ')); + printUsage(); + } + toGenerate = langages; + } + + try { + await loadPackageNames(); + await loadCTS(); + for (const lang of toGenerate) { + generateCode(lang); + } + } catch (e) { + if (e instanceof Error) { + console.error(e); + } + } +} + +parseCLI(process.argv); diff --git a/tests/jest.config.js b/tests/jest.config.js new file mode 100644 index 00000000000..23af813cd72 --- /dev/null +++ b/tests/jest.config.js @@ -0,0 +1,7 @@ +require('dotenv').config(); + +/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/tests/output/javascript/recommend.test.ts b/tests/output/javascript/recommend.test.ts new file mode 100644 index 00000000000..f2238f806f9 --- /dev/null +++ b/tests/output/javascript/recommend.test.ts @@ -0,0 +1,5 @@ +import { RecommendApi, EchoRequester } from '@algolia/recommend'; + +describe('Common Test Suite', () => { + const client = new RecommendApi(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { requester: new EchoRequester() }); +}); diff --git a/tests/output/javascript/search.test.ts b/tests/output/javascript/search.test.ts new file mode 100644 index 00000000000..2d2d73c5bb6 --- /dev/null +++ b/tests/output/javascript/search.test.ts @@ -0,0 +1,13 @@ +import { SearchApi, EchoRequester } from '@algolia/client-search'; + +describe('Common Test Suite', () => { + const client = new SearchApi(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { requester: new EchoRequester() }); + test('hello test', async () => { + const req = await client.search("indexName",{"query":"coucou"},); + expect(req).toMatchObject({ + path: '/1/indexes/indexName/query', + method: 'POST', + data: '[object Object]', + }) + }); +}); diff --git a/tests/package.json b/tests/package.json new file mode 100644 index 00000000000..9daeeaa3e64 --- /dev/null +++ b/tests/package.json @@ -0,0 +1,23 @@ +{ + "name": "tests", + "version": "1.0.0", + "scripts": { + "test": "jest", + "cts:generate": "ts-node -T generateCTS.ts" + }, + "devDependencies": { + "@algolia/client-search": "5.0.0", + "@algolia/recommend": "5.0.0", + "@types/jest": "27.0.3", + "@types/mustache": "4.1.2", + "@types/node": "16.11.11", + "dotenv": "10.0.0", + "jest": "27.4.1", + "mustache": "4.2.0", + "openapi-types": "9.3.1", + "swagger-parser": "10.0.3", + "ts-jest": "27.0.7", + "ts-node": "10.4.0", + "typescript": "4.5.2" + } +} diff --git a/yarn.lock b/yarn.lock index ba739a59b8b..a63028b5e5c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,9 +9,9 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/api-client-automation@workspace:." dependencies: - "@openapitools/openapi-generator-cli": ^2.4.13 - prettier: 2.4.1 - swagger-cli: ^4.0.4 + "@openapitools/openapi-generator-cli": 2.4.18 + prettier: 2.5.0 + swagger-cli: 4.0.4 languageName: unknown linkType: soft @@ -19,8 +19,8 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/client-search@workspace:clients/algoliasearch-client-javascript/client-search" dependencies: - "@types/node": ^16.11.6 - typescript: 4.5.2 + "@types/node": ^16.11.11 + typescript: ^4.5.2 languageName: unknown linkType: soft @@ -28,8 +28,8 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/recommend@workspace:clients/algoliasearch-client-javascript/recommend" dependencies: - "@types/node": ^16.11.6 - typescript: 4.5.2 + "@types/node": ^16.11.11 + typescript: ^4.5.2 languageName: unknown linkType: soft @@ -73,7 +73,7 @@ __metadata: languageName: node linkType: hard -"@apidevtools/swagger-parser@npm:^10.0.1": +"@apidevtools/swagger-parser@npm:10.0.3, @apidevtools/swagger-parser@npm:^10.0.1": version: 10.0.3 resolution: "@apidevtools/swagger-parser@npm:10.0.3" dependencies: @@ -89,363 +89,1657 @@ __metadata: languageName: node linkType: hard -"@jsdevtools/ono@npm:^7.1.3": - version: 7.1.3 - resolution: "@jsdevtools/ono@npm:7.1.3" - checksum: 2297fcd472ba810bffe8519d2249171132844c7174f3a16634f9260761c8c78bc0428a4190b5b6d72d45673c13918ab9844d706c3ed4ef8f62ab11a2627a08ad +"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/code-frame@npm:7.16.0" + dependencies: + "@babel/highlight": ^7.16.0 + checksum: 8961d0302ec6b8c2e9751a11e06a17617425359fd1645e4dae56a90a03464c68a0916115100fbcd030961870313f21865d0b85858360a2c68aabdda744393607 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.16.0": + version: 7.16.4 + resolution: "@babel/compat-data@npm:7.16.4" + checksum: 4949ce54eafc4b38d5623696a872acaaced1a523605708d81c2c483253941917d90dae0de40fc01e152ae56075dadd89c23014da5a632b09c001a716fa689cae languageName: node linkType: hard -"@nestjs/common@npm:8.2.2": - version: 8.2.2 - resolution: "@nestjs/common@npm:8.2.2" +"@babel/core@npm:7.16.0, @babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5": + version: 7.16.0 + resolution: "@babel/core@npm:7.16.0" dependencies: - axios: 0.24.0 - iterare: 1.2.1 - tslib: 2.3.1 - uuid: 8.3.2 - peerDependencies: - cache-manager: "*" - class-transformer: "*" - class-validator: "*" - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - cache-manager: - optional: true - class-transformer: - optional: true - class-validator: - optional: true - checksum: 5d74143630d9bbe28d18bb9c47a948f84c2b62aed0974de0963ec3e94da9964b9b214da3622b4b6970456dfe03dc12439728c57570ffca5e2283b4fe3ac6daee + "@babel/code-frame": ^7.16.0 + "@babel/generator": ^7.16.0 + "@babel/helper-compilation-targets": ^7.16.0 + "@babel/helper-module-transforms": ^7.16.0 + "@babel/helpers": ^7.16.0 + "@babel/parser": ^7.16.0 + "@babel/template": ^7.16.0 + "@babel/traverse": ^7.16.0 + "@babel/types": ^7.16.0 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.1.2 + semver: ^6.3.0 + source-map: ^0.5.0 + checksum: a140f669daa90c774016a76b1f85641975333c1c219ae0a8e65d8b4c316836e918276e0dfd55613b14f8e578406a92393d4368a63bdd5d0708122976ee2ee8e3 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.16.0, @babel/generator@npm:^7.7.2": + version: 7.16.0 + resolution: "@babel/generator@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: 9ff53e0db72a225c8783c4a277698b4efcead750542ebb9cff31732ba62d092090715a772df10a323446924712f6928ad60c03db4e7051bed3a9701b552d51fb languageName: node linkType: hard -"@nestjs/core@npm:8.2.2": - version: 8.2.2 - resolution: "@nestjs/core@npm:8.2.2" +"@babel/helper-compilation-targets@npm:^7.16.0": + version: 7.16.3 + resolution: "@babel/helper-compilation-targets@npm:7.16.3" dependencies: - "@nuxtjs/opencollective": 0.3.2 - fast-safe-stringify: 2.1.1 - iterare: 1.2.1 - object-hash: 2.2.0 - path-to-regexp: 3.2.0 - tslib: 2.3.1 - uuid: 8.3.2 + "@babel/compat-data": ^7.16.0 + "@babel/helper-validator-option": ^7.14.5 + browserslist: ^4.17.5 + semver: ^6.3.0 peerDependencies: - "@nestjs/common": ^8.0.0 - "@nestjs/microservices": ^8.0.0 - "@nestjs/platform-express": ^8.0.0 - "@nestjs/websockets": ^8.0.0 - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - "@nestjs/microservices": - optional: true - "@nestjs/platform-express": - optional: true - "@nestjs/websockets": - optional: true - checksum: 5dee8d70b9c8e09c3810f028fdaa91b0025fd11bf2fd47b74d44ee44b6cce9245709f3b69a1661be23ba67688ed67eeb85770a2d0c1812534429976ba103d8e8 + "@babel/core": ^7.0.0 + checksum: 038bcd43ac914371c51bf6e72b5cedcae432f0d359285d74a9133c6a839bd625a7d5412d7471d50aa78a3e1c79b0a692b50a8d6a1299ebf69733b512ff199323 languageName: node linkType: hard -"@nuxtjs/opencollective@npm:0.3.2": - version: 0.3.2 - resolution: "@nuxtjs/opencollective@npm:0.3.2" +"@babel/helper-function-name@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-function-name@npm:7.16.0" dependencies: - chalk: ^4.1.0 - consola: ^2.15.0 - node-fetch: ^2.6.1 - bin: - opencollective: bin/opencollective.js - checksum: fd3737c12edf55b5c2279674664c3ed5e756410ea82e9cd324c3f0e032ed5ccd8df1959ec69ea97f2f1c9c33c884aae3d7a7108a73ea0faa90d74ea47cf364d4 + "@babel/helper-get-function-arity": ^7.16.0 + "@babel/template": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: 8c02371d28678f3bb492e69d4635b2fe6b1c5a93ce129bf883f1fafde2005f4dbc0e643f52103ca558b698c0774bfb84a93f188d71db1c077f754b6220629b92 languageName: node linkType: hard -"@openapitools/openapi-generator-cli@npm:^2.4.13": - version: 2.4.17 - resolution: "@openapitools/openapi-generator-cli@npm:2.4.17" +"@babel/helper-get-function-arity@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-get-function-arity@npm:7.16.0" dependencies: - "@nestjs/common": 8.2.2 - "@nestjs/core": 8.2.2 - "@nuxtjs/opencollective": 0.3.2 - chalk: 4.1.2 - commander: 8.3.0 - compare-versions: 3.6.0 - concurrently: 6.4.0 - console.table: 0.10.0 - fs-extra: 10.0.0 - glob: 7.1.6 - inquirer: 8.2.0 - lodash: 4.17.21 - reflect-metadata: 0.1.13 - rxjs: 7.4.0 - tslib: 2.0.3 - bin: - openapi-generator-cli: main.js - checksum: 6d344ef62e4647e3c830f1463deb320e07dfc33ba09016d2488c28f13b71dfccc2b4d4f02ee1252102f8dd1f2bac98b440fa1824ba24efef40d7b4def5cd073b + "@babel/types": ^7.16.0 + checksum: 1a68322c7b5fdffb1b51df32f7a53b1ff2268b5b99d698f0a1a426dcb355482a44ef3dae982a507907ba975314638dabb6d77ac1778098bdbe99707e6c29cae8 languageName: node linkType: hard -"@types/json-schema@npm:^7.0.6": - version: 7.0.9 - resolution: "@types/json-schema@npm:7.0.9" - checksum: 259d0e25f11a21ba5c708f7ea47196bd396e379fddb79c76f9f4f62c945879dc21657904914313ec2754e443c5018ea8372362f323f30e0792897fdb2098a705 +"@babel/helper-hoist-variables@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-hoist-variables@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 2ee5b400c267c209a53c90eea406a8f09c30d4d7a2b13e304289d858a2e34a99272c062cfad6dad63705662943951c42ff20042ef539b2d3c4f8743183a28954 languageName: node linkType: hard -"@types/node@npm:^16.11.6": - version: 16.11.10 - resolution: "@types/node@npm:16.11.10" - checksum: 9c79419c5c3d92d5825bffa30f3668533f598d8b63a73ea7fc24e47f162bdbed92b0f8e4f4261cc3314b39cee050e303366d2aa154abc95c63a572a110b8c160 +"@babel/helper-member-expression-to-functions@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 58ef8e3a4af0c1dc43a2011f43f25502877ac1c5aa9a4a6586f0265ab857b65831f60560044bc9380df43c91ac21cad39a84095b91764b433d1acf18d27e38d6 languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" +"@babel/helper-module-imports@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-module-imports@npm:7.16.0" dependencies: - type-fest: ^0.21.3 - checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + "@babel/types": ^7.16.0 + checksum: 8e1eb9ac39440e52080b87c78d8d318e7c93658bdd0f3ce0019c908de88cbddafdc241f392898c0b0ba81fc52c8c6d2f9cc1b163ac5ed2a474d49b11646b7516 languageName: node linkType: hard -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b +"@babel/helper-module-transforms@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-module-transforms@npm:7.16.0" + dependencies: + "@babel/helper-module-imports": ^7.16.0 + "@babel/helper-replace-supers": ^7.16.0 + "@babel/helper-simple-access": ^7.16.0 + "@babel/helper-split-export-declaration": ^7.16.0 + "@babel/helper-validator-identifier": ^7.15.7 + "@babel/template": ^7.16.0 + "@babel/traverse": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: a3d0e5556f26ebdf2ae422af3b9a1ba1848fead891f46bcd1c6a4be88ad8e9f348140f81d1843a3481574be1643a9c79b01469231f5b5801f5d5e691efdd11f3 languageName: node linkType: hard -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" +"@babel/helper-optimise-call-expression@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-optimise-call-expression@npm:7.16.0" dependencies: - color-convert: ^2.0.1 - checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 + "@babel/types": ^7.16.0 + checksum: 121ae6054fcec76ed2c4dd83f0281b901c1e3cfac1bbff79adc3667983903ad1030a0ad9a8bea58e52b225e13881cf316f371c65276976e7a6762758a98be8f6 languageName: node linkType: hard -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.14.5 + resolution: "@babel/helper-plugin-utils@npm:7.14.5" + checksum: fe20e90a24d02770a60ebe80ab9f0dfd7258503cea8006c71709ac9af1aa3e47b0de569499673f11ea6c99597f8c0e4880ae1d505986e61101b69716820972fe + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-replace-supers@npm:7.16.0" dependencies: - sprintf-js: ~1.0.2 - checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 + "@babel/helper-member-expression-to-functions": ^7.16.0 + "@babel/helper-optimise-call-expression": ^7.16.0 + "@babel/traverse": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: 61f04bbe05ff0987d5a8d5253cb101d47004a27951d6c5cd95457e30fcb3adaca85f0bcaa7f31f4d934f22386b935ac7281398c68982d4a4768769d95c028460 languageName: node linkType: hard -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced +"@babel/helper-simple-access@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-simple-access@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 2d7155f318411788b42d2f4a3d406de12952ad620d0bd411a0f3b5803389692ad61d9e7fab5f93b23ad3d8a09db4a75ca9722b9873a606470f468bc301944af6 languageName: node linkType: hard -"axios@npm:0.24.0": - version: 0.24.0 - resolution: "axios@npm:0.24.0" +"@babel/helper-split-export-declaration@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-split-export-declaration@npm:7.16.0" dependencies: - follow-redirects: ^1.14.4 - checksum: 468cf496c08a6aadfb7e699bebdac02851e3043d4e7d282350804ea8900e30d368daa6e3cd4ab83b8ddb5a3b1e17a5a21ada13fc9cebd27b74828f47a4236316 + "@babel/types": ^7.16.0 + checksum: 8bd87b5ea2046b145f0f55bc75cbdb6df69eaeb32919ee3c1c758757025aebca03e567a4d48389eb4f16a55021adb6ed8fa58aa771e164b15fa5e0a0722f771d languageName: node linkType: hard -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 +"@babel/helper-validator-identifier@npm:^7.15.7": + version: 7.15.7 + resolution: "@babel/helper-validator-identifier@npm:7.15.7" + checksum: f041c28c531d1add5cc345b25d5df3c29c62bce3205b4d4a93dcd164ccf630350acba252d374fad8f5d8ea526995a215829f27183ba7ce7ce141843bf23068a6 languageName: node linkType: hard -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 +"@babel/helper-validator-option@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-validator-option@npm:7.14.5" + checksum: 1b25c34a5cb3d8602280f33b9ab687d2a77895e3616458d0f70ddc450ada9b05e342c44f322bc741d51b252e84cff6ec44ae93d622a3354828579a643556b523 languageName: node linkType: hard -"bl@npm:^4.1.0": - version: 4.1.0 - resolution: "bl@npm:4.1.0" +"@babel/helpers@npm:^7.16.0": + version: 7.16.3 + resolution: "@babel/helpers@npm:7.16.3" dependencies: - buffer: ^5.5.0 - inherits: ^2.0.4 - readable-stream: ^3.4.0 - checksum: 9e8521fa7e83aa9427c6f8ccdcba6e8167ef30cc9a22df26effcc5ab682ef91d2cbc23a239f945d099289e4bbcfae7a192e9c28c84c6202e710a0dfec3722662 + "@babel/template": ^7.16.0 + "@babel/traverse": ^7.16.3 + "@babel/types": ^7.16.0 + checksum: b725b1aab734e9e1407247ee499880583855843fa2855377a2c26277bd9fbd7080219109189bc69b18d71cc30759666bfe66d534729b41452097866d1f5a66ef languageName: node linkType: hard -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" +"@babel/highlight@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/highlight@npm:7.16.0" dependencies: - balanced-match: ^1.0.0 - concat-map: 0.0.1 - checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + "@babel/helper-validator-identifier": ^7.15.7 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: abf244c48fcff20ec87830e8b99c776f4dcdd9138e63decc195719a94148da35339639e0d8045eb9d1f3e67a39ab90a9c3f5ce2d579fb1a0368d911ddf29b4e5 languageName: node linkType: hard -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.0, @babel/parser@npm:^7.16.3, @babel/parser@npm:^7.7.2": + version: 7.16.4 + resolution: "@babel/parser@npm:7.16.4" + bin: + parser: ./bin/babel-parser.js + checksum: ce0a8f92f440f2a12bc932f070a7b60c5133bf8a63f461841f9e39af0194f573707959d606c6fad1a2fd496a45148553afd9b74d3b8dd36cdb7861598d1f3e36 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" dependencies: - base64-js: ^1.3.1 - ieee754: ^1.1.13 - checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 languageName: node linkType: hard -"call-me-maybe@npm:^1.0.1": - version: 1.0.1 - resolution: "call-me-maybe@npm:1.0.1" - checksum: d19e9d6ac2c6a83fb1215718b64c5e233f688ebebb603bdfe4af59cde952df1f2b648530fab555bf290ea910d69d7d9665ebc916e871e0e194f47c2e48e4886b +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 languageName: node linkType: hard -"camelcase@npm:^5.0.0": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b +"@babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": ^7.12.13 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc languageName: node linkType: hard -"chalk@npm:4.1.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" +"@babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b languageName: node linkType: hard -"chardet@npm:^0.7.0": - version: 0.7.0 - resolution: "chardet@npm:0.7.0" - checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a languageName: node linkType: hard -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: - restore-cursor: ^3.1.0 - checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 languageName: node linkType: hard -"cli-spinners@npm:^2.5.0": - version: 2.6.1 - resolution: "cli-spinners@npm:2.6.1" - checksum: 423409baaa7a58e5104b46ca1745fbfc5888bbd0b0c5a626e052ae1387060839c8efd512fb127e25769b3dc9562db1dc1b5add6e0b93b7ef64f477feb6416a45 +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 languageName: node linkType: hard -"cli-width@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-width@npm:3.0.0" - checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 +"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 languageName: node linkType: hard -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - wrap-ansi: ^6.2.0 - checksum: 4fcfd26d292c9f00238117f39fc797608292ae36bac2168cfee4c85923817d0607fe21b3329a8621e01aedf512c99b7eaa60e363a671ffd378df6649fb48ae42 + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf languageName: node linkType: hard -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - wrap-ansi: ^7.0.0 - checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 languageName: node linkType: hard -"clone@npm:^1.0.2": - version: 1.0.4 - resolution: "clone@npm:1.0.4" - checksum: d06418b7335897209e77bdd430d04f882189582e67bd1f75a04565f3f07f5b3f119a9d670c943b6697d0afb100f03b866b3b8a1f91d4d02d72c4ecf2bb64b5dd +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 languageName: node linkType: hard -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" +"@babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: - color-name: ~1.1.4 - checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e languageName: node linkType: hard -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 +"@babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.16.0 + resolution: "@babel/plugin-syntax-typescript@npm:7.16.0" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2da3bdd031230e515615fe39c50d40064d04f64f1d2b60113adff2c112a27e4f9425425e604297d5c2af2b635e7980f3677e434dfeb1d7320ad2cd1ffc8e8c2a languageName: node linkType: hard -"commander@npm:8.3.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 +"@babel/template@npm:^7.16.0, @babel/template@npm:^7.3.3": + version: 7.16.0 + resolution: "@babel/template@npm:7.16.0" + dependencies: + "@babel/code-frame": ^7.16.0 + "@babel/parser": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: 940f105cc6a6aee638cd8cfae80b8b80811e0ddd53b6a11f3a68431ebb998564815fb26511b5d9cb4cff66ea67130ba7498555ee015375d32f5f89ceaa6662ea languageName: node linkType: hard -"commander@npm:^2.7.1": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.16.3, @babel/traverse@npm:^7.7.2": + version: 7.16.3 + resolution: "@babel/traverse@npm:7.16.3" + dependencies: + "@babel/code-frame": ^7.16.0 + "@babel/generator": ^7.16.0 + "@babel/helper-function-name": ^7.16.0 + "@babel/helper-hoist-variables": ^7.16.0 + "@babel/helper-split-export-declaration": ^7.16.0 + "@babel/parser": ^7.16.3 + "@babel/types": ^7.16.0 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: abb14857b1104c73124612954865e28f95a86eb6741f35851369b4f9eabc17e394c9aa6f21fba6ce23813592353090d409772be828717cbe5154a5e981a753c1 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": + version: 7.16.0 + resolution: "@babel/types@npm:7.16.0" + dependencies: + "@babel/helper-validator-identifier": ^7.15.7 + to-fast-properties: ^2.0.0 + checksum: 5b483da5c6e6f2394fba7ee1da8787a0c9cddd33491271c4da702e49e6faf95ce41d7c8bf9a4ee47f2ef06bdb35096f4d0f6ae4b5bea35ebefe16309d22344b7 languageName: node linkType: hard -"compare-versions@npm:3.6.0": - version: 3.6.0 - resolution: "compare-versions@npm:3.6.0" - checksum: 7492a50cdaa2c27f5254eee7c4b38856e1c164991bab3d98d7fd067fe4b570d47123ecb92523b78338be86aa221668fd3868bfe8caa5587dc3ebbe1a03d52b5d +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 languageName: node linkType: hard -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af +"@cspotcode/source-map-consumer@npm:0.8.0": + version: 0.8.0 + resolution: "@cspotcode/source-map-consumer@npm:0.8.0" + checksum: c0c16ca3d2f58898f1bd74c4f41a189dbcc202e642e60e489cbcc2e52419c4e89bdead02c886a12fb13ea37798ede9e562b2321df997ebc210ae9bd881561b4e languageName: node linkType: hard -"concurrently@npm:6.4.0": - version: 6.4.0 - resolution: "concurrently@npm:6.4.0" +"@cspotcode/source-map-support@npm:0.7.0": + version: 0.7.0 + resolution: "@cspotcode/source-map-support@npm:0.7.0" dependencies: - chalk: ^4.1.0 - date-fns: ^2.16.1 - lodash: ^4.17.21 - rxjs: ^6.6.3 - spawn-command: ^0.0.2-1 - supports-color: ^8.1.0 - tree-kill: ^1.2.2 - yargs: ^16.2.0 - bin: - concurrently: bin/concurrently.js - checksum: 902864cc853176cac406246fa367a1b24ebfcbea9ba43c164f9cb4e2c9c1a5f9d8be05ce98fe7ef13329ffd5cc340a052007a9c870863e2068425d95b3bf89d7 + "@cspotcode/source-map-consumer": 0.8.0 + checksum: 9faddda7757cd778b5fd6812137b2cc265810043680d6399acc20441668fafcdc874053be9dccd0d9110087287bfad27eb3bf342f72bceca9aa9059f5d0c4be8 languageName: node linkType: hard -"consola@npm:^2.15.0": - version: 2.15.3 - resolution: "consola@npm:2.15.3" - checksum: 8ef7a09b703ec67ac5c389a372a33b6dc97eda6c9876443a60d76a3076eea0259e7f67a4e54fd5a52f97df73690822d090cf8b7e102b5761348afef7c6d03e28 +"@gar/promisify@npm:^1.0.1": + version: 1.1.2 + resolution: "@gar/promisify@npm:1.1.2" + checksum: d05081e0887a49c178b75ee3067bd6ee086f73c154d121b854fb2e044e8a89cb1cbb6de3a0dd93a519b80f0531fda68b099dd7256205f7fbb3490324342f2217 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: ^5.3.1 + find-up: ^4.1.0 + get-package-type: ^0.1.0 + js-yaml: ^3.13.1 + resolve-from: ^5.0.0 + checksum: d578da5e2e804d5c93228450a1380e1a3c691de4953acc162f387b717258512a3e07b83510a936d9fab03eac90817473917e24f5d16297af3867f59328d58568 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 + languageName: node + linkType: hard + +"@jest/console@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/console@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^27.4.2 + jest-util: ^27.4.2 + slash: ^3.0.0 + checksum: d285de0ad924a726c0a1b472968e749a88e33fc5b5af4ef06c1eea5f9f489701ebd81da1b70837fcb810e8d66f8e925d6e49be2cd5a3842304d00b54a81ff14f + languageName: node + linkType: hard + +"@jest/core@npm:^27.4.1, @jest/core@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/core@npm:27.4.2" + dependencies: + "@jest/console": ^27.4.2 + "@jest/reporters": ^27.4.2 + "@jest/test-result": ^27.4.2 + "@jest/transform": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + emittery: ^0.8.1 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-changed-files: ^27.4.2 + jest-config: ^27.4.2 + jest-haste-map: ^27.4.2 + jest-message-util: ^27.4.2 + jest-regex-util: ^27.4.0 + jest-resolve: ^27.4.2 + jest-resolve-dependencies: ^27.4.2 + jest-runner: ^27.4.2 + jest-runtime: ^27.4.2 + jest-snapshot: ^27.4.2 + jest-util: ^27.4.2 + jest-validate: ^27.4.2 + jest-watcher: ^27.4.2 + micromatch: ^4.0.4 + rimraf: ^3.0.0 + slash: ^3.0.0 + strip-ansi: ^6.0.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 2adc765c6fbcf50de39ffdb6164a1d7c0c85b71f718ce84e28436cc97d89faf32d2df9b99d68b0279156d6d1a39ae4d7370ff52c39ea532a08009f944abe0b7a + languageName: node + linkType: hard + +"@jest/environment@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/environment@npm:27.4.2" + dependencies: + "@jest/fake-timers": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + jest-mock: ^27.4.2 + checksum: 12e02410180ea8f9a64b135a14d2be58729a5c425cb8d5ee1d2d7d3acb464348757e5efbd67530cfc4afeb33b32ee3af881c47244d3faded393c28d5773b1e88 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/fake-timers@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + "@sinonjs/fake-timers": ^8.0.1 + "@types/node": "*" + jest-message-util: ^27.4.2 + jest-mock: ^27.4.2 + jest-util: ^27.4.2 + checksum: 4b0c21ce8aec687ccd4e96b6f9d532a9848517b5e5fc8fa96a90fe1e7514952d0e1f805e6539fbd7336fbbac05e1a4ec7915c59284c40d919fcfb1a226b3bc9d + languageName: node + linkType: hard + +"@jest/globals@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/globals@npm:27.4.2" + dependencies: + "@jest/environment": ^27.4.2 + "@jest/types": ^27.4.2 + expect: ^27.4.2 + checksum: acb6fbe3351fc16793be9220d81201921c752ecf0862dd86dc7233576cd81481348395dcb1dd061fd45a7e5edb28301766ce8538108b0efd4015ab63882e99d5 + languageName: node + linkType: hard + +"@jest/reporters@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/reporters@npm:27.4.2" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^27.4.2 + "@jest/test-result": ^27.4.2 + "@jest/transform": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.2 + graceful-fs: ^4.2.4 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-instrument: ^4.0.3 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.0.2 + jest-haste-map: ^27.4.2 + jest-resolve: ^27.4.2 + jest-util: ^27.4.2 + jest-worker: ^27.4.2 + slash: ^3.0.0 + source-map: ^0.6.0 + string-length: ^4.0.1 + terminal-link: ^2.0.0 + v8-to-istanbul: ^8.1.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 1c431ab973b295356667b12df968a21f2e6728d2ed22d068e18bc88c8704b86be84ed344e29007b33751c05bf2a8bed599f957dea21f104fb54b0c407562df24 + languageName: node + linkType: hard + +"@jest/source-map@npm:^27.4.0": + version: 27.4.0 + resolution: "@jest/source-map@npm:27.4.0" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.2.4 + source-map: ^0.6.0 + checksum: cf87ac3dd1c2d210b0637060710d64417bcd88d670cbb26af7367ded99fd7d64d431c1718054351f0236c14659bc17a8deff6ee3d9f52902299911231bbaf0c8 + languageName: node + linkType: hard + +"@jest/test-result@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/test-result@npm:27.4.2" + dependencies: + "@jest/console": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: bc3b91a76b505c7367e15d318ce49332e56857b9f6a00f67e9debfcbd11f22f90942b3e0aeea44b7e8da1fecba4fcb6ac591d007e488c300e361b763cf3b65b9 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/test-sequencer@npm:27.4.2" + dependencies: + "@jest/test-result": ^27.4.2 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.4.2 + jest-runtime: ^27.4.2 + checksum: d781500bee5d69aa401fb4f97a059a7e7c0dc4f0e5e1f13f2f2fcfc4908cbf657c743066b73ce3ad2f98ef8ff04775d44b30b1e059a78595b3aab15b817fa5cd + languageName: node + linkType: hard + +"@jest/transform@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/transform@npm:27.4.2" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^27.4.2 + babel-plugin-istanbul: ^6.0.0 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.4.2 + jest-regex-util: ^27.4.0 + jest-util: ^27.4.2 + micromatch: ^4.0.4 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: ee5fb3cfb9fe712fdd5a663eda2b440aca438fa17e19007d96d6434935f61b9bcbb4f418552e7531143a2531dc9f24c774cf38b568cb7fa25fa0600a6a1b3bcd + languageName: node + linkType: hard + +"@jest/types@npm:^27.4.2": + version: 27.4.2 + resolution: "@jest/types@npm:27.4.2" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + checksum: 1191022023e32763063cc1c8b1143fa316fb05db2f9698280a7bdbafcabd989e5fd64f8eb875b8a2e54c53f25dba45ed2eea8ced394d9e484da0fda674cd17a5 + languageName: node + linkType: hard + +"@jsdevtools/ono@npm:^7.1.3": + version: 7.1.3 + resolution: "@jsdevtools/ono@npm:7.1.3" + checksum: 2297fcd472ba810bffe8519d2249171132844c7174f3a16634f9260761c8c78bc0428a4190b5b6d72d45673c13918ab9844d706c3ed4ef8f62ab11a2627a08ad + languageName: node + linkType: hard + +"@nestjs/common@npm:8.2.3": + version: 8.2.3 + resolution: "@nestjs/common@npm:8.2.3" + dependencies: + axios: 0.24.0 + iterare: 1.2.1 + tslib: 2.3.1 + uuid: 8.3.2 + peerDependencies: + cache-manager: "*" + class-transformer: "*" + class-validator: "*" + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + cache-manager: + optional: true + class-transformer: + optional: true + class-validator: + optional: true + checksum: 2a06ffaf58da0622727621db0b6574cad94f4a0d9b895bb8352f736207c7087fce477185b2cacd3b013b0386860e573b0d27b900783df6885e32fc943d5e87b8 + languageName: node + linkType: hard + +"@nestjs/core@npm:8.2.3": + version: 8.2.3 + resolution: "@nestjs/core@npm:8.2.3" + dependencies: + "@nuxtjs/opencollective": 0.3.2 + fast-safe-stringify: 2.1.1 + iterare: 1.2.1 + object-hash: 2.2.0 + path-to-regexp: 3.2.0 + tslib: 2.3.1 + uuid: 8.3.2 + peerDependencies: + "@nestjs/common": ^8.0.0 + "@nestjs/microservices": ^8.0.0 + "@nestjs/platform-express": ^8.0.0 + "@nestjs/websockets": ^8.0.0 + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + "@nestjs/microservices": + optional: true + "@nestjs/platform-express": + optional: true + "@nestjs/websockets": + optional: true + checksum: 35da95f8c17ab5d44b7aecef91cc77bdf0ddc23df93854d4a2ac8f1db633bbe17f96434128d343aee17464e332f2c6431abad4e3ed18f6a8b5b63d5fedb57655 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^1.0.0": + version: 1.0.0 + resolution: "@npmcli/fs@npm:1.0.0" + dependencies: + "@gar/promisify": ^1.0.1 + semver: ^7.3.5 + checksum: f2b4990107dd2a5b18794c89aaff6f62f3a67883d49a20602fdfc353cbc7f8c5fd50edeffdc769e454900e01b8b8e43d0b9eb524d00963d69f3c829be1a2e8ac + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^1.0.1": + version: 1.1.2 + resolution: "@npmcli/move-file@npm:1.1.2" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + languageName: node + linkType: hard + +"@nuxtjs/opencollective@npm:0.3.2": + version: 0.3.2 + resolution: "@nuxtjs/opencollective@npm:0.3.2" + dependencies: + chalk: ^4.1.0 + consola: ^2.15.0 + node-fetch: ^2.6.1 + bin: + opencollective: bin/opencollective.js + checksum: fd3737c12edf55b5c2279674664c3ed5e756410ea82e9cd324c3f0e032ed5ccd8df1959ec69ea97f2f1c9c33c884aae3d7a7108a73ea0faa90d74ea47cf364d4 + languageName: node + linkType: hard + +"@openapitools/openapi-generator-cli@npm:2.4.18": + version: 2.4.18 + resolution: "@openapitools/openapi-generator-cli@npm:2.4.18" + dependencies: + "@nestjs/common": 8.2.3 + "@nestjs/core": 8.2.3 + "@nuxtjs/opencollective": 0.3.2 + chalk: 4.1.2 + commander: 8.3.0 + compare-versions: 3.6.0 + concurrently: 6.4.0 + console.table: 0.10.0 + fs-extra: 10.0.0 + glob: 7.1.6 + inquirer: 8.2.0 + lodash: 4.17.21 + reflect-metadata: 0.1.13 + rxjs: 7.4.0 + tslib: 2.0.3 + bin: + openapi-generator-cli: main.js + checksum: b35fe3d5c5d514e70d7c1dea464606fbe93024b71996cb499d0e285ca0db751e2a26e01aac7f3aac3ec2751d483af9c45bac2685bce76fc111d0d0bde3d18cc0 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.7.0": + version: 1.8.3 + resolution: "@sinonjs/commons@npm:1.8.3" + dependencies: + type-detect: 4.0.8 + checksum: 6159726db5ce6bf9f2297f8427f7ca5b3dff45b31e5cee23496f1fa6ef0bb4eab878b23fb2c5e6446381f6a66aba4968ef2fc255c1180d753d4b8c271636a2e5 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^8.0.1": + version: 8.1.0 + resolution: "@sinonjs/fake-timers@npm:8.1.0" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 09b5a158ce013a6c37613258bad79ca4efeb99b1f59c41c73cca36cac00b258aefcf46eeea970fccf06b989414d86fe9f54c1102272c0c3bdd51a313cea80949 + languageName: node + linkType: hard + +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.8 + resolution: "@tsconfig/node10@npm:1.0.8" + checksum: b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.9 + resolution: "@tsconfig/node12@npm:1.0.9" + checksum: a01b2400ab3582b86b589c6d31dcd0c0656f333adecde85d6d7d4086adb059808b82692380bb169546d189bf771ae21d02544a75b57bd6da4a5dd95f8567bec9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.1 + resolution: "@tsconfig/node14@npm:1.0.1" + checksum: 976345e896c0f059867f94f8d0f6ddb8b1844fb62bf36b727de8a9a68f024857e5db97ed51d3325e23e0616a5e48c034ff51a8d595b3fe7e955f3587540489be + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.2 + resolution: "@tsconfig/node16@npm:1.0.2" + checksum: ca94d3639714672bbfd55f03521d3f56bb6a25479bd425da81faf21f13e1e9d15f40f97377dedbbf477a5841c5b0c8f4cd1b391f33553d750b9202c54c2c07aa + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": + version: 7.1.16 + resolution: "@types/babel__core@npm:7.1.16" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: d5aa154ce8c63e5fd47f5b9286a2689eea1e6dd3e1005b0c608bfe72363a44cb32be1e104f81d4b976e8a9f1f802d03184e64a055984fd43a359c5518a0f94cf + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.3 + resolution: "@types/babel__generator@npm:7.6.3" + dependencies: + "@babel/types": ^7.0.0 + checksum: 0aa1881c47e3e471cabb9183ae42176591b168a6fe4714d205aec33a7e480d65a8a1ba7fcd9678337aadc34059dc5baa04841e5adfbbe67ae33bad79e7633b8e + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.1 + resolution: "@types/babel__template@npm:7.4.1" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 649fe8b42c2876be1fd28c6ed9b276f78152d5904ec290b6c861d9ef324206e0a5c242e8305c421ac52ecf6358fa7e32ab7a692f55370484825c1df29b1596ee + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": + version: 7.14.2 + resolution: "@types/babel__traverse@npm:7.14.2" + dependencies: + "@babel/types": ^7.3.0 + checksum: a797ea09c72307569e3ee08aa3900ca744ce3091114084f2dc59b67a45ee7d01df7865252790dbfa787a7915ce892cdc820c9b920f3683292765fc656b08dc63 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.2": + version: 4.1.5 + resolution: "@types/graceful-fs@npm:4.1.5" + dependencies: + "@types/node": "*" + checksum: d076bb61f45d0fc42dee496ef8b1c2f8742e15d5e47e90e20d0243386e426c04d4efd408a48875ab432f7960b4ce3414db20ed0fbbfc7bcc89d84e574f6e045a + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.3 + resolution: "@types/istanbul-lib-coverage@npm:2.0.3" + checksum: 0650cba4be8f464bee89b9de0b71a5ea3b5cc676ce24e1196b5d6a51542ce9e613ae4549bf19756bb33dbbbb32b47931040266100062bfb197c597d73e341eb0 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.0 + resolution: "@types/istanbul-lib-report@npm:3.0.0" + dependencies: + "@types/istanbul-lib-coverage": "*" + checksum: 656398b62dc288e1b5226f8880af98087233cdb90100655c989a09f3052b5775bf98ba58a16c5ae642fb66c61aba402e07a9f2bff1d1569e3b306026c59f3f36 + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.1 + resolution: "@types/istanbul-reports@npm:3.0.1" + dependencies: + "@types/istanbul-lib-report": "*" + checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 + languageName: node + linkType: hard + +"@types/jest@npm:27.0.3": + version: 27.0.3 + resolution: "@types/jest@npm:27.0.3" + dependencies: + jest-diff: ^27.0.0 + pretty-format: ^27.0.0 + checksum: 3683a9945821966f6dccddf337219a5d682633687c9d30df859223db553589f63e9b2c34e69f0cc845c86ffcf115742f25c12ea03c8d33d2244890fdc0af61e2 + languageName: node + linkType: hard + +"@types/jsdom@npm:^16.2.4": + version: 16.2.13 + resolution: "@types/jsdom@npm:16.2.13" + dependencies: + "@types/node": "*" + "@types/parse5": "*" + "@types/tough-cookie": "*" + checksum: 2575d020e345f556a28208dad4d495e317e7364f1de222322c100841f49a815c73c0aa32d32d7a72a05fd7cd33551f4c0effc108fbaaf194ec42ed0f04d877b9 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.6": + version: 7.0.9 + resolution: "@types/json-schema@npm:7.0.9" + checksum: 259d0e25f11a21ba5c708f7ea47196bd396e379fddb79c76f9f4f62c945879dc21657904914313ec2754e443c5018ea8372362f323f30e0792897fdb2098a705 + languageName: node + linkType: hard + +"@types/mustache@npm:4.1.2": + version: 4.1.2 + resolution: "@types/mustache@npm:4.1.2" + checksum: 1f37849aae39b3188dbeac71734393586db80faa798795ea730db8e40d393c1d4d6a65ad8735a5ccf6dfc8b920d0792af1e6ef13e3ed2e02d204259678545240 + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:16.11.11, @types/node@npm:^16.11.11": + version: 16.11.11 + resolution: "@types/node@npm:16.11.11" + checksum: 1c472bd63f23ca0e4effc96e6e0c693b83b027f613a1f41b6d1bd7791f65ce171a351e0a5c92575cb59e84ad0a930875397bfbbb91a7c925ddbbb558f7461af8 + languageName: node + linkType: hard + +"@types/parse5@npm:*": + version: 6.0.3 + resolution: "@types/parse5@npm:6.0.3" + checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.1.5": + version: 2.4.2 + resolution: "@types/prettier@npm:2.4.2" + checksum: 76e230b2d11028af11fe12e09b2d5b10b03738e9abf819ae6ebb0f78cac13d39f860755ce05ac3855b608222518d956628f5d00322dc206cc6d1f2d8d1519f1e + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.1 + resolution: "@types/stack-utils@npm:2.0.1" + checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 + languageName: node + linkType: hard + +"@types/tough-cookie@npm:*": + version: 4.0.1 + resolution: "@types/tough-cookie@npm:4.0.1" + checksum: 7570c1c2d74201f4ead3512cf8e4c99e97d92ab8a02ae2fb987fd720ced0ca1a2baf250c98a861a170b86762606c9bf6d32207675f13dffc5ab75c08c96578d2 + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 20.2.1 + resolution: "@types/yargs-parser@npm:20.2.1" + checksum: 1d039e64494a7a61ddd278349a3dc60b19f99ff0517425696e796f794e4252452b9d62178e69755ad03f439f9dc0c8c3d7b3a1201b3a24e134bac1a09fa11eaa + languageName: node + linkType: hard + +"@types/yargs@npm:^16.0.0": + version: 16.0.4 + resolution: "@types/yargs@npm:16.0.4" + dependencies: + "@types/yargs-parser": "*" + checksum: caa21d2c957592fe2184a8368c8cbe5a82a6c2e2f2893722e489f842dc5963293d2f3120bc06fe3933d60a3a0d1e2eb269649fd6b1947fe1820f8841ba611dd9 + languageName: node + linkType: hard + +"abab@npm:^2.0.3, abab@npm:^2.0.5": + version: 2.0.5 + resolution: "abab@npm:2.0.5" + checksum: 0ec951b46d5418c2c2f923021ec193eaebdb4e802ffd5506286781b454be722a13a8430f98085cd3e204918401d9130ec6cc8f5ae19be315b3a0e857d83196e1 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 + languageName: node + linkType: hard + +"acorn-globals@npm:^6.0.0": + version: 6.0.0 + resolution: "acorn-globals@npm:6.0.0" + dependencies: + acorn: ^7.1.1 + acorn-walk: ^7.1.1 + checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 + languageName: node + linkType: hard + +"acorn-walk@npm:^7.1.1": + version: 7.2.0 + resolution: "acorn-walk@npm:7.2.0" + checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 + languageName: node + linkType: hard + +"acorn@npm:^7.1.1": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + languageName: node + linkType: hard + +"acorn@npm:^8.2.4, acorn@npm:^8.4.1": + version: 8.6.0 + resolution: "acorn@npm:8.6.0" + bin: + acorn: bin/acorn + checksum: 9d0de73b73cb6ea8ccd8263a8144d9e2c4b6af90ea0c429997538af0ebbe83c5addecee814b2a7f91f7f615d0bd1547cc7137b3fa236ce058adc64feccee850b + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.1.3": + version: 4.1.4 + resolution: "agentkeepalive@npm:4.1.4" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: d49c24d4b333e9507119385895a583872f4f53d62764a89be165926e824056a126955bae4a6d3c6f7cd26f4089621a40f7b27675f7868214d82118f744b9e82d + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: ^0.21.3 + checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: ^2.0.1 + checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3": + version: 3.1.2 + resolution: "anymatch@npm:3.1.2" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^2.0.0": + version: 2.0.0 + resolution: "are-we-there-yet@npm:2.0.0" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 6c80b4fd04ecee6ba6e737e0b72a4b41bdc64b7d279edfc998678567ff583c8df27e27523bc789f2c99be603ffa9eaa612803da1d886962d2086e7ff6fa90c7c + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: ~1.0.2 + checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be + languageName: node + linkType: hard + +"axios@npm:0.24.0": + version: 0.24.0 + resolution: "axios@npm:0.24.0" + dependencies: + follow-redirects: ^1.14.4 + checksum: 468cf496c08a6aadfb7e699bebdac02851e3043d4e7d282350804ea8900e30d368daa6e3cd4ab83b8ddb5a3b1e17a5a21ada13fc9cebd27b74828f47a4236316 + languageName: node + linkType: hard + +"babel-jest@npm:^27.4.2": + version: 27.4.2 + resolution: "babel-jest@npm:27.4.2" + dependencies: + "@jest/transform": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/babel__core": ^7.1.14 + babel-plugin-istanbul: ^6.0.0 + babel-preset-jest: ^27.4.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.8.0 + checksum: a0843be04f7f46c563464865913c25663c22983eff31b5f706a35940a2bec230d907a05dc5bdd9198f0252c267b68196777fa37997ccf550dbcfbdddb000ccf5 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.0.0": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + "@istanbuljs/load-nyc-config": ^1.0.0 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-instrument: ^5.0.4 + test-exclude: ^6.0.0 + checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^27.4.0": + version: 27.4.0 + resolution: "babel-plugin-jest-hoist@npm:27.4.0" + dependencies: + "@babel/template": ^7.3.3 + "@babel/types": ^7.3.3 + "@types/babel__core": ^7.0.0 + "@types/babel__traverse": ^7.0.6 + checksum: 48f216f286f2fb3b1d571b4ba4ccffdb0c11a2fb1117e4c355b26c8cef09603abd96a5c1f8442866830a7da5accdd9ae4805f3e977b606a596b4a259f2ff5a67 + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" + dependencies: + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-bigint": ^7.8.3 + "@babel/plugin-syntax-class-properties": ^7.8.3 + "@babel/plugin-syntax-import-meta": ^7.8.3 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.8.3 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.8.3 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-top-level-await": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^27.4.0": + version: 27.4.0 + resolution: "babel-preset-jest@npm:27.4.0" + dependencies: + babel-plugin-jest-hoist: ^27.4.0 + babel-preset-current-node-syntax: ^1.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 744449cc63283116e8268c088a714d9c26d93af8d6051523b900517b665e0122239fc6a326de206657d423f4cccfaf2437ef099fcdfbfd91c4cdde6b1c55c11f + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"bl@npm:^4.1.0": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: ^5.5.0 + inherits: ^2.0.4 + readable-stream: ^3.4.0 + checksum: 9e8521fa7e83aa9427c6f8ccdcba6e8167ef30cc9a22df26effcc5ab682ef91d2cbc23a239f945d099289e4bbcfae7a192e9c28c84c6202e710a0dfec3722662 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + languageName: node + linkType: hard + +"braces@npm:^3.0.1": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + languageName: node + linkType: hard + +"browser-process-hrtime@npm:^1.0.0": + version: 1.0.0 + resolution: "browser-process-hrtime@npm:1.0.0" + checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f + languageName: node + linkType: hard + +"browserslist@npm:^4.17.5": + version: 4.18.1 + resolution: "browserslist@npm:4.18.1" + dependencies: + caniuse-lite: ^1.0.30001280 + electron-to-chromium: ^1.3.896 + escalade: ^3.1.1 + node-releases: ^2.0.1 + picocolors: ^1.0.0 + bin: + browserslist: cli.js + checksum: ae58322deef15960fc2e601d71bc081b571cfab6705999a3d24db5325b9cfadf5f676615f4460207a93e600549c33d60d37b4502007fe9e737b3cc19e20575d5 + languageName: node + linkType: hard + +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: ^0.4.0 + checksum: 9ba4dc58ce86300c862bffc3ae91f00b2a03b01ee07f3564beeeaf82aa243b8b03ba53f123b0b842c190d4399b94697970c8e7cf7b1ea44b61aa28c3526a4449 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb + languageName: node + linkType: hard + +"buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.1.13 + checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 + languageName: node + linkType: hard + +"cacache@npm:^15.2.0": + version: 15.3.0 + resolution: "cacache@npm:15.3.0" + dependencies: + "@npmcli/fs": ^1.0.0 + "@npmcli/move-file": ^1.0.1 + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + glob: ^7.1.4 + infer-owner: ^1.0.4 + lru-cache: ^6.0.0 + minipass: ^3.1.1 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.2 + mkdirp: ^1.0.3 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^8.0.1 + tar: ^6.0.2 + unique-filename: ^1.1.1 + checksum: a07327c27a4152c04eb0a831c63c00390d90f94d51bb80624a66f4e14a6b6360bbf02a84421267bd4d00ca73ac9773287d8d7169e8d2eafe378d2ce140579db8 + languageName: node + linkType: hard + +"call-me-maybe@npm:^1.0.1": + version: 1.0.1 + resolution: "call-me-maybe@npm:1.0.1" + checksum: d19e9d6ac2c6a83fb1215718b64c5e233f688ebebb603bdfe4af59cde952df1f2b648530fab555bf290ea910d69d7d9665ebc916e871e0e194f47c2e48e4886b + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.2.1 + resolution: "camelcase@npm:6.2.1" + checksum: d876272ef76391ebf8442fb7ea1d77e80ae179ce1339e021a8731b4895fd190dc19e148e045469cff5825d4c089089f3fff34d804d3f49115d55af97dd6ac0af + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001280": + version: 1.0.30001283 + resolution: "caniuse-lite@npm:1.0.30001283" + checksum: a13916f1b5ea0d75fe34d1ac8b8b841f88da69f98b1fd5178fd350291fdc1794daebcaaf57c3d3bc60f33aa27ecdf8e0909dc1a013475754c5416515f9bc32c2 + languageName: node + linkType: hard + +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + languageName: node + linkType: hard + +"chalk@npm:^2.0.0": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.3.0 + resolution: "ci-info@npm:3.3.0" + checksum: c3d86fe374938ecda5093b1ba39acb535d8309185ba3f23587747c6a057e63f45419b406d880304dbc0e1d72392c9a33e42fe9a1e299209bc0ded5efaa232b66 + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.2.2 + resolution: "cjs-module-lexer@npm:1.2.2" + checksum: 977f3f042bd4f08e368c890d91eecfbc4f91da0bc009a3c557bc4dfbf32022ad1141244ac1178d44de70fc9f3dea7add7cd9a658a34b9fae98a55d8f92331ce5 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 + languageName: node + linkType: hard + +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: ^3.1.0 + checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.5.0": + version: 2.6.1 + resolution: "cli-spinners@npm:2.6.1" + checksum: 423409baaa7a58e5104b46ca1745fbfc5888bbd0b0c5a626e052ae1387060839c8efd512fb127e25769b3dc9562db1dc1b5add6e0b93b7ef64f477feb6416a45 + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 + languageName: node + linkType: hard + +"cliui@npm:^6.0.0": + version: 6.0.0 + resolution: "cliui@npm:6.0.0" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^6.2.0 + checksum: 4fcfd26d292c9f00238117f39fc797608292ae36bac2168cfee4c85923817d0607fe21b3329a8621e01aedf512c99b7eaa60e363a671ffd378df6649fb48ae42 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^7.0.0 + checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: d06418b7335897209e77bdd430d04f882189582e67bd1f75a04565f3f07f5b3f119a9d670c943b6697d0afb100f03b866b3b8a1f91d4d02d72c4ecf2bb64b5dd + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.1 + resolution: "collect-v8-coverage@npm:1.0.1" + checksum: 4efe0a1fccd517b65478a2364b33dadd0a43fc92a56f59aaece9b6186fe5177b2de471253587de7c91516f07c7268c2f6770b6cbcffc0e0ece353b766ec87e55 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + languageName: node + linkType: hard + +"color-support@npm:^1.1.2": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c + languageName: node + linkType: hard + +"commander@npm:8.3.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 + languageName: node + linkType: hard + +"commander@npm:^2.7.1": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e + languageName: node + linkType: hard + +"compare-versions@npm:3.6.0": + version: 3.6.0 + resolution: "compare-versions@npm:3.6.0" + checksum: 7492a50cdaa2c27f5254eee7c4b38856e1c164991bab3d98d7fd067fe4b570d47123ecb92523b78338be86aa221668fd3868bfe8caa5587dc3ebbe1a03d52b5d + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af + languageName: node + linkType: hard + +"concurrently@npm:6.4.0": + version: 6.4.0 + resolution: "concurrently@npm:6.4.0" + dependencies: + chalk: ^4.1.0 + date-fns: ^2.16.1 + lodash: ^4.17.21 + rxjs: ^6.6.3 + spawn-command: ^0.0.2-1 + supports-color: ^8.1.0 + tree-kill: ^1.2.2 + yargs: ^16.2.0 + bin: + concurrently: bin/concurrently.js + checksum: 902864cc853176cac406246fa367a1b24ebfcbea9ba43c164f9cb4e2c9c1a5f9d8be05ce98fe7ef13329ffd5cc340a052007a9c870863e2068425d95b3bf89d7 + languageName: node + linkType: hard + +"consola@npm:^2.15.0": + version: 2.15.3 + resolution: "consola@npm:2.15.3" + checksum: 8ef7a09b703ec67ac5c389a372a33b6dc97eda6c9876443a60d76a3076eea0259e7f67a4e54fd5a52f97df73690822d090cf8b7e102b5761348afef7c6d03e28 + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed languageName: node linkType: hard @@ -453,384 +1747,1936 @@ __metadata: version: 0.10.0 resolution: "console.table@npm:0.10.0" dependencies: - easy-table: 1.1.0 - checksum: 4c1460e3105a5f7df5bfa372844104a20e487fc0fccc5821c169a39def3249759554fc132621074ad6695664a1a8d558dd385c0e7f290acb2eaca51466474bb9 + easy-table: 1.1.0 + checksum: 4c1460e3105a5f7df5bfa372844104a20e487fc0fccc5821c169a39def3249759554fc132621074ad6695664a1a8d558dd385c0e7f290acb2eaca51466474bb9 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": + version: 1.8.0 + resolution: "convert-source-map@npm:1.8.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: 985d974a2d33e1a2543ada51c93e1ba2f73eaed608dc39f229afc78f71dcc4c8b7d7c684aa647e3c6a3a204027444d69e53e169ce94e8d1fa8d7dee80c9c8fed + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + +"cssom@npm:^0.4.4": + version: 0.4.4 + resolution: "cssom@npm:0.4.4" + checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f + languageName: node + linkType: hard + +"cssom@npm:~0.3.6": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 + languageName: node + linkType: hard + +"cssstyle@npm:^2.3.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 + languageName: node + linkType: hard + +"data-urls@npm:^2.0.0": + version: 2.0.0 + resolution: "data-urls@npm:2.0.0" + dependencies: + abab: ^2.0.3 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.0.0 + checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 + languageName: node + linkType: hard + +"date-fns@npm:^2.16.1": + version: 2.26.0 + resolution: "date-fns@npm:2.26.0" + checksum: 49ad59bc788134a6552ef4e4af0d18792001c1ca0070d543de4f36aba5761058b6e6a57b8ca51dd3b0f07f3bd55376b8bc69602bd7940648ba3869c5253c6ae8 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1": + version: 4.3.3 + resolution: "debug@npm:4.3.3" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 14472d56fe4a94dbcfaa6dbed2dd3849f1d72ba78104a1a328047bb564643ca49df0224c3a17fa63533fd11dd3d4c8636cd861191232a2c6735af00cc2d4de16 + languageName: node + linkType: hard + +"decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa + languageName: node + linkType: hard + +"decimal.js@npm:^10.2.1": + version: 10.3.1 + resolution: "decimal.js@npm:10.3.1" + checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 + languageName: node + linkType: hard + +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 + languageName: node + linkType: hard + +"deep-is@npm:~0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.2.2 + resolution: "deepmerge@npm:4.2.2" + checksum: a8c43a1ed8d6d1ed2b5bf569fa4c8eb9f0924034baf75d5d406e47e157a451075c4db353efea7b6bcc56ec48116a8ce72fccf867b6e078e7c561904b5897530b + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.3 + resolution: "defaults@npm:1.0.3" + dependencies: + clone: ^1.0.2 + checksum: 96e2112da6553d376afd5265ea7cbdb2a3b45535965d71ab8bb1da10c8126d168fdd5268799625324b368356d21ba2a7b3d4ec50961f11a47b7feb9de3d4413e + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + languageName: node + linkType: hard + +"depd@npm:^1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 + languageName: node + linkType: hard + +"diff-sequences@npm:^27.4.0": + version: 27.4.0 + resolution: "diff-sequences@npm:27.4.0" + checksum: 66d04033e8632eeacdd029b4ecaf87d233d475e4b0cd1cee035eda99e70e1a7f803507d72f2677990ef526f28a2f6e5709af8d94dcdc0682b8884a3a646190a1 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d + languageName: node + linkType: hard + +"domexception@npm:^2.0.1": + version: 2.0.1 + resolution: "domexception@npm:2.0.1" + dependencies: + webidl-conversions: ^5.0.0 + checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 + languageName: node + linkType: hard + +"dotenv@npm:10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 + languageName: node + linkType: hard + +"easy-table@npm:1.1.0": + version: 1.1.0 + resolution: "easy-table@npm:1.1.0" + dependencies: + wcwidth: ">=1.0.1" + dependenciesMeta: + wcwidth: + optional: true + checksum: 49b960fefe5670076773824386f22070dce185ebc0a99542035496700cc39a0b9346f65fd4307f5fe3dbbe7e6d9c4b59966e77e32f915e0fe71de71c3d0efcf7 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.3.896": + version: 1.4.5 + resolution: "electron-to-chromium@npm:1.4.5" + checksum: a83589dba126b333762dfe7cefe898e1ed59eb9662ce76425c801eae66aa04c33456b883764829fe751cf68234aedaa17eef7b09a55e8ad1b94e98f4db326afa + languageName: node + linkType: hard + +"emittery@npm:^0.8.1": + version: 0.8.1 + resolution: "emittery@npm:0.8.1" + checksum: 2457e8c7b0688bb006126f2c025b2655abe682f66b184954122a8a065b5277f9813d49d627896a10b076b81c513ec5f491fd9c14fbd42c04b95ca3c9f3c365ee + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 + languageName: node + linkType: hard + +"encoding@npm:^0.1.12": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 + languageName: node + linkType: hard + +"escodegen@npm:^2.0.0": + version: 2.0.0 + resolution: "escodegen@npm:2.0.0" + dependencies: + esprima: ^4.0.1 + estraverse: ^5.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + languageName: node + linkType: hard + +"estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.0 + human-signals: ^2.1.0 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.1 + onetime: ^5.1.2 + signal-exit: ^3.0.3 + strip-final-newline: ^2.0.0 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: abc407f07a875c3961e4781dfcb743b58d6c93de9ab263f4f8c9d23bb6da5f9b7764fc773f86b43dd88030444d5ab8abcb611cb680fba8ca075362b77114bba3 + languageName: node + linkType: hard + +"expect@npm:^27.4.2": + version: 27.4.2 + resolution: "expect@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + ansi-styles: ^5.0.0 + jest-get-type: ^27.4.0 + jest-matcher-utils: ^27.4.2 + jest-message-util: ^27.4.2 + jest-regex-util: ^27.4.0 + checksum: 5eba0f348fd234420d7b4f09968d30d0b19e9e73579ad060e5e635be879671dfb9bed472befe1d5fe8749b6beefc08beba0e034d5aad2aca11e4d5ac43873326 + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: ^0.7.0 + iconv-lite: ^0.4.24 + tmp: ^0.0.33 + checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb + languageName: node + linkType: hard + +"fast-levenshtein@npm:~2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c + languageName: node + linkType: hard + +"fast-safe-stringify@npm:2.1.1": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.1 + resolution: "fb-watchman@npm:2.0.1" + dependencies: + bser: 2.1.1 + checksum: 8510230778ab3a51c27dffb1b76ef2c24fab672a42742d3c0a45c2e9d1e5f20210b1fbca33486088da4a9a3958bde96b5aec0a63aac9894b4e9df65c88b2cbd6 + languageName: node + linkType: hard + +"figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: ^1.0.5 + checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + languageName: node + linkType: hard + +"follow-redirects@npm:^1.14.4": + version: 1.14.5 + resolution: "follow-redirects@npm:1.14.5" + peerDependenciesMeta: + debug: + optional: true + checksum: f004a76b2ee3a849772c2816e30928253bf47537b0f00184d89f4966413add96a228a4d96ca8c702bc045a683c52c2ba41545c915cc1a5e33bf8fd9d07b59aee + languageName: node + linkType: hard + +"form-data@npm:^3.0.0": + version: 3.0.1 + resolution: "form-data@npm:3.0.1" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d + languageName: node + linkType: hard + +"fs-extra@npm:10.0.0": + version: 10.0.0 + resolution: "fs-extra@npm:10.0.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: 5285a3d8f34b917cf2b66af8c231a40c1623626e9d701a20051d3337be16c6d7cac94441c8b3732d47a92a2a027886ca93c69b6a4ae6aee3c89650d2a8880c0a + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 + languageName: node + linkType: hard + +fsevents@^2.3.2: + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + languageName: node + linkType: hard + +"fsevents@patch:fsevents@^2.3.2#~builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=1cc4b2" + dependencies: + node-gyp: latest + checksum: 78db9daf1f6526a49cefee3917cc988f62dc7f25b5dd80ad6de4ffc4af7f0cab7491ac737626ff53e482a111bc53aac9e411fe3602458eca36f6a003ecf69c16 + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a + languageName: node + linkType: hard + +"gauge@npm:^4.0.0": + version: 4.0.0 + resolution: "gauge@npm:4.0.0" + dependencies: + ansi-regex: ^5.0.1 + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.2 + console-control-strings: ^1.0.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.0 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.2 + checksum: 637b34c84f518defa89319dbef68211a24e9302182ad2a619e3be1be5b7dcf2a962c8359e889294af667440f4722e7e6e61671859e00bd8ec280a136ded89b25 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad + languageName: node + linkType: hard + +"glob@npm:7.1.6": + version: 7.1.6 + resolution: "glob@npm:7.1.6" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 351d549dd90553b87c2d3f90ce11aed9e1093c74130440e7ae0592e11bbcd2ce7f0ebb8ba6bfe63aaf9b62166a7f4c80cb84490ae5d78408bb2572bf7d4ee0a6 + languageName: node + linkType: hard + +"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.0 + resolution: "glob@npm:7.2.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": + version: 4.2.8 + resolution: "graceful-fs@npm:4.2.8" + checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + +"has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^2.0.1": + version: 2.0.1 + resolution: "html-encoding-sniffer@npm:2.0.1" + dependencies: + whatwg-encoding: ^1.0.5 + checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" + dependencies: + "@tootallnate/once": 1 + agent-base: 6 + debug: 4 + checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "https-proxy-agent@npm:5.0.0" + dependencies: + agent-base: 6 + debug: 4 + checksum: 165bfb090bd26d47693597661298006841ab733d0c7383a8cb2f17373387a94c903a3ac687090aa739de05e379ab6f868bae84ab4eac288ad85c328cd1ec9e53 + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.0.3 + resolution: "import-local@npm:3.0.3" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: 38ae57d35e7fd5f63b55895050c798d4dd590e4e2337e9ffa882fb3ea7a7716f3162c7300e382e0a733ca5d07b389fadff652c00fa7b072d5cb6ea34ca06b179 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"inquirer@npm:8.2.0": + version: 8.2.0 + resolution: "inquirer@npm:8.2.0" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.1 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.21 + mute-stream: 0.0.8 + ora: ^5.4.1 + run-async: ^2.4.0 + rxjs: ^7.2.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 861d1a9324ae933b49126b3541d94e4d6a2f2a25411b3f3cc00c34bf1bdab34146362d702cf289efe6d8034900dc5905bcf2ea716092a02b6fc390e5986dd236 + languageName: node + linkType: hard + +"ip@npm:^1.1.5": + version: 1.1.5 + resolution: "ip@npm:1.1.5" + checksum: 30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a + languageName: node + linkType: hard + +"is-core-module@npm:^2.2.0": + version: 2.8.0 + resolution: "is-core-module@npm:2.8.0" + dependencies: + has: ^1.0.3 + checksum: f8b52714891e1a6c6577fcb8d5e057bab064a7a30954aab6beb5092e311473eb8da57afd334de4981dc32409ffca998412efc3a2edceb9e397cef6098d21dd91 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: 824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9 + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^4.0.3": + version: 4.0.3 + resolution: "istanbul-lib-instrument@npm:4.0.3" + dependencies: + "@babel/core": ^7.7.5 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.0.0 + semver: ^6.3.0 + checksum: fa1171d3022b1bb8f6a734042620ac5d9ee7dc80f3065a0bb12863e9f0494d0eefa3d86608fcc0254ab2765d29d7dad8bdc42e5f8df2f9a1fbe85ccc59d76cb9 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4": + version: 5.1.0 + resolution: "istanbul-lib-instrument@npm:5.1.0" + dependencies: + "@babel/core": ^7.12.3 + "@babel/parser": ^7.14.7 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.2.0 + semver: ^6.3.0 + checksum: 8b82e733c69fe9f94d2e21f3e5760c9bedb110329aa75df4bd40df95f1cac3bf38767e43f35b125cc547ceca7376b72ce7d95cc5238b7e9088345c7b589233d3 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-report@npm:3.0.0" + dependencies: + istanbul-lib-coverage: ^3.0.0 + make-dir: ^3.0.0 + supports-color: ^7.1.0 + checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + source-map: ^0.6.1 + checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.0.2": + version: 3.0.5 + resolution: "istanbul-reports@npm:3.0.5" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: b167411c4cd551aec39c8275ef42f25e7083caa5a467c1b35f33b19f37211656ebf03f1cbe5c55d691b44398314dcc73be52dc6b7afb13b7a1a02eb65d702a75 + languageName: node + linkType: hard + +"iterare@npm:1.2.1": + version: 1.2.1 + resolution: "iterare@npm:1.2.1" + checksum: 70bc80038e3718aa9072bc63b3a0135166d7120bde46bfcaf80a88d11005dcef1b2d69cd353849f87a3f58ba8f546a8c6e6983408236ff01fa50b52339ee5223 + languageName: node + linkType: hard + +"javascript-playground@workspace:playground/javascript": + version: 0.0.0-use.local + resolution: "javascript-playground@workspace:playground/javascript" + dependencies: + "@algolia/client-search": 5.0.0 + "@algolia/recommend": 5.0.0 + dotenv: 10.0.0 + prettier: 2.5.0 + typescript: 4.5.2 + languageName: unknown + linkType: soft + +"jest-changed-files@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-changed-files@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + execa: ^5.0.0 + throat: ^6.0.1 + checksum: 4df8dff39882995d4852756686357e0629cf8029ea5c35dcf25f63fba4febe15b564b9222f7d18a7546fcd48d3414345bf3c363a1d13af61d8d66e662a035420 + languageName: node + linkType: hard + +"jest-circus@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-circus@npm:27.4.2" + dependencies: + "@jest/environment": ^27.4.2 + "@jest/test-result": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + dedent: ^0.7.0 + expect: ^27.4.2 + is-generator-fn: ^2.0.0 + jest-each: ^27.4.2 + jest-matcher-utils: ^27.4.2 + jest-message-util: ^27.4.2 + jest-runtime: ^27.4.2 + jest-snapshot: ^27.4.2 + jest-util: ^27.4.2 + pretty-format: ^27.4.2 + slash: ^3.0.0 + stack-utils: ^2.0.3 + throat: ^6.0.1 + checksum: 4bd02bc98bd0400da459c147d9efdfcd726c5226b7eaa7a157230ca2064594796a36eb9f7f29d484ae931b3d99bd1d871f4257ee80066da102030e39408142d3 + languageName: node + linkType: hard + +"jest-cli@npm:^27.4.1": + version: 27.4.2 + resolution: "jest-cli@npm:27.4.2" + dependencies: + "@jest/core": ^27.4.2 + "@jest/test-result": ^27.4.2 + "@jest/types": ^27.4.2 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + import-local: ^3.0.2 + jest-config: ^27.4.2 + jest-util: ^27.4.2 + jest-validate: ^27.4.2 + prompts: ^2.0.1 + yargs: ^16.2.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 4f386f57e30f9e1110e87e2aabe14a53021bb4f57baf11876091c331a9a0570e7113e1cbafb876e00661085863434a70ff03ad117fe9a4e6c7f65e9b6fd367bf + languageName: node + linkType: hard + +"jest-config@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-config@npm:27.4.2" + dependencies: + "@babel/core": ^7.1.0 + "@jest/test-sequencer": ^27.4.2 + "@jest/types": ^27.4.2 + babel-jest: ^27.4.2 + chalk: ^4.0.0 + ci-info: ^3.2.0 + deepmerge: ^4.2.2 + glob: ^7.1.1 + graceful-fs: ^4.2.4 + jest-circus: ^27.4.2 + jest-environment-jsdom: ^27.4.2 + jest-environment-node: ^27.4.2 + jest-get-type: ^27.4.0 + jest-jasmine2: ^27.4.2 + jest-regex-util: ^27.4.0 + jest-resolve: ^27.4.2 + jest-runner: ^27.4.2 + jest-util: ^27.4.2 + jest-validate: ^27.4.2 + micromatch: ^4.0.4 + pretty-format: ^27.4.2 + slash: ^3.0.0 + peerDependencies: + ts-node: ">=9.0.0" + peerDependenciesMeta: + ts-node: + optional: true + checksum: ddfbb7280a2359d3e92a8cc31bc85f8d019de7616dd79c8ddfa5cc1af65d4e4a1967bbfe194fc903c5e62f5bde6bb1ab370a22fc309be499b92d1e699cbb6491 + languageName: node + linkType: hard + +"jest-diff@npm:^27.0.0, jest-diff@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-diff@npm:27.4.2" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^27.4.0 + jest-get-type: ^27.4.0 + pretty-format: ^27.4.2 + checksum: e5bcdb4f27747795b74a56d56a9545d7fc8f1671a1251d580aea1a7a52df5db044f62ec24f2abc68305f0226d918a443f3b88d9a82f8d0dc4aaa079b621ab091 + languageName: node + linkType: hard + +"jest-docblock@npm:^27.4.0": + version: 27.4.0 + resolution: "jest-docblock@npm:27.4.0" + dependencies: + detect-newline: ^3.0.0 + checksum: 4b7639ceb7808280562166c87c49746d9e9cc13f8315ea05a0a400d2f7b11f4491b4ad50935e5976db6509f26004fa2b187dc19eea5e09c445eed2648eb1e927 + languageName: node + linkType: hard + +"jest-each@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-each@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + chalk: ^4.0.0 + jest-get-type: ^27.4.0 + jest-util: ^27.4.2 + pretty-format: ^27.4.2 + checksum: cdc89e68fb3a746b2dcb62a8d05dd6fb15bde47743575bc795ee4123c9e2418f0c99220a9aa96dba94889fb880986158665f33f9c77e6007645ef7d3990ae8e1 + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-environment-jsdom@npm:27.4.2" + dependencies: + "@jest/environment": ^27.4.2 + "@jest/fake-timers": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/jsdom": ^16.2.4 + "@types/node": "*" + jest-mock: ^27.4.2 + jest-util: ^27.4.2 + jsdom: ^16.6.0 + checksum: ba7d3664840a46c8e8d15cb8f06b3c09112de1f7d66bc96fd16d14291036277c63b68cf1939d14fe1d8385978ffbaf803c1eee7a8ed7f1004e4bb45190372df9 + languageName: node + linkType: hard + +"jest-environment-node@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-environment-node@npm:27.4.2" + dependencies: + "@jest/environment": ^27.4.2 + "@jest/fake-timers": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + jest-mock: ^27.4.2 + jest-util: ^27.4.2 + checksum: c8e466629bf95e232d260a5ee43836e367e9b44c8a56b7dbad764a721990a87ff7fa980d903708e3eca58e642d0f16b305fde04f3528f9c44956c9a94b0a8e0a + languageName: node + linkType: hard + +"jest-get-type@npm:^27.4.0": + version: 27.4.0 + resolution: "jest-get-type@npm:27.4.0" + checksum: bb9b70e420009fdaed3026d5bccd01569f92c7500f9f544d862796d4f4efa93ced5484864b2f272c7748bfb5bfd3268d48868b169c51ab45fe5b45b9519b6e46 + languageName: node + linkType: hard + +"jest-haste-map@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-haste-map@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + "@types/graceful-fs": ^4.1.2 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.3.2 + graceful-fs: ^4.2.4 + jest-regex-util: ^27.4.0 + jest-serializer: ^27.4.0 + jest-util: ^27.4.2 + jest-worker: ^27.4.2 + micromatch: ^4.0.4 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 9142484f74e42ac5ba85e39b537dd2577659b1b5f56e25f9e4480022906b4a97338d6e92ccb3b7debdce91ec6f9adfdc69df8ab31543201649904d8d36ab2e73 + languageName: node + linkType: hard + +"jest-jasmine2@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-jasmine2@npm:27.4.2" + dependencies: + "@babel/traverse": ^7.1.0 + "@jest/environment": ^27.4.2 + "@jest/source-map": ^27.4.0 + "@jest/test-result": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + expect: ^27.4.2 + is-generator-fn: ^2.0.0 + jest-each: ^27.4.2 + jest-matcher-utils: ^27.4.2 + jest-message-util: ^27.4.2 + jest-runtime: ^27.4.2 + jest-snapshot: ^27.4.2 + jest-util: ^27.4.2 + pretty-format: ^27.4.2 + throat: ^6.0.1 + checksum: 1f898a728b518660f0d0024423509d2f27f101aa62fda57f352cb369de4cccd257dc4487056347115324f199684d38d249695863be65218ac6a0f949e2a6c707 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-leak-detector@npm:27.4.2" + dependencies: + jest-get-type: ^27.4.0 + pretty-format: ^27.4.2 + checksum: 093ef57aa6f5563ed5e2c0bce31f8d2ac65438c5d917457dd9a392bf11956a976b55ef2b536cf593b1d65283430305cb6d26e97b064a5c140146346103e74184 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-matcher-utils@npm:27.4.2" + dependencies: + chalk: ^4.0.0 + jest-diff: ^27.4.2 + jest-get-type: ^27.4.0 + pretty-format: ^27.4.2 + checksum: 7dd9d2f1f7107d5919af170f9d3e2a08890ce05ee63f6fc3a24e6c8fa9672f99ed107377ae7c6d4d0966a77fa35a3da929465b019b6f1be8cf7e0845806bceb3 + languageName: node + linkType: hard + +"jest-message-util@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-message-util@npm:27.4.2" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^27.4.2 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + micromatch: ^4.0.4 + pretty-format: ^27.4.2 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: c08ef1c8c1a2001c2f38d6ad3717a6e188b8b25c79b8bd87f2800b9c046f50f33bcd6ab1a9b5a5cc3218b40cf60f37d0583aa0b36ea870c8f100ba0ca7a3c479 + languageName: node + linkType: hard + +"jest-mock@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-mock@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + "@types/node": "*" + checksum: 4ad4a870ec771410b708e955ef2526e7becb91a1d19c4699dcf8fe43a9f6d1231e0c47b87d6b80ee9ad3194ad54dc9abf158588a4a542ad9f9ce8c23eda6048e + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.2 + resolution: "jest-pnp-resolver@npm:1.2.2" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: bd85dcc0e76e0eb0c3d56382ec140f08d25ff4068cda9d0e360bb78fb176cb726d0beab82dc0e8694cafd09f55fee7622b8bcb240afa5fad301f4ed3eebb4f47 + languageName: node + linkType: hard + +"jest-regex-util@npm:^27.4.0": + version: 27.4.0 + resolution: "jest-regex-util@npm:27.4.0" + checksum: 222e4aacec601fd2cfdfee74adb8d324fef672f77577a7c2220893ec1a62031a2640388fce8d0bd8be2e4537da1ab40aa74dba60ac531a23b2643b15c65014ac + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-resolve-dependencies@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + jest-regex-util: ^27.4.0 + jest-snapshot: ^27.4.2 + checksum: f856b63c996105feb0a7fd486d835e3ceda27fa7a228703b7e5e294913a19055233074a4204fb0dcc5a8e38b652f9db8e1adb6a9e6f0becb4841d82e06e4e2f7 + languageName: node + linkType: hard + +"jest-resolve@npm:27.4.2, jest-resolve@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-resolve@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.4.2 + jest-pnp-resolver: ^1.2.2 + jest-util: ^27.4.2 + jest-validate: ^27.4.2 + resolve: ^1.20.0 + resolve.exports: ^1.1.0 + slash: ^3.0.0 + checksum: dcd24dbeb90e7624c70f5e5b470aa1e0f89d774054abad8c544f081690b0db23e8ab0c398bc9eff894d1a3362c0cee4e58d2e4cd751e950c988567dcb5bebf28 + languageName: node + linkType: hard + +"jest-runner@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-runner@npm:27.4.2" + dependencies: + "@jest/console": ^27.4.2 + "@jest/environment": ^27.4.2 + "@jest/test-result": ^27.4.2 + "@jest/transform": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + chalk: ^4.0.0 + emittery: ^0.8.1 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-docblock: ^27.4.0 + jest-environment-jsdom: ^27.4.2 + jest-environment-node: ^27.4.2 + jest-haste-map: ^27.4.2 + jest-leak-detector: ^27.4.2 + jest-message-util: ^27.4.2 + jest-resolve: ^27.4.2 + jest-runtime: ^27.4.2 + jest-util: ^27.4.2 + jest-worker: ^27.4.2 + source-map-support: ^0.5.6 + throat: ^6.0.1 + checksum: e1c501e3e7a94cb8eeeee03fe95a128cfec94493c7c5a131fc284e7f8424825cc4d83285c9b31a669d3ba8a7a2c700288ddfc91dbaf57eec5c3481f36075a464 + languageName: node + linkType: hard + +"jest-runtime@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-runtime@npm:27.4.2" + dependencies: + "@jest/console": ^27.4.2 + "@jest/environment": ^27.4.2 + "@jest/globals": ^27.4.2 + "@jest/source-map": ^27.4.0 + "@jest/test-result": ^27.4.2 + "@jest/transform": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + cjs-module-lexer: ^1.0.0 + collect-v8-coverage: ^1.0.0 + execa: ^5.0.0 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.4.2 + jest-message-util: ^27.4.2 + jest-mock: ^27.4.2 + jest-regex-util: ^27.4.0 + jest-resolve: ^27.4.2 + jest-snapshot: ^27.4.2 + jest-util: ^27.4.2 + jest-validate: ^27.4.2 + slash: ^3.0.0 + strip-bom: ^4.0.0 + yargs: ^16.2.0 + checksum: 99502e4e0a09d8cf85d805eecb5d1cdbb592c2c14a536cd64b3c3e26719cf413041f0e931761fa4a7de1d899c355bfa1c8fe45b47ea60d3e9735ad2ccfd7e8c6 + languageName: node + linkType: hard + +"jest-serializer@npm:^27.4.0": + version: 27.4.0 + resolution: "jest-serializer@npm:27.4.0" + dependencies: + "@types/node": "*" + graceful-fs: ^4.2.4 + checksum: 1ed5f38e88010f258bd9557d7842a89741ff15bfc578328e8ae1985933406350b817cf5e3127773e3dbc755dbe2522195378f8b98284bcc32111a723294ebbea + languageName: node + linkType: hard + +"jest-snapshot@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-snapshot@npm:27.4.2" + dependencies: + "@babel/core": ^7.7.2 + "@babel/generator": ^7.7.2 + "@babel/parser": ^7.7.2 + "@babel/plugin-syntax-typescript": ^7.7.2 + "@babel/traverse": ^7.7.2 + "@babel/types": ^7.0.0 + "@jest/transform": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/babel__traverse": ^7.0.4 + "@types/prettier": ^2.1.5 + babel-preset-current-node-syntax: ^1.0.0 + chalk: ^4.0.0 + expect: ^27.4.2 + graceful-fs: ^4.2.4 + jest-diff: ^27.4.2 + jest-get-type: ^27.4.0 + jest-haste-map: ^27.4.2 + jest-matcher-utils: ^27.4.2 + jest-message-util: ^27.4.2 + jest-resolve: ^27.4.2 + jest-util: ^27.4.2 + natural-compare: ^1.4.0 + pretty-format: ^27.4.2 + semver: ^7.3.2 + checksum: 59e1c3d3477b4dc4a40bd7cc027a4cb33f848b896f9194efb00ca778ca2e82858d9ceba96f728cb4ca05ede9a9ac7cd5359db25a2b2e8044c0196d53f7116862 + languageName: node + linkType: hard + +"jest-util@npm:^27.0.0, jest-util@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-util@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.4 + picomatch: ^2.2.3 + checksum: bcf16881aff1421c5f7c2df2ef9492cf8cd92fcd0a2a99bec5ab16f7185ee19aea48eda41d9dfa7b5bf4354bdc21628f5931cd2e7281741e6d2983965efb631e + languageName: node + linkType: hard + +"jest-validate@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-validate@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + camelcase: ^6.2.0 + chalk: ^4.0.0 + jest-get-type: ^27.4.0 + leven: ^3.1.0 + pretty-format: ^27.4.2 + checksum: 32d3d5e7945d3450c7d7374882b8a0e6e5481b759cf67f765578424d690594875009a5f9dd2626d7b12e4c816b61eb7d5e19f1b0593cc269f37d527eb4fd1a15 + languageName: node + linkType: hard + +"jest-watcher@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-watcher@npm:27.4.2" + dependencies: + "@jest/test-result": ^27.4.2 + "@jest/types": ^27.4.2 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + jest-util: ^27.4.2 + string-length: ^4.0.1 + checksum: f6078349e5c4638b8778dfad0e846aba5665f3bf1f8e8565c436533a5effd8592123b99f950d534965d841edef391ecd86849f5d4ea7d737f99daa7ecfd643cb + languageName: node + linkType: hard + +"jest-worker@npm:^27.4.2": + version: 27.4.2 + resolution: "jest-worker@npm:27.4.2" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: 81516042201b36841cbf657bdd7304ef26e4b99e6ec108fb8eff977f8769f5a26359aa926ab7776d30fe71e0ab9a6df48c4a06ff0973cb60f4fa3e6949c2f470 + languageName: node + linkType: hard + +"jest@npm:27.4.1": + version: 27.4.1 + resolution: "jest@npm:27.4.1" + dependencies: + "@jest/core": ^27.4.1 + import-local: ^3.0.2 + jest-cli: ^27.4.1 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 9a71284c588757d48e625e768d2de6381632f62726f13d466523d2111c2092c12b5498c2a7acf29c17654ac11f8876bf58477c5dab45d2ea5bd7e3bc9842ee3e + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.0": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a + languageName: node + linkType: hard + +"jsdom@npm:^16.6.0": + version: 16.7.0 + resolution: "jsdom@npm:16.7.0" + dependencies: + abab: ^2.0.5 + acorn: ^8.2.4 + acorn-globals: ^6.0.0 + cssom: ^0.4.4 + cssstyle: ^2.3.0 + data-urls: ^2.0.0 + decimal.js: ^10.2.1 + domexception: ^2.0.1 + escodegen: ^2.0.0 + form-data: ^3.0.0 + html-encoding-sniffer: ^2.0.1 + http-proxy-agent: ^4.0.1 + https-proxy-agent: ^5.0.0 + is-potential-custom-element-name: ^1.0.1 + nwsapi: ^2.2.0 + parse5: 6.0.1 + saxes: ^5.0.1 + symbol-tree: ^3.2.4 + tough-cookie: ^4.0.0 + w3c-hr-time: ^1.0.2 + w3c-xmlserializer: ^2.0.0 + webidl-conversions: ^6.1.0 + whatwg-encoding: ^1.0.5 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.5.0 + ws: ^7.4.6 + xml-name-validator: ^3.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d + languageName: node + linkType: hard + +"json5@npm:2.x, json5@npm:^2.1.2": + version: 2.2.0 + resolution: "json5@npm:2.2.0" + dependencies: + minimist: ^1.2.5 + bin: + json5: lib/cli.js + checksum: e88fc5274bb58fc99547baa777886b069d2dd96d9cfc4490b305fd16d711dabd5979e35a4f90873cefbeb552e216b041a304fe56702bedba76e19bc7845f208d + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^2.0.0 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 languageName: node linkType: hard -"date-fns@npm:^2.16.1": - version: 2.26.0 - resolution: "date-fns@npm:2.26.0" - checksum: 49ad59bc788134a6552ef4e4af0d18792001c1ca0070d543de4f36aba5761058b6e6a57b8ca51dd3b0f07f3bd55376b8bc69602bd7940648ba3869c5253c6ae8 +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 languageName: node linkType: hard -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 languageName: node linkType: hard -"defaults@npm:^1.0.3": - version: 1.0.3 - resolution: "defaults@npm:1.0.3" +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" dependencies: - clone: ^1.0.2 - checksum: 96e2112da6553d376afd5265ea7cbdb2a3b45535965d71ab8bb1da10c8126d168fdd5268799625324b368356d21ba2a7b3d4ec50961f11a47b7feb9de3d4413e + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e languageName: node linkType: hard -"dotenv@npm:10.0.0": - version: 10.0.0 - resolution: "dotenv@npm:10.0.0" - checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: ^4.1.0 + checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 languageName: node linkType: hard -"easy-table@npm:1.1.0": - version: 1.1.0 - resolution: "easy-table@npm:1.1.0" - dependencies: - wcwidth: ">=1.0.1" - dependenciesMeta: - wcwidth: - optional: true - checksum: 49b960fefe5670076773824386f22070dce185ebc0a99542035496700cc39a0b9346f65fd4307f5fe3dbbe7e6d9c4b59966e77e32f915e0fe71de71c3d0efcf7 +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 languageName: node linkType: hard -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 +"lodash.isequal@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.isequal@npm:4.5.0" + checksum: da27515dc5230eb1140ba65ff8de3613649620e8656b19a6270afe4866b7bd461d9ba2ac8a48dcc57f7adac4ee80e1de9f965d89d4d81a0ad52bb3eec2609644 languageName: node linkType: hard -"escalade@npm:^3.1.1": - version: 3.1.1 - resolution: "escalade@npm:3.1.1" - checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 +"lodash.memoize@npm:4.x": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 +"lodash@npm:4.17.21, lodash@npm:^4.17.21, lodash@npm:^4.7.0": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 languageName: node linkType: hard -"esprima@npm:^4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 +"log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: ^4.1.0 + is-unicode-supported: ^0.1.0 + checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 languageName: node linkType: hard -"external-editor@npm:^3.0.3": - version: 3.1.0 - resolution: "external-editor@npm:3.1.0" +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" dependencies: - chardet: ^0.7.0 - iconv-lite: ^0.4.24 - tmp: ^0.0.33 - checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 + yallist: ^4.0.0 + checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 languageName: node linkType: hard -"fast-safe-stringify@npm:2.1.1": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d +"make-dir@npm:^3.0.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: ^6.0.0 + checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 languageName: node linkType: hard -"figures@npm:^3.0.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" - dependencies: - escape-string-regexp: ^1.0.5 - checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b +"make-error@npm:1.x, make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 languageName: node linkType: hard -"find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" +"make-fetch-happen@npm:^9.1.0": + version: 9.1.0 + resolution: "make-fetch-happen@npm:9.1.0" dependencies: - locate-path: ^5.0.0 - path-exists: ^4.0.0 - checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + agentkeepalive: ^4.1.3 + cacache: ^15.2.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^4.0.1 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^6.0.0 + minipass: ^3.1.3 + minipass-collect: ^1.0.2 + minipass-fetch: ^1.3.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.2 + promise-retry: ^2.0.1 + socks-proxy-agent: ^6.0.0 + ssri: ^8.0.0 + checksum: 0eb371c85fdd0b1584fcfdf3dc3c62395761b3c14658be02620c310305a9a7ecf1617a5e6fb30c1d081c5c8aaf177fa133ee225024313afabb7aa6a10f1e3d04 + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: 1.0.5 + checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 languageName: node linkType: hard -"follow-redirects@npm:^1.14.4": - version: 1.14.5 - resolution: "follow-redirects@npm:1.14.5" - peerDependenciesMeta: - debug: - optional: true - checksum: f004a76b2ee3a849772c2816e30928253bf47537b0f00184d89f4966413add96a228a4d96ca8c702bc045a683c52c2ba41545c915cc1a5e33bf8fd9d07b59aee +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 languageName: node linkType: hard -"fs-extra@npm:10.0.0": - version: 10.0.0 - resolution: "fs-extra@npm:10.0.0" +"micromatch@npm:^4.0.4": + version: 4.0.4 + resolution: "micromatch@npm:4.0.4" dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: 5285a3d8f34b917cf2b66af8c231a40c1623626e9d701a20051d3337be16c6d7cac94441c8b3732d47a92a2a027886ca93c69b6a4ae6aee3c89650d2a8880c0a + braces: ^3.0.1 + picomatch: ^2.2.3 + checksum: ef3d1c88e79e0a68b0e94a03137676f3324ac18a908c245a9e5936f838079fcc108ac7170a5fadc265a9c2596963462e402841406bda1a4bb7b68805601d631c languageName: node linkType: hard -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 +"mime-db@npm:1.51.0": + version: 1.51.0 + resolution: "mime-db@npm:1.51.0" + checksum: 613b1ac9d6e725cc24444600b124a7f1ce6c60b1baa654f39a3e260d0995a6dffc5693190217e271af7e2a5612dae19f2a73f3e316707d797a7391165f7ef423 languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 +"mime-types@npm:^2.1.12": + version: 2.1.34 + resolution: "mime-types@npm:2.1.34" + dependencies: + mime-db: 1.51.0 + checksum: 67013de9e9d6799bde6d669d18785b7e18bcd212e710d3e04a4727f92f67a8ad4e74aee24be28b685adb794944814bde649119b58ee3282ffdbee58f9278d9f3 languageName: node linkType: hard -"glob@npm:7.1.6": - version: 7.1.6 - resolution: "glob@npm:7.1.6" - dependencies: - fs.realpath: ^1.0.0 - inflight: ^1.0.4 - inherits: 2 - minimatch: ^3.0.4 - once: ^1.3.0 - path-is-absolute: ^1.0.0 - checksum: 351d549dd90553b87c2d3f90ce11aed9e1093c74130440e7ae0592e11bbcd2ce7f0ebb8ba6bfe63aaf9b62166a7f4c80cb84490ae5d78408bb2572bf7d4ee0a6 +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0": - version: 4.2.8 - resolution: "graceful-fs@npm:4.2.8" - checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 +"minimatch@npm:^3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: ^1.1.7 + checksum: 66ac295f8a7b59788000ea3749938b0970344c841750abd96694f80269b926ebcafad3deeb3f1da2522978b119e6ae3a5869b63b13a7859a456b3408bd18a078 languageName: node linkType: hard -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad +"minimist@npm:^1.2.5": + version: 1.2.5 + resolution: "minimist@npm:1.2.5" + checksum: 86706ce5b36c16bfc35c5fe3dbb01d5acdc9a22f2b6cc810b6680656a1d2c0e44a0159c9a3ba51fb072bb5c203e49e10b51dcd0eec39c481f4c42086719bae52 languageName: node linkType: hard -"iconv-lite@npm:^0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" dependencies: - safer-buffer: ">= 2.1.2 < 3" - checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 languageName: node linkType: hard -"ieee754@npm:^1.1.13": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e +"minipass-fetch@npm:^1.3.2": + version: 1.4.1 + resolution: "minipass-fetch@npm:1.4.1" + dependencies: + encoding: ^0.1.12 + minipass: ^3.1.0 + minipass-sized: ^1.0.3 + minizlib: ^2.0.0 + dependenciesMeta: + encoding: + optional: true + checksum: ec93697bdb62129c4e6c0104138e681e30efef8c15d9429dd172f776f83898471bc76521b539ff913248cc2aa6d2b37b652c993504a51cc53282563640f29216 languageName: node linkType: hard -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" dependencies: - once: ^1.3.0 - wrappy: 1 - checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 +"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b languageName: node linkType: hard -"inquirer@npm:8.2.0": - version: 8.2.0 - resolution: "inquirer@npm:8.2.0" +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" dependencies: - ansi-escapes: ^4.2.1 - chalk: ^4.1.1 - cli-cursor: ^3.1.0 - cli-width: ^3.0.0 - external-editor: ^3.0.3 - figures: ^3.0.0 - lodash: ^4.17.21 - mute-stream: 0.0.8 - ora: ^5.4.1 - run-async: ^2.4.0 - rxjs: ^7.2.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - through: ^2.3.6 - checksum: 861d1a9324ae933b49126b3541d94e4d6a2f2a25411b3f3cc00c34bf1bdab34146362d702cf289efe6d8034900dc5905bcf2ea716092a02b6fc390e5986dd236 + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 languageName: node linkType: hard -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 +"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": + version: 3.1.5 + resolution: "minipass@npm:3.1.5" + dependencies: + yallist: ^4.0.0 + checksum: 8b410b9a5bd99ceb9d63c895891d1c30511791fdc7b717da4cf9403ca2419bc57af63b8485ffdaa421ef6cff56f63ae0b2f5135f8df502d21296e8c91460ebf9 languageName: node linkType: hard -"is-interactive@npm:^1.0.0": - version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9 +"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 languageName: node linkType: hard -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f languageName: node linkType: hard -"iterare@npm:1.2.1": - version: 1.2.1 - resolution: "iterare@npm:1.2.1" - checksum: 70bc80038e3718aa9072bc63b3a0135166d7120bde46bfcaf80a88d11005dcef1b2d69cd353849f87a3f58ba8f546a8c6e6983408236ff01fa50b52339ee5223 +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f languageName: node linkType: hard -"javascript-playground@workspace:playground/javascript": - version: 0.0.0-use.local - resolution: "javascript-playground@workspace:playground/javascript" - dependencies: - "@algolia/client-search": 5.0.0 - "@algolia/recommend": 5.0.0 - dotenv: 10.0.0 - prettier: 2.4.1 - typescript: 4.5.2 - languageName: unknown - linkType: soft +"ms@npm:^2.0.0": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard -"js-yaml@npm:^3.14.0": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: ^1.0.7 - esprima: ^4.0.0 +"mustache@npm:4.2.0": + version: 4.2.0 + resolution: "mustache@npm:4.2.0" bin: - js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + mustache: bin/mustache + checksum: 928fcb63e3aa44a562bfe9b59ba202cccbe40a46da50be6f0dd831b495be1dd7e38ca4657f0ecab2c1a89dc7bccba0885eab7ee7c1b215830da765758c7e0506 languageName: node linkType: hard -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: ^2.0.1 - bin: - js-yaml: bin/js-yaml.js - checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d languageName: node linkType: hard -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" +"negotiator@npm:^0.6.2": + version: 0.6.2 + resolution: "negotiator@npm:0.6.2" + checksum: dfddaff6c06792f1c4c3809e29a427b8daef8cd437c83b08dd51d7ee11bbd1c29d9512d66b801144d6c98e910ffd8723f2432e0cbf8b18d41d2a09599c975ab3 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1": + version: 2.6.6 + resolution: "node-fetch@npm:2.6.6" dependencies: - graceful-fs: ^4.1.6 - universalify: ^2.0.0 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 + whatwg-url: ^5.0.0 + checksum: ee8290626bdb73629c59722b75dcf4b9b6a67c1ed7eb9102e368479c4a13b56a48c2bb3ad71571e378e98c8b2c64c820e11f9cd39e4b8557dd138ad571ef9a42 languageName: node linkType: hard -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" +"node-gyp@npm:latest": + version: 8.4.1 + resolution: "node-gyp@npm:8.4.1" dependencies: - p-locate: ^4.1.0 - checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^9.1.0 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 341710b5da39d3660e6a886b37e210d33f8282047405c2e62c277bcc744c7552c5b8b972ebc3a7d5c2813794e60cc48c3ebd142c46d6e0321db4db6c92dd0355 languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: d0b30b1ee6d961851c60d5eaa745d30b5c95d94bc0e74b81e5292f7c42a49e3af87f1eb9e89f59456f80645d679202537de751b7d72e9e40ceea40c5e449057e languageName: node linkType: hard -"lodash.isequal@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.isequal@npm:4.5.0" - checksum: da27515dc5230eb1140ba65ff8de3613649620e8656b19a6270afe4866b7bd461d9ba2ac8a48dcc57f7adac4ee80e1de9f965d89d4d81a0ad52bb3eec2609644 +"node-modules-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "node-modules-regexp@npm:1.0.0" + checksum: 99541903536c5ce552786f0fca7f06b88df595e62e423c21fa86a1674ee2363dad1f7482d1bec20b4bd9fa5f262f88e6e5cb788fc56411113f2fe2e97783a3a7 languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 +"node-releases@npm:^2.0.1": + version: 2.0.1 + resolution: "node-releases@npm:2.0.1" + checksum: b20dd8d4bced11f75060f0387e05e76b9dc4a0451f7bb3516eade6f50499ea7768ba95d8a60d520c193402df1e58cb3fe301510cc1c1ad68949c3d57b5149866 languageName: node linkType: hard -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" dependencies: - chalk: ^4.1.0 - is-unicode-supported: ^0.1.0 - checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f languageName: node linkType: hard -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a +"normalize-path@npm:^3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 languageName: node linkType: hard -"minimatch@npm:^3.0.4": - version: 3.0.4 - resolution: "minimatch@npm:3.0.4" +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" dependencies: - brace-expansion: ^1.1.7 - checksum: 66ac295f8a7b59788000ea3749938b0970344c841750abd96694f80269b926ebcafad3deeb3f1da2522978b119e6ae3a5869b63b13a7859a456b3408bd18a078 + path-key: ^3.0.0 + checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 languageName: node linkType: hard -"mute-stream@npm:0.0.8": - version: 0.0.8 - resolution: "mute-stream@npm:0.0.8" - checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 +"npmlog@npm:^6.0.0": + version: 6.0.0 + resolution: "npmlog@npm:6.0.0" + dependencies: + are-we-there-yet: ^2.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.0 + set-blocking: ^2.0.0 + checksum: 33d8a7fe3d63bf83b16655b6588ae7ba10b5f37b067a661e7cab6508660d7c3204ae716ee2c5ce4eb9626fd1489cf2fa7645d789bc3b704f8c3ccb04a532a50b languageName: node linkType: hard -"node-fetch@npm:^2.6.1": - version: 2.6.6 - resolution: "node-fetch@npm:2.6.6" - dependencies: - whatwg-url: ^5.0.0 - checksum: ee8290626bdb73629c59722b75dcf4b9b6a67c1ed7eb9102e368479c4a13b56a48c2bb3ad71571e378e98c8b2c64c820e11f9cd39e4b8557dd138ad571ef9a42 +"nwsapi@npm:^2.2.0": + version: 2.2.0 + resolution: "nwsapi@npm:2.2.0" + checksum: 5ef4a9bc0c1a5b7f2e014aa6a4b359a257503b796618ed1ef0eb852098f77e772305bb0e92856e4bbfa3e6c75da48c0113505c76f144555ff38867229c2400a7 languageName: node linkType: hard @@ -850,7 +3696,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0": +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -859,6 +3705,27 @@ __metadata: languageName: node linkType: hard +"openapi-types@npm:9.3.1": + version: 9.3.1 + resolution: "openapi-types@npm:9.3.1" + checksum: 44b7132b159666877b1659dcfb48ea34d45222dd96a14626d57830401dfad801d2cba5dc9e88471faa4f1c2f7670d814601d91e156d6a05ecccc60c65660ebbc + languageName: node + linkType: hard + +"optionator@npm:^0.8.1": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.6 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + word-wrap: ~1.2.3 + checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 + languageName: node + linkType: hard + "ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" @@ -901,6 +3768,15 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -908,6 +3784,13 @@ __metadata: languageName: node linkType: hard +"parse5@npm:6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd + languageName: node + linkType: hard + "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -922,6 +3805,20 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + "path-to-regexp@npm:3.2.0": version: 3.2.0 resolution: "path-to-regexp@npm:3.2.0" @@ -929,16 +3826,115 @@ __metadata: languageName: node linkType: hard -"prettier@npm:2.4.1": - version: 2.4.1 - resolution: "prettier@npm:2.4.1" +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3": + version: 2.3.0 + resolution: "picomatch@npm:2.3.0" + checksum: 16818720ea7c5872b6af110760dee856c8e4cd79aed1c7a006d076b1cc09eff3ae41ca5019966694c33fbd2e1cc6ea617ab10e4adac6df06556168f13be3fca2 + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.1 + resolution: "pirates@npm:4.0.1" + dependencies: + node-modules-regexp: ^1.0.0 + checksum: 091e232aac19f0049a681838fa9fcb4af824b5b1eb0e9325aa07b9d13245bfe3e4fa57a7766b9fdcd19cb89f2c15c688b46023be3047cb288023a0c079d3b2a3 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: ^4.0.0 + checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 + languageName: node + linkType: hard + +"prettier@npm:2.5.0": + version: 2.5.0 + resolution: "prettier@npm:2.5.0" bin: prettier: bin-prettier.js - checksum: cc6830588b401b0d742862fe9c46bc9118204fb307c3abe0e49e95b35ed23629573807ffdf9cdd65289c252a0bb51fc0171437f6626ee36378dea80f0ee80b91 + checksum: aad1b35b73e7c14596d389d90977a83dad0db689ba5802a0ef319c357b7867f55b885db197972aa6a56c30f53088c9f8e0d7f7930ae074c275a4e9cbe091d21d + languageName: node + linkType: hard + +"pretty-format@npm:^27.0.0, pretty-format@npm:^27.4.2": + version: 27.4.2 + resolution: "pretty-format@npm:27.4.2" + dependencies: + "@jest/types": ^27.4.2 + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^17.0.1 + checksum: 0daaf00c4dcb35493e57d30147e8045d0c45cb47fc4c94e3ab1892401abe939627c39975c77cc81eb2581aaa5b12bf23ef669fa550bec68b396fb79dd8c10afa + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 22749483091d2c594261517f4f80e05226d4d5ecc1fc917e1886929da56e22b5718b7f2a75f3807e7a7d471bc3be2907fe92e6e8f373ddf5c64bae35b5af3981 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.5 + checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d + languageName: node + linkType: hard + +"psl@npm:^1.1.33": + version: 1.8.0 + resolution: "psl@npm:1.8.0" + checksum: 6150048ed2da3f919478bee8a82f3828303bc0fc730fb015a48f83c9977682c7b28c60ab01425a72d82a2891a1681627aa530a991d50c086b48a3be27744bde7 + languageName: node + linkType: hard + +"punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 + languageName: node + linkType: hard + +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 languageName: node linkType: hard -"readable-stream@npm:^3.4.0": +"readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": version: 3.6.0 resolution: "readable-stream@npm:3.6.0" dependencies: @@ -970,6 +3966,49 @@ __metadata: languageName: node linkType: hard +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: ^5.0.0 + checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + +"resolve.exports@npm:^1.1.0": + version: 1.1.0 + resolution: "resolve.exports@npm:1.1.0" + checksum: 52865af8edb088f6c7759a328584a5de6b226754f004b742523adcfe398cfbc4559515104bc2ae87b8e78b1e4de46c9baec400b3fb1f7d517b86d2d48a098a2d + languageName: node + linkType: hard + +resolve@^1.20.0: + version: 1.20.0 + resolution: "resolve@npm:1.20.0" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: 40cf70b2cde00ef57f99daf2dc63c6a56d6c14a1b7fc51735d06a6f0a3b97cb67b4fb7ef6c747b4e13a7baba83b0ef625d7c4ce92a483cd5af923c3b65fd16fe + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.20.0#~builtin": + version: 1.20.0 + resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=00b1ff" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: bed00be983cd20a8af0e7840664f655c4b269786dbd9595c5f156cd9d8a0050e65cdbbbdafc30ee9b6245b230c78a2c8ab6447a52545b582f476c29adb188cc5 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -980,56 +4019,199 @@ __metadata: languageName: node linkType: hard -"run-async@npm:^2.4.0": - version: 2.4.1 - resolution: "run-async@npm:2.4.1" - checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 + languageName: node + linkType: hard + +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 + languageName: node + linkType: hard + +"rxjs@npm:7.4.0, rxjs@npm:^7.2.0": + version: 7.4.0 + resolution: "rxjs@npm:7.4.0" + dependencies: + tslib: ~2.1.0 + checksum: 6b33172a760dcad6882fdc836ee8cf1ebe160dd7eaad95c45a12338ffdaa96eb41e48e6c25bbd3d1fdf45075949ff447954bc17a9d01c688558a67967d09c114 + languageName: node + linkType: hard + +"rxjs@npm:^6.6.3": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: ^1.9.0 + checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"saxes@npm:^5.0.1": + version: 5.0.1 + resolution: "saxes@npm:5.0.1" + dependencies: + xmlchars: ^2.2.0 + checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 + languageName: node + linkType: hard + +"semver@npm:7.x, semver@npm:^7.3.2, semver@npm:^7.3.5": + version: 7.3.5 + resolution: "semver@npm:7.3.5" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": + version: 3.0.6 + resolution: "signal-exit@npm:3.0.6" + checksum: b819ac81ba757af559dad0804233ae31bf6f054591cd8a671e9cbcf09f21c72ec3076fe87d1e04861f5b33b47d63f0694b568de99c99cd733ee2060515beb6d5 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c + languageName: node + linkType: hard + +"smart-buffer@npm:^4.1.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b languageName: node linkType: hard -"rxjs@npm:7.4.0, rxjs@npm:^7.2.0": - version: 7.4.0 - resolution: "rxjs@npm:7.4.0" +"socks-proxy-agent@npm:^6.0.0": + version: 6.1.1 + resolution: "socks-proxy-agent@npm:6.1.1" dependencies: - tslib: ~2.1.0 - checksum: 6b33172a760dcad6882fdc836ee8cf1ebe160dd7eaad95c45a12338ffdaa96eb41e48e6c25bbd3d1fdf45075949ff447954bc17a9d01c688558a67967d09c114 + agent-base: ^6.0.2 + debug: ^4.3.1 + socks: ^2.6.1 + checksum: 9a8a4f791bba0060315cf7291ca6f9db37d6fc280fd0860d73d8887d3efe4c22e823aa25a8d5375f6079279f8dc91b50c075345179bf832bfe3c7c26d3582e3c languageName: node linkType: hard -"rxjs@npm:^6.6.3": - version: 6.6.7 - resolution: "rxjs@npm:6.6.7" +"socks@npm:^2.6.1": + version: 2.6.1 + resolution: "socks@npm:2.6.1" dependencies: - tslib: ^1.9.0 - checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b + ip: ^1.1.5 + smart-buffer: ^4.1.0 + checksum: 2ca9d616e424f645838ebaabb04f85d94ea999e0f8393dc07f86c435af22ed88cb83958feeabd1bb7bc537c635ed47454255635502c6808a6df61af1f41af750 languageName: node linkType: hard -"safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 +"source-map-support@npm:^0.5.6": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 +"source-map@npm:^0.5.0": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d languageName: node linkType: hard -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 languageName: node linkType: hard -"signal-exit@npm:^3.0.2": - version: 3.0.6 - resolution: "signal-exit@npm:3.0.6" - checksum: b819ac81ba757af559dad0804233ae31bf6f054591cd8a671e9cbcf09f21c72ec3076fe87d1e04861f5b33b47d63f0694b568de99c99cd733ee2060515beb6d5 +"source-map@npm:^0.7.3": + version: 0.7.3 + resolution: "source-map@npm:0.7.3" + checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea languageName: node linkType: hard @@ -1047,7 +4229,35 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^4.1.0, string-width@npm:^4.2.0": +"ssri@npm:^8.0.0, ssri@npm:^8.0.1": + version: 8.0.1 + resolution: "ssri@npm:8.0.1" + dependencies: + minipass: ^3.1.1 + checksum: bc447f5af814fa9713aa201ec2522208ae0f4d8f3bda7a1f445a797c7b929a02720436ff7c478fb5edc4045adb02b1b88d2341b436a80798734e2494f1067b36 + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.5 + resolution: "stack-utils@npm:2.0.5" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: 76b69da0f5b48a34a0f93c98ee2a96544d2c4ca2557f7eef5ddb961d3bdc33870b46f498a84a7c4f4ffb781df639840e7ebf6639164ed4da5e1aeb659615b9c7 + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" + dependencies: + char-regex: ^1.0.2 + strip-ansi: ^6.0.0 + checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -1076,7 +4286,30 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -1085,7 +4318,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.1.0": +"supports-color@npm:^8.0.0, supports-color@npm:^8.1.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -1094,7 +4327,17 @@ __metadata: languageName: node linkType: hard -"swagger-cli@npm:^4.0.4": +"supports-hyperlinks@npm:^2.0.0": + version: 2.2.0 + resolution: "supports-hyperlinks@npm:2.2.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a + languageName: node + linkType: hard + +"swagger-cli@npm:4.0.4": version: 4.0.4 resolution: "swagger-cli@npm:4.0.4" dependencies: @@ -1105,6 +4348,84 @@ __metadata: languageName: node linkType: hard +"swagger-parser@npm:10.0.3": + version: 10.0.3 + resolution: "swagger-parser@npm:10.0.3" + dependencies: + "@apidevtools/swagger-parser": 10.0.3 + checksum: bd99d94543b9bdc6bf062ea211f70d4fa004e6e8ce97ee47a388a046f3cc2839e7349970e8a0b11136b55a674e1cc7b0bbdfbe4fb40adf0c68bc70736eedb8b7 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d + languageName: node + linkType: hard + +"tar@npm:^6.0.2, tar@npm:^6.1.2": + version: 6.1.11 + resolution: "tar@npm:6.1.11" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^3.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f + languageName: node + linkType: hard + +"terminal-link@npm:^2.0.0": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": ^0.1.2 + glob: ^7.1.4 + minimatch: ^3.0.4 + checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28 + languageName: node + linkType: hard + +"tests@workspace:tests": + version: 0.0.0-use.local + resolution: "tests@workspace:tests" + dependencies: + "@algolia/client-search": 5.0.0 + "@algolia/recommend": 5.0.0 + "@types/jest": 27.0.3 + "@types/mustache": 4.1.2 + "@types/node": 16.11.11 + dotenv: 10.0.0 + jest: 27.4.1 + mustache: 4.2.0 + openapi-types: 9.3.1 + swagger-parser: 10.0.3 + ts-jest: 27.0.7 + ts-node: 10.4.0 + typescript: 4.5.2 + languageName: unknown + linkType: soft + +"throat@npm:^6.0.1": + version: 6.0.1 + resolution: "throat@npm:6.0.1" + checksum: 782d4171ee4e3cf947483ed2ff1af3e17cc4354c693b9d339284f61f99fbc401d171e0b0d2db3295bb7d447630333e9319c174ebd7ef315c6fb791db9675369c + languageName: node + linkType: hard + "through@npm:^2.3.6": version: 2.3.8 resolution: "through@npm:2.3.8" @@ -1121,6 +4442,49 @@ __metadata: languageName: node linkType: hard +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed + languageName: node + linkType: hard + +"tough-cookie@npm:^4.0.0": + version: 4.0.0 + resolution: "tough-cookie@npm:4.0.0" + dependencies: + psl: ^1.1.33 + punycode: ^2.1.1 + universalify: ^0.1.2 + checksum: 0891b37eb7d17faa3479d47f0dce2e3007f2583094ad272f2670d120fbcc3df3b0b0a631ba96ecad49f9e2297d93ff8995ce0d3292d08dd7eabe162f5b224d69 + languageName: node + linkType: hard + +"tr46@npm:^2.1.0": + version: 2.1.0 + resolution: "tr46@npm:2.1.0" + dependencies: + punycode: ^2.1.1 + checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -1137,6 +4501,73 @@ __metadata: languageName: node linkType: hard +"ts-jest@npm:27.0.7": + version: 27.0.7 + resolution: "ts-jest@npm:27.0.7" + dependencies: + bs-logger: 0.x + fast-json-stable-stringify: 2.x + jest-util: ^27.0.0 + json5: 2.x + lodash.memoize: 4.x + make-error: 1.x + semver: 7.x + yargs-parser: 20.x + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@types/jest": ^27.0.0 + babel-jest: ">=27.0.0 <28" + jest: ^27.0.0 + typescript: ">=3.8 <5.0" + peerDependenciesMeta: + "@babel/core": + optional: true + "@types/jest": + optional: true + babel-jest: + optional: true + bin: + ts-jest: cli.js + checksum: 3711361cb5ae54aac547b00f8ad118ec88333c391af4bff0420497e9faa296eace4e8272c627ecbf4be675af9f68c437e4c2ccc5693c6d744796ec7da6dda131 + languageName: node + linkType: hard + +"ts-node@npm:10.4.0": + version: 10.4.0 + resolution: "ts-node@npm:10.4.0" + dependencies: + "@cspotcode/source-map-support": 0.7.0 + "@tsconfig/node10": ^1.0.7 + "@tsconfig/node12": ^1.0.7 + "@tsconfig/node14": ^1.0.0 + "@tsconfig/node16": ^1.0.2 + acorn: ^8.4.1 + acorn-walk: ^8.1.1 + arg: ^4.1.0 + create-require: ^1.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + yn: 3.1.1 + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 3933ac0a937d33c45e04a6750fcdd3e765eb2897d1da1307cd97ac52af093bcfb632ec0453a75000a65c8b5b7bdb32b1077050a186dcc556e62657cb592e6d49 + languageName: node + linkType: hard + "tslib@npm:2.0.3": version: 2.0.3 resolution: "tslib@npm:2.0.3" @@ -1165,6 +4596,22 @@ __metadata: languageName: node linkType: hard +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 + languageName: node + linkType: hard + "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -1172,7 +4619,16 @@ __metadata: languageName: node linkType: hard -typescript@4.5.2: +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: ^1.0.0 + checksum: 99c11aaa8f45189fcfba6b8a4825fd684a321caa9bd7a76a27cf0c7732c174d198b99f449c52c3818107430b5f41c0ccbbfb75cb2ee3ca4a9451710986d61a60 + languageName: node + linkType: hard + +"typescript@4.5.2, typescript@^4.5.2": version: 4.5.2 resolution: "typescript@npm:4.5.2" bin: @@ -1182,7 +4638,7 @@ typescript@4.5.2: languageName: node linkType: hard -"typescript@patch:typescript@4.5.2#~builtin": +"typescript@patch:typescript@4.5.2#~builtin, typescript@patch:typescript@^4.5.2#~builtin": version: 4.5.2 resolution: "typescript@patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=32657b" bin: @@ -1192,6 +4648,31 @@ typescript@4.5.2: languageName: node linkType: hard +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: ^2.0.0 + checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: ^0.1.4 + checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a + languageName: node + linkType: hard + +"universalify@npm:^0.1.2": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff + languageName: node + linkType: hard + "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -1215,6 +4696,17 @@ typescript@4.5.2: languageName: node linkType: hard +"v8-to-istanbul@npm:^8.1.0": + version: 8.1.0 + resolution: "v8-to-istanbul@npm:8.1.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + source-map: ^0.7.3 + checksum: c7dabf9567e0c210b24d0720e553803cbe1ff81edb1ec7f2080eb4be01ed081a40286cc9f4aaa86d1bf8d57840cefae8fdf326b7cb8faa316ba50c7b948030d4 + languageName: node + linkType: hard + "validator@npm:^13.7.0": version: 13.7.0 resolution: "validator@npm:13.7.0" @@ -1222,6 +4714,33 @@ typescript@4.5.2: languageName: node linkType: hard +"w3c-hr-time@npm:^1.0.2": + version: 1.0.2 + resolution: "w3c-hr-time@npm:1.0.2" + dependencies: + browser-process-hrtime: ^1.0.0 + checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^2.0.0": + version: 2.0.0 + resolution: "w3c-xmlserializer@npm:2.0.0" + dependencies: + xml-name-validator: ^3.0.0 + checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b + languageName: node + linkType: hard + +"walker@npm:^1.0.7": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: 1.0.12 + checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + languageName: node + linkType: hard + "wcwidth@npm:>=1.0.1, wcwidth@npm:^1.0.1": version: 1.0.1 resolution: "wcwidth@npm:1.0.1" @@ -1238,6 +4757,36 @@ typescript@4.5.2: languageName: node linkType: hard +"webidl-conversions@npm:^5.0.0": + version: 5.0.0 + resolution: "webidl-conversions@npm:5.0.0" + checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 + languageName: node + linkType: hard + +"webidl-conversions@npm:^6.1.0": + version: 6.1.0 + resolution: "webidl-conversions@npm:6.1.0" + checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb + languageName: node + linkType: hard + +"whatwg-encoding@npm:^1.0.5": + version: 1.0.5 + resolution: "whatwg-encoding@npm:1.0.5" + dependencies: + iconv-lite: 0.4.24 + checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^2.3.0": + version: 2.3.0 + resolution: "whatwg-mimetype@npm:2.3.0" + checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 + languageName: node + linkType: hard + "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -1248,6 +4797,17 @@ typescript@4.5.2: languageName: node linkType: hard +"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": + version: 8.7.0 + resolution: "whatwg-url@npm:8.7.0" + dependencies: + lodash: ^4.7.0 + tr46: ^2.1.0 + webidl-conversions: ^6.1.0 + checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e + languageName: node + linkType: hard + "which-module@npm:^2.0.0": version: 2.0.0 resolution: "which-module@npm:2.0.0" @@ -1255,6 +4815,33 @@ typescript@4.5.2: languageName: node linkType: hard +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1 + languageName: node + linkType: hard + +"wide-align@npm:^1.1.2": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + +"word-wrap@npm:~1.2.3": + version: 1.2.3 + resolution: "word-wrap@npm:1.2.3" + checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f + languageName: node + linkType: hard + "wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" @@ -1284,6 +4871,47 @@ typescript@4.5.2: languageName: node linkType: hard +"write-file-atomic@npm:^3.0.0": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: ^0.1.4 + is-typedarray: ^1.0.0 + signal-exit: ^3.0.2 + typedarray-to-buffer: ^3.1.5 + checksum: c55b24617cc61c3a4379f425fc62a386cc51916a9b9d993f39734d005a09d5a4bb748bc251f1304e7abd71d0a26d339996c275955f527a131b1dcded67878280 + languageName: node + linkType: hard + +"ws@npm:^7.4.6": + version: 7.5.6 + resolution: "ws@npm:7.5.6" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 0c2ffc9a539dd61dd2b00ff6cc5c98a3371e2521011fe23da4b3578bb7ac26cbdf7ca8a68e8e08023c122ae247013216dde2a20c908de415a6bcc87bdef68c87 + languageName: node + linkType: hard + +"xml-name-validator@npm:^3.0.0": + version: 3.0.0 + resolution: "xml-name-validator@npm:3.0.0" + checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 + languageName: node + linkType: hard + "y18n@npm:^4.0.0": version: 4.0.3 resolution: "y18n@npm:4.0.3" @@ -1298,6 +4926,20 @@ typescript@4.5.2: languageName: node linkType: hard +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 + languageName: node + linkType: hard + +"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + "yargs-parser@npm:^18.1.2": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3" @@ -1308,13 +4950,6 @@ typescript@4.5.2: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 - languageName: node - linkType: hard - "yargs@npm:^15.4.1": version: 15.4.1 resolution: "yargs@npm:15.4.1" @@ -1349,6 +4984,13 @@ typescript@4.5.2: languageName: node linkType: hard +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + languageName: node + linkType: hard + "z-schema@npm:^5.0.1": version: 5.0.2 resolution: "z-schema@npm:5.0.2" From db0b72a84de536ae6d015826a0813a4e91024b7f Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 09:54:03 +0100 Subject: [PATCH 02/13] upgrade jest --- tests/package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/package.json b/tests/package.json index 9daeeaa3e64..62f7e8aff79 100644 --- a/tests/package.json +++ b/tests/package.json @@ -12,7 +12,7 @@ "@types/mustache": "4.1.2", "@types/node": "16.11.11", "dotenv": "10.0.0", - "jest": "27.4.1", + "jest": "27.4.2", "mustache": "4.2.0", "openapi-types": "9.3.1", "swagger-parser": "10.0.3", diff --git a/yarn.lock b/yarn.lock index a63028b5e5c..127ca9595cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -552,7 +552,7 @@ __metadata: languageName: node linkType: hard -"@jest/core@npm:^27.4.1, @jest/core@npm:^27.4.2": +"@jest/core@npm:^27.4.2": version: 27.4.2 resolution: "@jest/core@npm:27.4.2" dependencies: @@ -2715,7 +2715,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest-cli@npm:^27.4.1": +"jest-cli@npm:^27.4.2": version: 27.4.2 resolution: "jest-cli@npm:27.4.2" dependencies: @@ -3155,13 +3155,13 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest@npm:27.4.1": - version: 27.4.1 - resolution: "jest@npm:27.4.1" +"jest@npm:27.4.2": + version: 27.4.2 + resolution: "jest@npm:27.4.2" dependencies: - "@jest/core": ^27.4.1 + "@jest/core": ^27.4.2 import-local: ^3.0.2 - jest-cli: ^27.4.1 + jest-cli: ^27.4.2 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -3169,7 +3169,7 @@ fsevents@^2.3.2: optional: true bin: jest: bin/jest.js - checksum: 9a71284c588757d48e625e768d2de6381632f62726f13d466523d2111c2092c12b5498c2a7acf29c17654ac11f8876bf58477c5dab45d2ea5bd7e3bc9842ee3e + checksum: 726dbdaaad94eccae084a5bdd85cbe9c308b4a3d331f2315f1cad6447858cc5b1aaa730d6b63dcf29b4f8258a8271086bdc812a4dd04113085c48975782f8bfa languageName: node linkType: hard @@ -4409,7 +4409,7 @@ resolve@^1.20.0: "@types/mustache": 4.1.2 "@types/node": 16.11.11 dotenv: 10.0.0 - jest: 27.4.1 + jest: 27.4.2 mustache: 4.2.0 openapi-types: 9.3.1 swagger-parser: 10.0.3 From 99266f1486f294ee172262221b274b9190648534 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 15:09:17 +0100 Subject: [PATCH 03/13] pin dependency --- .../client-search/package.json | 4 +- .../recommend/package.json | 4 +- templates/javascript/package.mustache | 4 +- yarn.lock | 103 +++++++----------- 4 files changed, 45 insertions(+), 70 deletions(-) diff --git a/clients/algoliasearch-client-javascript/client-search/package.json b/clients/algoliasearch-client-javascript/client-search/package.json index a4810bb2583..fb24899b4f1 100644 --- a/clients/algoliasearch-client-javascript/client-search/package.json +++ b/clients/algoliasearch-client-javascript/client-search/package.json @@ -18,7 +18,7 @@ "yarn": "^3.0.0" }, "devDependencies": { - "@types/node": "^16.11.11", - "typescript": "^4.5.2" + "@types/node": "16.11.11", + "typescript": "4.5.2" } } diff --git a/clients/algoliasearch-client-javascript/recommend/package.json b/clients/algoliasearch-client-javascript/recommend/package.json index 2af2350d51a..21a715c75b5 100644 --- a/clients/algoliasearch-client-javascript/recommend/package.json +++ b/clients/algoliasearch-client-javascript/recommend/package.json @@ -18,7 +18,7 @@ "yarn": "^3.0.0" }, "devDependencies": { - "@types/node": "^16.11.11", - "typescript": "^4.5.2" + "@types/node": "16.11.11", + "typescript": "4.5.2" } } diff --git a/templates/javascript/package.mustache b/templates/javascript/package.mustache index f1748c5ae2e..0e3c3f38c4c 100644 --- a/templates/javascript/package.mustache +++ b/templates/javascript/package.mustache @@ -18,8 +18,8 @@ "yarn": "^3.0.0" }, "devDependencies": { - "@types/node": "^16.11.11", - "typescript": "^4.5.2" + "@types/node": "16.11.11", + "typescript": "4.5.2" } {{#npmRepository}}, "publishConfig": { diff --git a/yarn.lock b/yarn.lock index 127ca9595cb..f758fb785e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,7 +20,7 @@ __metadata: resolution: "@algolia/client-search@workspace:clients/algoliasearch-client-javascript/client-search" dependencies: "@types/node": ^16.11.11 - typescript: ^4.5.2 + typescript: 4.5.2 languageName: unknown linkType: soft @@ -29,7 +29,7 @@ __metadata: resolution: "@algolia/recommend@workspace:clients/algoliasearch-client-javascript/recommend" dependencies: "@types/node": ^16.11.11 - typescript: ^4.5.2 + typescript: 4.5.2 languageName: unknown linkType: soft @@ -552,9 +552,9 @@ __metadata: languageName: node linkType: hard -"@jest/core@npm:^27.4.2": - version: 27.4.2 - resolution: "@jest/core@npm:27.4.2" +"@jest/core@npm:^27.4.3": + version: 27.4.3 + resolution: "@jest/core@npm:27.4.3" dependencies: "@jest/console": ^27.4.2 "@jest/reporters": ^27.4.2 @@ -568,13 +568,13 @@ __metadata: exit: ^0.1.2 graceful-fs: ^4.2.4 jest-changed-files: ^27.4.2 - jest-config: ^27.4.2 + jest-config: ^27.4.3 jest-haste-map: ^27.4.2 jest-message-util: ^27.4.2 jest-regex-util: ^27.4.0 jest-resolve: ^27.4.2 jest-resolve-dependencies: ^27.4.2 - jest-runner: ^27.4.2 + jest-runner: ^27.4.3 jest-runtime: ^27.4.2 jest-snapshot: ^27.4.2 jest-util: ^27.4.2 @@ -589,7 +589,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 2adc765c6fbcf50de39ffdb6164a1d7c0c85b71f718ce84e28436cc97d89faf32d2df9b99d68b0279156d6d1a39ae4d7370ff52c39ea532a08009f944abe0b7a + checksum: fc38fc677e7154a91c689ad41fff3ff246a840282138f094b11b68c42978c8c503cc5235bbe337038a3b2909b56b2bc7ea9b35e370dbcc7a0968f97ca3578531 languageName: node linkType: hard @@ -996,17 +996,6 @@ __metadata: languageName: node linkType: hard -"@types/jsdom@npm:^16.2.4": - version: 16.2.13 - resolution: "@types/jsdom@npm:16.2.13" - dependencies: - "@types/node": "*" - "@types/parse5": "*" - "@types/tough-cookie": "*" - checksum: 2575d020e345f556a28208dad4d495e317e7364f1de222322c100841f49a815c73c0aa32d32d7a72a05fd7cd33551f4c0effc108fbaaf194ec42ed0f04d877b9 - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.6": version: 7.0.9 resolution: "@types/json-schema@npm:7.0.9" @@ -1028,13 +1017,6 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:*": - version: 6.0.3 - resolution: "@types/parse5@npm:6.0.3" - checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 - languageName: node - linkType: hard - "@types/prettier@npm:^2.1.5": version: 2.4.2 resolution: "@types/prettier@npm:2.4.2" @@ -1049,13 +1031,6 @@ __metadata: languageName: node linkType: hard -"@types/tough-cookie@npm:*": - version: 4.0.1 - resolution: "@types/tough-cookie@npm:4.0.1" - checksum: 7570c1c2d74201f4ead3512cf8e4c99e97d92ab8a02ae2fb987fd720ced0ca1a2baf250c98a861a170b86762606c9bf6d32207675f13dffc5ab75c08c96578d2 - languageName: node - linkType: hard - "@types/yargs-parser@npm:*": version: 20.2.1 resolution: "@types/yargs-parser@npm:20.2.1" @@ -2715,18 +2690,18 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest-cli@npm:^27.4.2": - version: 27.4.2 - resolution: "jest-cli@npm:27.4.2" +"jest-cli@npm:^27.4.3": + version: 27.4.3 + resolution: "jest-cli@npm:27.4.3" dependencies: - "@jest/core": ^27.4.2 + "@jest/core": ^27.4.3 "@jest/test-result": ^27.4.2 "@jest/types": ^27.4.2 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.4 import-local: ^3.0.2 - jest-config: ^27.4.2 + jest-config: ^27.4.3 jest-util: ^27.4.2 jest-validate: ^27.4.2 prompts: ^2.0.1 @@ -2738,13 +2713,13 @@ fsevents@^2.3.2: optional: true bin: jest: bin/jest.js - checksum: 4f386f57e30f9e1110e87e2aabe14a53021bb4f57baf11876091c331a9a0570e7113e1cbafb876e00661085863434a70ff03ad117fe9a4e6c7f65e9b6fd367bf + checksum: 26d550b1e231d6ef11505d8bfa68fa4021bf3685bba49959293bc3993512a99f315630a632f2244607f9aaad0f689d02ded79619c0fb940ef226ab82ecd132b7 languageName: node linkType: hard -"jest-config@npm:^27.4.2": - version: 27.4.2 - resolution: "jest-config@npm:27.4.2" +"jest-config@npm:^27.4.3": + version: 27.4.3 + resolution: "jest-config@npm:27.4.3" dependencies: "@babel/core": ^7.1.0 "@jest/test-sequencer": ^27.4.2 @@ -2756,13 +2731,13 @@ fsevents@^2.3.2: glob: ^7.1.1 graceful-fs: ^4.2.4 jest-circus: ^27.4.2 - jest-environment-jsdom: ^27.4.2 + jest-environment-jsdom: ^27.4.3 jest-environment-node: ^27.4.2 jest-get-type: ^27.4.0 jest-jasmine2: ^27.4.2 jest-regex-util: ^27.4.0 jest-resolve: ^27.4.2 - jest-runner: ^27.4.2 + jest-runner: ^27.4.3 jest-util: ^27.4.2 jest-validate: ^27.4.2 micromatch: ^4.0.4 @@ -2773,7 +2748,7 @@ fsevents@^2.3.2: peerDependenciesMeta: ts-node: optional: true - checksum: ddfbb7280a2359d3e92a8cc31bc85f8d019de7616dd79c8ddfa5cc1af65d4e4a1967bbfe194fc903c5e62f5bde6bb1ab370a22fc309be499b92d1e699cbb6491 + checksum: 74d406232002b0357fd217958d7c4e123008dd6d09bc380f8b595409b60c6a4fe38a729e4f2c417bc3b815a5a321dd19fdbb3918d5318a9254203ba66e82c297 languageName: node linkType: hard @@ -2811,19 +2786,18 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest-environment-jsdom@npm:^27.4.2": - version: 27.4.2 - resolution: "jest-environment-jsdom@npm:27.4.2" +"jest-environment-jsdom@npm:^27.4.3": + version: 27.4.3 + resolution: "jest-environment-jsdom@npm:27.4.3" dependencies: "@jest/environment": ^27.4.2 "@jest/fake-timers": ^27.4.2 "@jest/types": ^27.4.2 - "@types/jsdom": ^16.2.4 "@types/node": "*" jest-mock: ^27.4.2 jest-util: ^27.4.2 jsdom: ^16.6.0 - checksum: ba7d3664840a46c8e8d15cb8f06b3c09112de1f7d66bc96fd16d14291036277c63b68cf1939d14fe1d8385978ffbaf803c1eee7a8ed7f1004e4bb45190372df9 + checksum: cea6a05747fe8e4049f87b8b33c54a7417cfb90552eeb7c6d5a3760eed73f2558709e62f7eb91ae40d060581c8f210f954487a73c2f3b2224334af2dda681eff languageName: node linkType: hard @@ -2995,9 +2969,9 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest-runner@npm:^27.4.2": - version: 27.4.2 - resolution: "jest-runner@npm:27.4.2" +"jest-runner@npm:^27.4.3": + version: 27.4.3 + resolution: "jest-runner@npm:27.4.3" dependencies: "@jest/console": ^27.4.2 "@jest/environment": ^27.4.2 @@ -3010,7 +2984,7 @@ fsevents@^2.3.2: exit: ^0.1.2 graceful-fs: ^4.2.4 jest-docblock: ^27.4.0 - jest-environment-jsdom: ^27.4.2 + jest-environment-jsdom: ^27.4.3 jest-environment-node: ^27.4.2 jest-haste-map: ^27.4.2 jest-leak-detector: ^27.4.2 @@ -3021,7 +2995,7 @@ fsevents@^2.3.2: jest-worker: ^27.4.2 source-map-support: ^0.5.6 throat: ^6.0.1 - checksum: e1c501e3e7a94cb8eeeee03fe95a128cfec94493c7c5a131fc284e7f8424825cc4d83285c9b31a669d3ba8a7a2c700288ddfc91dbaf57eec5c3481f36075a464 + checksum: 45369ac8c05ac26d6a3fa9a6736ac35dc8db9af0ce4e4930cbf130f05f86aed2277850329a37d9b308b65aea79ee0efc3c4163e285ff1e2c94516c8708d979b4 languageName: node linkType: hard @@ -3155,13 +3129,13 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest@npm:27.4.2": - version: 27.4.2 - resolution: "jest@npm:27.4.2" +"jest@npm:27.4.3": + version: 27.4.3 + resolution: "jest@npm:27.4.3" dependencies: - "@jest/core": ^27.4.2 + "@jest/core": ^27.4.3 import-local: ^3.0.2 - jest-cli: ^27.4.2 + jest-cli: ^27.4.3 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -3169,7 +3143,7 @@ fsevents@^2.3.2: optional: true bin: jest: bin/jest.js - checksum: 726dbdaaad94eccae084a5bdd85cbe9c308b4a3d331f2315f1cad6447858cc5b1aaa730d6b63dcf29b4f8258a8271086bdc812a4dd04113085c48975782f8bfa + checksum: 0c76bbc996e496f11d7daa2e01b5c90ebf9e2587a1d1fa7e0cb8afc7c50abda24874766e107f9080103795af9ac80a06c83d61d9fc50762bd6d915db40a1f1df languageName: node linkType: hard @@ -4409,9 +4383,10 @@ resolve@^1.20.0: "@types/mustache": 4.1.2 "@types/node": 16.11.11 dotenv: 10.0.0 - jest: 27.4.2 + jest: 27.4.3 mustache: 4.2.0 openapi-types: 9.3.1 + prettier: 2.5.0 swagger-parser: 10.0.3 ts-jest: 27.0.7 ts-node: 10.4.0 @@ -4628,7 +4603,7 @@ resolve@^1.20.0: languageName: node linkType: hard -"typescript@4.5.2, typescript@^4.5.2": +typescript@4.5.2: version: 4.5.2 resolution: "typescript@npm:4.5.2" bin: @@ -4638,7 +4613,7 @@ resolve@^1.20.0: languageName: node linkType: hard -"typescript@patch:typescript@4.5.2#~builtin, typescript@patch:typescript@^4.5.2#~builtin": +"typescript@patch:typescript@4.5.2#~builtin": version: 4.5.2 resolution: "typescript@patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=32657b" bin: From a8cdfb2606de8861eebee98e15e5d4b50b8cf1e5 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 15:09:49 +0100 Subject: [PATCH 04/13] review --- doc/CTS.md | 17 +++--- tests/CTS/clients/search/search.json | 11 ++-- tests/CTS/templates/javascript.mustache | 6 +- tests/generateCTS.ts | 72 +++++++++++++++-------- tests/output/javascript/recommend.test.ts | 5 -- tests/output/javascript/search.test.ts | 13 ++-- tests/package.json | 6 +- 7 files changed, 77 insertions(+), 53 deletions(-) delete mode 100644 tests/output/javascript/recommend.test.ts diff --git a/doc/CTS.md b/doc/CTS.md index dcae84d9333..89d2432b58d 100644 --- a/doc/CTS.md +++ b/doc/CTS.md @@ -1,7 +1,7 @@ # Common Test Suite The CTS aims at ensuring minimal working operation for the API clients, by comparing the request formed by sample parameters. -It it automaticaly generated for all langages, from a json entry point. +It is automaticaly generated for all languages, from a JSON entry point. ## How to run it @@ -10,14 +10,14 @@ yarn cts:generate all yarn cts:test ``` -If you only want to generate the tests for a set of langages, you can run: +If you only want to generate the tests for a set of languages, you can run: ```bash -yarn cts:generate javascript ruby +yarn cts:generate "javascript ruby" ``` ## How to add test -The common format for a test is a json object in the file named: `/`, that follows this schema: +The test generation script requires a JSON file name from the `operationId` (e.g. `search.json`), located in the `CTS//` folder (e.g. `CTS/search/`). ```json [ { @@ -26,6 +26,7 @@ The common format for a test is a json object in the file named: `//.mustache` that parse a array of test into your test framework of choice -- Add the langage in the array `langages` in `tests/generateCTS.ts`. +- Create a template in `test/CTS/templates/.mustache` that parse a array of test into your test framework of choice +- Add the language in the array `languages` in `tests/generateCTS.ts`. diff --git a/tests/CTS/clients/search/search.json b/tests/CTS/clients/search/search.json index 9f5bbb455d0..84a5ea92b8d 100644 --- a/tests/CTS/clients/search/search.json +++ b/tests/CTS/clients/search/search.json @@ -1,19 +1,20 @@ [ { - "name": "hello test", + "name": "search", "method": "search", "parameters": [ "indexName", { - "query": "coucou" + "$objectName": "Query", + "query": "queryString" } ], "request": { "path": "/1/indexes/indexName/query", "method": "POST", - "body": { - "query": "coucou" + "data": { + "query": "queryString" } } } -] \ No newline at end of file +] diff --git a/tests/CTS/templates/javascript.mustache b/tests/CTS/templates/javascript.mustache index 91ffe144a4d..a3f045a83a7 100644 --- a/tests/CTS/templates/javascript.mustache +++ b/tests/CTS/templates/javascript.mustache @@ -2,14 +2,16 @@ import { {{client}}, EchoRequester } from '{{{import}}}'; describe('Common Test Suite', () => { const client = new {{client}}(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { requester: new EchoRequester() }); + {{#tests}} test('{{name}}', async () => { - const req = await client.{{method}}({{#parameters}}{{{.}}},{{/parameters}}); + const req = await client.{{method}}({{#parameters}}{{{value}}}{{^-last}}, {{/-last}}{{/parameters}}); expect(req).toMatchObject({ path: '{{{request.path}}}', method: '{{{request.method}}}', - data: '{{{request.body}}}', + data: {{{request.data}}}, }) }); + {{/tests}} }); diff --git a/tests/generateCTS.ts b/tests/generateCTS.ts index 3e9a95ac546..9aa1a41be30 100644 --- a/tests/generateCTS.ts +++ b/tests/generateCTS.ts @@ -4,7 +4,7 @@ import * as path from 'path'; import SwaggerParser from 'swagger-parser'; import { OpenAPIV3 } from 'openapi-types'; -const availableLangages = ['javascript']; +const availableLanguages = ['javascript']; type CTSBlock = { name: string, @@ -13,21 +13,21 @@ type CTSBlock = { request: { path: string, method: string, - body: string, + data: string, } }; // Array of test per client -type WholeCTS = Record; +type CTS = Record; const packageNameMapping: Record = { javascript: 'npmName' }; -//For each langage, for each client, we have a package name +//For each language, for each client, we have a package name let packageNames: Record> = {}; -let cts: WholeCTS = {}; +let cts: CTS = {}; -async function createOutputDir(langage: string) { - await fsp.mkdir(`output/${langage}`, { recursive: true }); +async function createOutputDir(language: string) { + await fsp.mkdir(`output/${language}`, { recursive: true }); } async function* walk(dir: string): AsyncGenerator<{ path: string, name: string }> { @@ -44,6 +44,7 @@ function capitalize(str: string): string { async function loadPackageNames(): Promise { const openapitools = JSON.parse((await fsp.readFile('../openapitools.json')).toString()); + // For each generator, we map the packageName with the language and client packageNames = Object.entries(openapitools["generator-cli"].generators).reduce((prev, curr: any) => { const [lang, client] = curr[0].split("-"); if (!(lang in prev)) { @@ -66,16 +67,31 @@ async function loadCTSForClient(client: string): Promise { continue; } const operationId = file.name.replace('.json', ''); - const test: CTSBlock[] = JSON.parse((await fsp.readFile(file.path)).toString()); - for (let i = 0; i < test[0].parameters.length; i++) { - test[0].parameters[i] = JSON.stringify(test[0].parameters[i]); + const tests: CTSBlock[] = JSON.parse((await fsp.readFile(file.path)).toString()); + + // for now we stringify all params for mustache to render them properly + for (const test of tests) { + for (let i = 0; i < test.parameters.length; i++) { + // delete the object name for now, but it could be use for `new $objectName(params)` + delete test.parameters[i]["$objectName"]; + + // include the `-last` param to join with comma in mustache + test.parameters[i] = { + value: JSON.stringify(test.parameters[i]), + '-last': i === test.parameters.length - 1, + }; + } + + // stringify request.data too + test.request.data = JSON.stringify(test.request.data); } - //check test validity against spec + + // check test validity against spec if (!operations.includes(operationId)) { throw new Error(`cannot find operationId ${operationId} for the ${client} client`); } - ctsClient.push(...test); + ctsClient.push(...tests); } return ctsClient; } @@ -86,26 +102,30 @@ async function loadCTS(): Promise { } } -async function loadTemplate(langage: string): Promise { - return (await fsp.readFile(`CTS/templates/${langage}.mustache`)).toString(); +async function loadTemplate(language: string): Promise { + return (await fsp.readFile(`CTS/templates/${language}.mustache`)).toString(); } -async function generateCode(langage: string) { - const template = await loadTemplate(langage); - await createOutputDir(langage); +async function generateCode(language: string) { + const template = await loadTemplate(language); + await createOutputDir(language); for (const client in cts) { + if (cts[client].length === 0) { + continue; + } + const code = Mustache.render(template, { - import: packageNames[langage][client], + import: packageNames[language][client], client: `${capitalize(client)}Api`, tests: cts[client] }); - await fsp.writeFile(`output/${langage}/${client}.test.ts`, code); + await fsp.writeFile(`output/${language}/${client}.test.ts`, code); } } function printUsage() { - console.log(`usage: generateCTS all | langage1 langage2...`); - console.log(`\tavailable langages: ${availableLangages.join(',')}`); + console.log(`usage: generateCTS all | language1 language2...`); + console.log(`\tavailable languages: ${availableLanguages.join(',')}`); process.exit(1); } @@ -117,14 +137,14 @@ async function parseCLI(args: string[]) { let toGenerate: string[]; if (args.length == 3 && args[2] === 'all') { - toGenerate = availableLangages; + toGenerate = availableLanguages; } else { - const langages = args.slice(2); - if (!langages.every((lang) => availableLangages.includes(lang))) { - console.log("unkown langage: ", langages.join(', ')); + const languages = args.slice(2); + if (!languages.every((lang) => availableLanguages.includes(lang))) { + console.log("unkown language: ", languages.join(', ')); printUsage(); } - toGenerate = langages; + toGenerate = languages; } try { diff --git a/tests/output/javascript/recommend.test.ts b/tests/output/javascript/recommend.test.ts deleted file mode 100644 index f2238f806f9..00000000000 --- a/tests/output/javascript/recommend.test.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { RecommendApi, EchoRequester } from '@algolia/recommend'; - -describe('Common Test Suite', () => { - const client = new RecommendApi(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { requester: new EchoRequester() }); -}); diff --git a/tests/output/javascript/search.test.ts b/tests/output/javascript/search.test.ts index 2d2d73c5bb6..9a83877a360 100644 --- a/tests/output/javascript/search.test.ts +++ b/tests/output/javascript/search.test.ts @@ -1,13 +1,16 @@ import { SearchApi, EchoRequester } from '@algolia/client-search'; describe('Common Test Suite', () => { - const client = new SearchApi(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { requester: new EchoRequester() }); - test('hello test', async () => { - const req = await client.search("indexName",{"query":"coucou"},); + const client = new SearchApi(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { + requester: new EchoRequester(), + }); + + test('search', async () => { + const req = await client.search('indexName', { query: 'queryString' }); expect(req).toMatchObject({ path: '/1/indexes/indexName/query', method: 'POST', - data: '[object Object]', - }) + data: { query: 'queryString' }, + }); }); }); diff --git a/tests/package.json b/tests/package.json index 62f7e8aff79..bfe7c7bffcd 100644 --- a/tests/package.json +++ b/tests/package.json @@ -3,7 +3,8 @@ "version": "1.0.0", "scripts": { "test": "jest", - "cts:generate": "ts-node -T generateCTS.ts" + "lint:fix": "yarn prettier --write output", + "cts:generate": "ts-node -T generateCTS.ts ${0} && yarn lint:fix" }, "devDependencies": { "@algolia/client-search": "5.0.0", @@ -12,9 +13,10 @@ "@types/mustache": "4.1.2", "@types/node": "16.11.11", "dotenv": "10.0.0", - "jest": "27.4.2", + "jest": "27.4.3", "mustache": "4.2.0", "openapi-types": "9.3.1", + "prettier": "2.5.0", "swagger-parser": "10.0.3", "ts-jest": "27.0.7", "ts-node": "10.4.0", From 9fe0bad4957fffab6b6917eed6a4f569a35b335f Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 15:14:31 +0100 Subject: [PATCH 05/13] lock yarn --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index f758fb785e3..379e6d2e8d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,7 +19,7 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/client-search@workspace:clients/algoliasearch-client-javascript/client-search" dependencies: - "@types/node": ^16.11.11 + "@types/node": 16.11.11 typescript: 4.5.2 languageName: unknown linkType: soft @@ -28,7 +28,7 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/recommend@workspace:clients/algoliasearch-client-javascript/recommend" dependencies: - "@types/node": ^16.11.11 + "@types/node": 16.11.11 typescript: 4.5.2 languageName: unknown linkType: soft @@ -1010,7 +1010,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:16.11.11, @types/node@npm:^16.11.11": +"@types/node@npm:*, @types/node@npm:16.11.11": version: 16.11.11 resolution: "@types/node@npm:16.11.11" checksum: 1c472bd63f23ca0e4effc96e6e0c693b83b027f613a1f41b6d1bd7791f65ce171a351e0a5c92575cb59e84ad0a930875397bfbbb91a7c925ddbbb558f7461af8 From 30f544a9869917df08f99eef90f53351a7e659a9 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 15:34:38 +0100 Subject: [PATCH 06/13] stricter type and prettier --- tests/CTS/clients/search/search.json | 34 +++++++------- tests/generateCTS.ts | 70 +++++++++++++++------------- tests/jest.config.js | 2 +- 3 files changed, 56 insertions(+), 50 deletions(-) diff --git a/tests/CTS/clients/search/search.json b/tests/CTS/clients/search/search.json index 84a5ea92b8d..d86ec488149 100644 --- a/tests/CTS/clients/search/search.json +++ b/tests/CTS/clients/search/search.json @@ -1,20 +1,20 @@ [ - { - "name": "search", - "method": "search", - "parameters": [ - "indexName", - { - "$objectName": "Query", - "query": "queryString" - } - ], - "request": { - "path": "/1/indexes/indexName/query", - "method": "POST", - "data": { - "query": "queryString" - } - } + { + "name": "search", + "method": "search", + "parameters": [ + "indexName", + { + "$objectName": "Query", + "query": "queryString" + } + ], + "request": { + "path": "/1/indexes/indexName/query", + "method": "POST", + "data": { + "query": "queryString" + } } + } ] diff --git a/tests/generateCTS.ts b/tests/generateCTS.ts index 9aa1a41be30..2014fde43bd 100644 --- a/tests/generateCTS.ts +++ b/tests/generateCTS.ts @@ -4,33 +4,35 @@ import * as path from 'path'; import SwaggerParser from 'swagger-parser'; import { OpenAPIV3 } from 'openapi-types'; -const availableLanguages = ['javascript']; +const availableLanguages = ['javascript'] as const; +type Language = typeof availableLanguages[number]; type CTSBlock = { - name: string, - method: string, - parameters: any[], + name: string; + method: string; + parameters: any[]; request: { - path: string, - method: string, - data: string, - } + path: string; + method: string; + data: string; + }; }; // Array of test per client type CTS = Record; -const packageNameMapping: Record = { javascript: 'npmName' }; +const packageNameMapping: Record = { javascript: 'npmName' }; +const extensionForLanguage: Record = { javascript: '.test.ts' }; //For each language, for each client, we have a package name -let packageNames: Record> = {}; +let packageNames: Record> = {}; let cts: CTS = {}; -async function createOutputDir(language: string) { +async function createOutputDir(language: Language) { await fsp.mkdir(`output/${language}`, { recursive: true }); } -async function* walk(dir: string): AsyncGenerator<{ path: string, name: string }> { +async function* walk(dir: string): AsyncGenerator<{ path: string; name: string }> { for await (const d of await fsp.opendir(dir)) { const entry = path.join(dir, d.name); if (d.isDirectory()) yield* walk(entry); @@ -45,20 +47,25 @@ function capitalize(str: string): string { async function loadPackageNames(): Promise { const openapitools = JSON.parse((await fsp.readFile('../openapitools.json')).toString()); // For each generator, we map the packageName with the language and client - packageNames = Object.entries(openapitools["generator-cli"].generators).reduce((prev, curr: any) => { - const [lang, client] = curr[0].split("-"); - if (!(lang in prev)) { - prev[lang] = {}; - } - prev[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; - return prev; - }, {}); + packageNames = Object.entries(openapitools['generator-cli'].generators).reduce( + (prev, curr: any) => { + const [lang, client] = curr[0].split('-') as [Language, string]; + if (!(lang in prev)) { + prev[lang] = {}; + } + prev[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; + return prev; + }, + {} + ); } async function loadCTSForClient(client: string): Promise { // load the list of operations from the spec const spec = await SwaggerParser.validate(`../specs/${client}/spec.yml`); - const operations = Object.values(spec.paths).flatMap((path) => Object.values(path)).map((obj) => obj.operationId); + const operations = Object.values(spec.paths) + .flatMap((path) => Object.values(path)) + .map((obj) => obj.operationId); const ctsClient: CTSBlock[] = []; @@ -73,7 +80,7 @@ async function loadCTSForClient(client: string): Promise { for (const test of tests) { for (let i = 0; i < test.parameters.length; i++) { // delete the object name for now, but it could be use for `new $objectName(params)` - delete test.parameters[i]["$objectName"]; + delete test.parameters[i]['$objectName']; // include the `-last` param to join with comma in mustache test.parameters[i] = { @@ -86,7 +93,6 @@ async function loadCTSForClient(client: string): Promise { test.request.data = JSON.stringify(test.request.data); } - // check test validity against spec if (!operations.includes(operationId)) { throw new Error(`cannot find operationId ${operationId} for the ${client} client`); @@ -102,11 +108,11 @@ async function loadCTS(): Promise { } } -async function loadTemplate(language: string): Promise { +async function loadTemplate(language: Language): Promise { return (await fsp.readFile(`CTS/templates/${language}.mustache`)).toString(); } -async function generateCode(language: string) { +async function generateCode(language: Language) { const template = await loadTemplate(language); await createOutputDir(language); for (const client in cts) { @@ -117,9 +123,9 @@ async function generateCode(language: string) { const code = Mustache.render(template, { import: packageNames[language][client], client: `${capitalize(client)}Api`, - tests: cts[client] + tests: cts[client], }); - await fsp.writeFile(`output/${language}/${client}.test.ts`, code); + await fsp.writeFile(`output/${language}/${client}${extensionForLanguage[language]}`, code); } } @@ -131,17 +137,17 @@ function printUsage() { async function parseCLI(args: string[]) { if (args.length < 3) { - console.log("not enough arguments"); + console.log('not enough arguments'); printUsage(); } - let toGenerate: string[]; + let toGenerate: Language[]; if (args.length == 3 && args[2] === 'all') { - toGenerate = availableLanguages; + toGenerate = [...availableLanguages]; } else { - const languages = args.slice(2); + const languages = args.slice(2).flatMap((l) => l.split(' ')) as Language[]; if (!languages.every((lang) => availableLanguages.includes(lang))) { - console.log("unkown language: ", languages.join(', ')); + console.log('unkown language: ', languages.join(', ')); printUsage(); } toGenerate = languages; diff --git a/tests/jest.config.js b/tests/jest.config.js index 23af813cd72..132eef2090d 100644 --- a/tests/jest.config.js +++ b/tests/jest.config.js @@ -4,4 +4,4 @@ require('dotenv').config(); module.exports = { preset: 'ts-jest', testEnvironment: 'node', -}; \ No newline at end of file +}; From 465e5eae8c5bc07b6a404b8b302cab058537e78f Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 15:39:52 +0100 Subject: [PATCH 07/13] new line --- openapitools.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapitools.json b/openapitools.json index 6de1ec6166b..0a036caa38d 100644 --- a/openapitools.json +++ b/openapitools.json @@ -40,4 +40,4 @@ } } } -} \ No newline at end of file +} From c50c3fd9e66d508d1f694cd3a150344cf142bb11 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 15:41:00 +0100 Subject: [PATCH 08/13] prettier --- doc/CTS.md | 33 ++++++++++++++++---------------- doc/contribution_addNewClient.md | 4 ++-- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/doc/CTS.md b/doc/CTS.md index 89d2432b58d..880f7e93d6b 100644 --- a/doc/CTS.md +++ b/doc/CTS.md @@ -11,6 +11,7 @@ yarn cts:test ``` If you only want to generate the tests for a set of languages, you can run: + ```bash yarn cts:generate "javascript ruby" ``` @@ -18,24 +19,25 @@ yarn cts:generate "javascript ruby" ## How to add test The test generation script requires a JSON file name from the `operationId` (e.g. `search.json`), located in the `CTS//` folder (e.g. `CTS/search/`). + ```json [ - { - "name": "test name", - "method": "the method to call (ex: search)", - "parameters": [ - "indexName", - { - "$objectName": "the name of the object for strongly type language", - "query": "the string to search" - } - ], - "request": { - "path": "/1/indexes/indexName/query", - "method": "POST", - "data": { "query": "the string to search" } - } + { + "name": "test name", + "method": "the method to call (ex: search)", + "parameters": [ + "indexName", + { + "$objectName": "the name of the object for strongly type language", + "query": "the string to search" + } + ], + "request": { + "path": "/1/indexes/indexName/query", + "method": "POST", + "data": { "query": "the string to search" } } + } ] ``` @@ -45,4 +47,3 @@ And that's it! If the name of the file matches a real `operationId` in the spec, - Create a template in `test/CTS/templates/.mustache` that parse a array of test into your test framework of choice - Add the language in the array `languages` in `tests/generateCTS.ts`. - diff --git a/doc/contribution_addNewClient.md b/doc/contribution_addNewClient.md index fec8899bb4c..d3c2e3be448 100644 --- a/doc/contribution_addNewClient.md +++ b/doc/contribution_addNewClient.md @@ -29,8 +29,8 @@ You will need to implement: - An `init` method - The `retry strategy` with your custom transporter - At least 2 requester: - - http requester, using the standard library - - echo requester that send the request back, used by the CTS + - http requester, using the standard library + - echo requester that send the request back, used by the CTS - A logger that the user can swap - More to come... From 41ab13a6af79c9a4bef70c690783940250ed8fd1 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 16:33:36 +0100 Subject: [PATCH 09/13] review --- tests/generateCTS.ts | 36 +++++++++++++++--------------------- tests/package.json | 2 +- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/tests/generateCTS.ts b/tests/generateCTS.ts index 2014fde43bd..48ab1e40650 100644 --- a/tests/generateCTS.ts +++ b/tests/generateCTS.ts @@ -1,8 +1,9 @@ -import * as fsp from 'fs/promises'; +import fsp from 'fs/promises'; import Mustache from 'mustache'; -import * as path from 'path'; +import path from 'path'; import SwaggerParser from 'swagger-parser'; import { OpenAPIV3 } from 'openapi-types'; +import openapitools from '../openapitools.json'; const availableLanguages = ['javascript'] as const; type Language = typeof availableLanguages[number]; @@ -24,10 +25,20 @@ type CTS = Record; const packageNameMapping: Record = { javascript: 'npmName' }; const extensionForLanguage: Record = { javascript: '.test.ts' }; -//For each language, for each client, we have a package name -let packageNames: Record> = {}; let cts: CTS = {}; +// For each generator, we map the packageName with the language and client +const packageNames: Record> = Object.entries( + openapitools['generator-cli'].generators +).reduce((prev, curr) => { + const [lang, client] = curr[0].split('-') as [Language, string]; + if (!(lang in prev)) { + prev[lang] = {}; + } + prev[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; + return prev; +}, {}); + async function createOutputDir(language: Language) { await fsp.mkdir(`output/${language}`, { recursive: true }); } @@ -44,22 +55,6 @@ function capitalize(str: string): string { return str.charAt(0).toUpperCase() + str.slice(1); } -async function loadPackageNames(): Promise { - const openapitools = JSON.parse((await fsp.readFile('../openapitools.json')).toString()); - // For each generator, we map the packageName with the language and client - packageNames = Object.entries(openapitools['generator-cli'].generators).reduce( - (prev, curr: any) => { - const [lang, client] = curr[0].split('-') as [Language, string]; - if (!(lang in prev)) { - prev[lang] = {}; - } - prev[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; - return prev; - }, - {} - ); -} - async function loadCTSForClient(client: string): Promise { // load the list of operations from the spec const spec = await SwaggerParser.validate(`../specs/${client}/spec.yml`); @@ -154,7 +149,6 @@ async function parseCLI(args: string[]) { } try { - await loadPackageNames(); await loadCTS(); for (const lang of toGenerate) { generateCode(lang); diff --git a/tests/package.json b/tests/package.json index bfe7c7bffcd..bbd51816963 100644 --- a/tests/package.json +++ b/tests/package.json @@ -4,7 +4,7 @@ "scripts": { "test": "jest", "lint:fix": "yarn prettier --write output", - "cts:generate": "ts-node -T generateCTS.ts ${0} && yarn lint:fix" + "cts:generate": "ts-node -T generateCTS.ts ${0:-all} && yarn lint:fix" }, "devDependencies": { "@algolia/client-search": "5.0.0", From 84b369f56c58da260642d91a53d5cbfec8ab2137 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Wed, 1 Dec 2021 16:36:41 +0100 Subject: [PATCH 10/13] change to testName --- doc/CTS.md | 4 ++-- tests/CTS/clients/search/search.json | 2 +- tests/CTS/templates/javascript.mustache | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/CTS.md b/doc/CTS.md index 880f7e93d6b..af59cb0eda0 100644 --- a/doc/CTS.md +++ b/doc/CTS.md @@ -23,8 +23,8 @@ The test generation script requires a JSON file name from the `operationId` (e.g ```json [ { - "name": "test name", - "method": "the method to call (ex: search)", + "testName": "the name of the test (e.g. test('search endpoint'))", + "method": "the method to call (e.g. search)", "parameters": [ "indexName", { diff --git a/tests/CTS/clients/search/search.json b/tests/CTS/clients/search/search.json index d86ec488149..8e0eac0e923 100644 --- a/tests/CTS/clients/search/search.json +++ b/tests/CTS/clients/search/search.json @@ -1,6 +1,6 @@ [ { - "name": "search", + "testName": "search", "method": "search", "parameters": [ "indexName", diff --git a/tests/CTS/templates/javascript.mustache b/tests/CTS/templates/javascript.mustache index a3f045a83a7..77bad11f3e3 100644 --- a/tests/CTS/templates/javascript.mustache +++ b/tests/CTS/templates/javascript.mustache @@ -4,7 +4,7 @@ describe('Common Test Suite', () => { const client = new {{client}}(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { requester: new EchoRequester() }); {{#tests}} - test('{{name}}', async () => { + test('{{testName}}', async () => { const req = await client.{{method}}({{#parameters}}{{{value}}}{{^-last}}, {{/-last}}{{/parameters}}); expect(req).toMatchObject({ path: '{{{request.path}}}', From 80796fcd4f28ad97dfb1119f92e496a54fc2f64e Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Thu, 2 Dec 2021 12:04:37 +0100 Subject: [PATCH 11/13] fix linting --- .eslintrc.js | 2 +- tests/generateCTS.ts | 52 +++++++++++++++++--------- tests/output/javascript/search.test.ts | 8 ++-- tests/package.json | 3 +- 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 0a80ad57d3d..9de5e25dd2b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -30,7 +30,7 @@ module.exports = { 'no-bitwise': 0, '@typescript-eslint/no-namespace': 0, 'max-classes-per-file': 0, - 'no-unused-vars': 0, + 'no-continue': 0, '@typescript-eslint/prefer-enum-initializers': 0, // there's a conflict when declaring `type` and `namespaces`, even with `ignoreDeclarationMerge` 'no-redeclare': 0, diff --git a/tests/generateCTS.ts b/tests/generateCTS.ts index 48ab1e40650..a795ed02294 100644 --- a/tests/generateCTS.ts +++ b/tests/generateCTS.ts @@ -1,8 +1,11 @@ +/* eslint-disable no-console */ import fsp from 'fs/promises'; -import Mustache from 'mustache'; import path from 'path'; + +import Mustache from 'mustache'; +import type { OpenAPIV3 } from 'openapi-types'; import SwaggerParser from 'swagger-parser'; -import { OpenAPIV3 } from 'openapi-types'; + import openapitools from '../openapitools.json'; const availableLanguages = ['javascript'] as const; @@ -23,27 +26,32 @@ type CTSBlock = { type CTS = Record; const packageNameMapping: Record = { javascript: 'npmName' }; -const extensionForLanguage: Record = { javascript: '.test.ts' }; +const extensionForLanguage: Record = { + javascript: '.test.ts', +}; -let cts: CTS = {}; +const cts: CTS = {}; // For each generator, we map the packageName with the language and client const packageNames: Record> = Object.entries( openapitools['generator-cli'].generators ).reduce((prev, curr) => { const [lang, client] = curr[0].split('-') as [Language, string]; + const obj = prev; if (!(lang in prev)) { - prev[lang] = {}; + obj[lang] = {}; } - prev[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; - return prev; + obj[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; + return obj; }, {}); -async function createOutputDir(language: Language) { +async function createOutputDir(language: Language): Promise { await fsp.mkdir(`output/${language}`, { recursive: true }); } -async function* walk(dir: string): AsyncGenerator<{ path: string; name: string }> { +async function* walk( + dir: string +): AsyncGenerator<{ path: string; name: string }> { for await (const d of await fsp.opendir(dir)) { const entry = path.join(dir, d.name); if (d.isDirectory()) yield* walk(entry); @@ -59,7 +67,7 @@ async function loadCTSForClient(client: string): Promise { // load the list of operations from the spec const spec = await SwaggerParser.validate(`../specs/${client}/spec.yml`); const operations = Object.values(spec.paths) - .flatMap((path) => Object.values(path)) + .flatMap((p) => Object.values(p)) .map((obj) => obj.operationId); const ctsClient: CTSBlock[] = []; @@ -69,13 +77,15 @@ async function loadCTSForClient(client: string): Promise { continue; } const operationId = file.name.replace('.json', ''); - const tests: CTSBlock[] = JSON.parse((await fsp.readFile(file.path)).toString()); + const tests: CTSBlock[] = JSON.parse( + (await fsp.readFile(file.path)).toString() + ); // for now we stringify all params for mustache to render them properly for (const test of tests) { for (let i = 0; i < test.parameters.length; i++) { // delete the object name for now, but it could be use for `new $objectName(params)` - delete test.parameters[i]['$objectName']; + delete test.parameters[i].$objectName; // include the `-last` param to join with comma in mustache test.parameters[i] = { @@ -90,7 +100,9 @@ async function loadCTSForClient(client: string): Promise { // check test validity against spec if (!operations.includes(operationId)) { - throw new Error(`cannot find operationId ${operationId} for the ${client} client`); + throw new Error( + `cannot find operationId ${operationId} for the ${client} client` + ); } ctsClient.push(...tests); } @@ -107,7 +119,7 @@ async function loadTemplate(language: Language): Promise { return (await fsp.readFile(`CTS/templates/${language}.mustache`)).toString(); } -async function generateCode(language: Language) { +async function generateCode(language: Language): Promise { const template = await loadTemplate(language); await createOutputDir(language); for (const client in cts) { @@ -120,24 +132,28 @@ async function generateCode(language: Language) { client: `${capitalize(client)}Api`, tests: cts[client], }); - await fsp.writeFile(`output/${language}/${client}${extensionForLanguage[language]}`, code); + await fsp.writeFile( + `output/${language}/${client}${extensionForLanguage[language]}`, + code + ); } } -function printUsage() { +function printUsage(): void { console.log(`usage: generateCTS all | language1 language2...`); console.log(`\tavailable languages: ${availableLanguages.join(',')}`); + // eslint-disable-next-line no-process-exit process.exit(1); } -async function parseCLI(args: string[]) { +async function parseCLI(args: string[]): Promise { if (args.length < 3) { console.log('not enough arguments'); printUsage(); } let toGenerate: Language[]; - if (args.length == 3 && args[2] === 'all') { + if (args.length === 3 && args[2] === 'all') { toGenerate = [...availableLanguages]; } else { const languages = args.slice(2).flatMap((l) => l.split(' ')) as Language[]; diff --git a/tests/output/javascript/search.test.ts b/tests/output/javascript/search.test.ts index 9a83877a360..7765d0557ed 100644 --- a/tests/output/javascript/search.test.ts +++ b/tests/output/javascript/search.test.ts @@ -1,9 +1,11 @@ import { SearchApi, EchoRequester } from '@algolia/client-search'; describe('Common Test Suite', () => { - const client = new SearchApi(process.env.ALGOLIA_APPLICATION_ID, process.env.ALGOLIA_SEARCH_KEY, { - requester: new EchoRequester(), - }); + const client = new SearchApi( + process.env.ALGOLIA_APPLICATION_ID, + process.env.ALGOLIA_SEARCH_KEY, + { requester: new EchoRequester() } + ); test('search', async () => { const req = await client.search('indexName', { query: 'queryString' }); diff --git a/tests/package.json b/tests/package.json index bbd51816963..81588bc7420 100644 --- a/tests/package.json +++ b/tests/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "scripts": { "test": "jest", - "lint:fix": "yarn prettier --write output", + "lint:fix": "yarn eslint --ext=ts output --fix", "cts:generate": "ts-node -T generateCTS.ts ${0:-all} && yarn lint:fix" }, "devDependencies": { @@ -13,6 +13,7 @@ "@types/mustache": "4.1.2", "@types/node": "16.11.11", "dotenv": "10.0.0", + "eslint": "8.3.0", "jest": "27.4.3", "mustache": "4.2.0", "openapi-types": "9.3.1", From 942fe9a6a9efa00924170d7273740820b076de8a Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Thu, 2 Dec 2021 13:09:15 +0100 Subject: [PATCH 12/13] fix package json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7575b43a0a3..fde1d81f30f 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "lint": "eslint --ext=ts .", "format:specs": "yarn prettier --write specs", "generate:js:recommend": "yarn openapi-generator-cli generate --generator-key javascript-recommend && CLIENT=recommend yarn utils:import-js && CLIENT=clients/algoliasearch-client-javascript/recommend/ yarn lint:client:fix", - "generate:js:search": "yarn openapi-generator-cli generate --generator-key javascript-client-search && CLIENT=client-search yarn utils:import-js && CLIENT=clients/algoliasearch-client-javascript/client-search/ yarn lint:client:fix", + "generate:js:search": "yarn openapi-generator-cli generate --generator-key javascript-search && CLIENT=client-search yarn utils:import-js && CLIENT=clients/algoliasearch-client-javascript/client-search/ yarn lint:client:fix", "generate:js": "yarn generate:js:search && yarn generate:js:recommend", "generate:recommend": "yarn generate:js:recommend", "generate:search": "yarn generate:js:search", From 687f60d11ac1ed717271183c452c3ec7b0dd4c84 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Thu, 2 Dec 2021 16:10:36 +0100 Subject: [PATCH 13/13] review --- .gitignore | 2 ++ doc/CTS.md | 2 +- openapitools.json | 2 ++ templates/javascript/package.mustache | 4 +-- tests/generateCTS.ts | 35 +++++++++++++++------------ 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index ad91e1b5153..f7ada67b7f8 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ yarn-error.log **/dist **/.openapi-generator-ignore **/git_push.sh + +.vscode diff --git a/doc/CTS.md b/doc/CTS.md index af59cb0eda0..7abc99681e3 100644 --- a/doc/CTS.md +++ b/doc/CTS.md @@ -6,7 +6,7 @@ It is automaticaly generated for all languages, from a JSON entry point. ## How to run it ```bash -yarn cts:generate all +yarn cts:generate yarn cts:test ``` diff --git a/openapitools.json b/openapitools.json index 0a036caa38d..3bb3fa70d59 100644 --- a/openapitools.json +++ b/openapitools.json @@ -17,6 +17,7 @@ "modelPropertyNaming": "original", "supportsES6": true, "npmName": "@algolia/client-search", + "packageName": "@algolia/client-search", "npmVersion": "5.0.0" } }, @@ -35,6 +36,7 @@ "modelPropertyNaming": "original", "supportsES6": true, "npmName": "@algolia/recommend", + "packageName": "@algolia/recommend", "npmVersion": "5.0.0" } } diff --git a/templates/javascript/package.mustache b/templates/javascript/package.mustache index 9ab9e9c351b..44747fdc778 100644 --- a/templates/javascript/package.mustache +++ b/templates/javascript/package.mustache @@ -1,7 +1,7 @@ { - "name": "{{npmName}}", + "name": "{{packageName}}", "version": "{{npmVersion}}", - "description": "JavaScript client for {{npmName}}", + "description": "JavaScript client for {{packageName}}", "repository": "{{gitUserId}}/{{gitRepoId}}", "author": "Algolia", "private": true, diff --git a/tests/generateCTS.ts b/tests/generateCTS.ts index a795ed02294..de22b9180e0 100644 --- a/tests/generateCTS.ts +++ b/tests/generateCTS.ts @@ -25,7 +25,6 @@ type CTSBlock = { // Array of test per client type CTS = Record; -const packageNameMapping: Record = { javascript: 'npmName' }; const extensionForLanguage: Record = { javascript: '.test.ts', }; @@ -35,15 +34,18 @@ const cts: CTS = {}; // For each generator, we map the packageName with the language and client const packageNames: Record> = Object.entries( openapitools['generator-cli'].generators -).reduce((prev, curr) => { - const [lang, client] = curr[0].split('-') as [Language, string]; +).reduce((prev, [clientName, clientConfig]) => { const obj = prev; + const [lang, client] = clientName.split('-') as [Language, string]; + if (!(lang in prev)) { obj[lang] = {}; } - obj[lang][client] = curr[1].additionalProperties[packageNameMapping[lang]]; + + obj[lang][client] = clientConfig.additionalProperties.packageName; + return obj; -}, {}); +}, {} as Record>); async function createOutputDir(language: Language): Promise { await fsp.mkdir(`output/${language}`, { recursive: true }); @@ -81,6 +83,13 @@ async function loadCTSForClient(client: string): Promise { (await fsp.readFile(file.path)).toString() ); + // check test validity against spec + if (!operations.includes(operationId)) { + throw new Error( + `cannot find operationId ${operationId} for the ${client} client` + ); + } + // for now we stringify all params for mustache to render them properly for (const test of tests) { for (let i = 0; i < test.parameters.length; i++) { @@ -97,13 +106,6 @@ async function loadCTSForClient(client: string): Promise { // stringify request.data too test.request.data = JSON.stringify(test.request.data); } - - // check test validity against spec - if (!operations.includes(operationId)) { - throw new Error( - `cannot find operationId ${operationId} for the ${client} client` - ); - } ctsClient.push(...tests); } return ctsClient; @@ -156,9 +158,12 @@ async function parseCLI(args: string[]): Promise { if (args.length === 3 && args[2] === 'all') { toGenerate = [...availableLanguages]; } else { - const languages = args.slice(2).flatMap((l) => l.split(' ')) as Language[]; - if (!languages.every((lang) => availableLanguages.includes(lang))) { - console.log('unkown language: ', languages.join(', ')); + const languages = args[2].split(' ') as Language[]; + const unknownLanguages = languages.filter( + (lang) => !availableLanguages.includes(lang) + ); + if (unknownLanguages.length > 0) { + console.log('unkown language(s): ', unknownLanguages.join(', ')); printUsage(); } toGenerate = languages;