From 59839bf666c690ab0cfb57a23fa41bf5e7403780 Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Thu, 29 Sep 2022 11:45:50 +0800 Subject: [PATCH 01/11] Initial commit --- .dockerignore | 1 + .eslintrc.json | 16 +- Dockerfile | 2 +- bin/install.js | 181 - bin/install.ts | 200 + jest.config.js | 5 + lib/{constants.js => constants.ts} | 6 +- lib/dashboard.js | 74 - lib/dashboard.ts | 70 + lib/{help.js => help.ts} | 7 +- lib/index.js | 43 - lib/index.ts | 44 + lib/init.js | 49 - lib/init.ts | 43 + lib/install.js | 219 - lib/install.ts | 182 + lib/k8s.js | 575 - lib/k8s.ts | 624 + lib/models/argument.js | 60 - lib/models/argument.ts | 51 + lib/models/info.js | 159 - lib/models/info.ts | 178 + lib/models/{input.js => input.ts} | 24 +- lib/models/package.js | 564 - lib/models/package.ts | 519 + lib/models/parameter.js | 38 - lib/models/parameter.ts | 34 + lib/models/{resource.js => resource.ts} | 32 +- lib/models/template.js | 77 - lib/models/template.ts | 63 + lib/{s3.js => s3.ts} | 79 +- lib/{utils.js => utils.ts} | 53 +- package-lock.json | 10093 ++++++---------- package.json | 51 +- tests/{base.test.js => base.test.ts} | 5 +- .../mock-package/{index.js => index.ts} | 3 +- tests/test-utils.js | 15 - tests/test-utils.ts | 15 + tsconfig.json | 9 + yarn.lock | 5028 ++++++++ 40 files changed, 10928 insertions(+), 8563 deletions(-) delete mode 100755 bin/install.js create mode 100755 bin/install.ts create mode 100644 jest.config.js rename lib/{constants.js => constants.ts} (96%) delete mode 100644 lib/dashboard.js create mode 100644 lib/dashboard.ts rename lib/{help.js => help.ts} (82%) delete mode 100644 lib/index.js create mode 100644 lib/index.ts delete mode 100644 lib/init.js create mode 100644 lib/init.ts delete mode 100644 lib/install.js create mode 100644 lib/install.ts delete mode 100644 lib/k8s.js create mode 100644 lib/k8s.ts delete mode 100644 lib/models/argument.js create mode 100644 lib/models/argument.ts delete mode 100644 lib/models/info.js create mode 100644 lib/models/info.ts rename lib/models/{input.js => input.ts} (65%) delete mode 100644 lib/models/package.js create mode 100644 lib/models/package.ts delete mode 100644 lib/models/parameter.js create mode 100644 lib/models/parameter.ts rename lib/models/{resource.js => resource.ts} (55%) delete mode 100644 lib/models/template.js create mode 100644 lib/models/template.ts rename lib/{s3.js => s3.ts} (59%) rename lib/{utils.js => utils.ts} (50%) rename tests/{base.test.js => base.test.ts} (79%) rename tests/fixtures/mock-package/{index.js => index.ts} (51%) delete mode 100644 tests/test-utils.js create mode 100644 tests/test-utils.ts create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.dockerignore b/.dockerignore index 0935db6..dfa8ebb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,5 @@ node_modules .github +.git .idea .vscode \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index a862781..43fb1e9 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,6 +1,12 @@ { "parserOptions": { - "ecmaVersion": 2017 + "ecmaVersion": 2020, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true, + "modules": true, + "experimentalObjectRestSpread": true + } }, "env": { "es6": true, @@ -8,7 +14,13 @@ "jest/globals": true }, "plugins": ["jest"], - "extends": ["eslint:recommended", "plugin:jest/recommended", "prettier"], + "extends": [ + "eslint:recommended", + "plugin:jest/recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "prettier" + ], "rules": { "no-unused-vars": "warn" } diff --git a/Dockerfile b/Dockerfile index 1615a97..86fb39a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14-alpine +FROM node:16-alpine RUN mkdir /app diff --git a/bin/install.js b/bin/install.js deleted file mode 100755 index 6ba3aa9..0000000 --- a/bin/install.js +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/env node -const { install, installGlobal } = require("../lib/install.js"); -const { initHelp, installHelp } = require("../lib/help"); -const { uninstall, info, run, list } = require("../lib/index"); -const init = require("../lib/init").init; - -const yargs = require("yargs"); - -const { cyan, dim, bright } = require("ansicolor"); -const asTable = require("as-table").configure({ - title: (x) => bright(x), - delimiter: dim(cyan(" | ")), - dash: bright(cyan("-")), -}); - -yargs - .command({ - command: "install ", - aliases: ["i"], - desc: "Install a package. Package name can be of the format package@version", - builder: (yargs) => - yargs - .option("save", { - alias: "s", - type: "boolean", - description: "Save the package as a dependency in the current project.", - default: true, - }) - .option("force", { - alias: "f", - type: "boolean", - description: "Force install package ignoring version in cluster", - default: false, - }) - .option("global", { - alias: "g", - type: "boolean", - description: "Install the package globally", - default: false, - }) - .option("cron-string", { - alias: "cs", - type: "string", - description: "Cron String", - demandOption: false, - }) - .option("time-zone", { - alias: "tz", - type: "string", - description: "Time Zone", - demandOption: false, - default: Intl.DateTimeFormat().resolvedOptions().timeZone, - }), - handler: (argv) => { - var options = { - force: argv["f"], - cronString: argv["cs"], - timeZone: argv["tz"], - }; - if (argv.global) { - return installGlobal(argv.package, argv.registry, argv.namespace, argv.cluster, options).then( - (packageName) => { - const re = new RegExp("NAME", "g"); - console.log(installHelp.replace(re, packageName)); - } - ); - } - return install(argv.package, argv.registry, argv.namespace, argv.save, argv.cluster, options).then( - (packageName) => { - const re = new RegExp("NAME", "g"); - console.log(installHelp.replace(re, packageName)); - } - ); - }, - }) - .command({ - command: "info [template]", - desc: "Get info of the installed package or a specific template in the package", - handler: (argv) => { - info(argv.namespace, argv.package, argv.cluster) - .then((argoPackage) => { - if (argv.template) { - return argoPackage.templateInfo(argv.template); - } - return argoPackage.packageInfo(argv.namespace); - }) - .then((info) => { - console.log(info); - }); - }, - }) - .command({ - command: "run [template]", - desc: "Run the package or the package template. Pass in arguments using --", - builder: (yargs) => - yargs - .option("service-account-name", { - alias: "san", - type: "string", - description: "Service Account to run the workflow with.", - demandOption: false, - }) - .option("image-pull-secrets", { - alias: "ips", - type: "string", - description: "Image Pull secrets", - demandOption: false, - }), - handler: (argv) => { - run(argv.namespace, argv.package, argv.template, argv["san"], argv["ips"], argv.cluster).then((_) => { - console.log(`Package run successful`); - }); - }, - }) - .command({ - command: "uninstall ", - aliases: ["u", "r"], - desc: "Uninstall a package. Uninstalls all dependencies associated with the package.", - handler: (argv) => { - uninstall(argv.namespace, argv.package, argv.cluster).then((_) => { - console.log(`Successfully deleted package ${argv.package}`); - }); - }, - }) - .command({ - command: "init [package_name]", - desc: "Initializes an Argo package inside the current working directory", - builder: (yargs) => - yargs.option("force", { - alias: "f", - type: "boolean", - description: "Force the command", - default: true, - }), - handler: (argv) => { - init(argv.force, argv.package_name).then((packageName) => { - const re = new RegExp("NAME", "g"); - console.log(initHelp.replace(re, packageName)); - }); - }, - }) - .command({ - command: "list", - aliases: ["l"], - desc: "List all the packages installed in the namespace", - handler: (argv) => { - list(argv.namespace, argv.cluster).then((argoPackages) => { - if (argoPackages.length === 0) { - console.log("No packages found"); - return; - } - - let packageInfos = []; - argoPackages.forEach((argoPackage) => { - packageInfos.push(argoPackage.info); - }); - console.log(asTable(packageInfos)); - }); - }, - }) - .option("namespace", { - alias: "n", - type: "string", - description: "Kubernetes namespace. Packages will be installed in this namespace", - default: "argo", - }) - .option("registry", { - alias: "r", - type: "string", - description: "Argo Package Registry", - default: "https://packages.atlan.com", - }) - .option("cluster", { - alias: "c", - type: "boolean", - description: "Install the template at cluster level", - default: false, - }) - .demandCommand() - .wrap(144) - .help().argv; diff --git a/bin/install.ts b/bin/install.ts new file mode 100755 index 0000000..68e5535 --- /dev/null +++ b/bin/install.ts @@ -0,0 +1,200 @@ +#!/usr/bin/env node +import { install, installGlobal } from "../lib/install"; +import { initHelp, installHelp } from "../lib/help"; +import { uninstall, run } from "../lib/index"; +import { init } from "../lib/init"; +import { command as yargsCommand } from "yargs"; +import { cyan, dim, bright } from "ansicolor"; +import { Package } from "../lib/models/package"; +import asTableLib = require("as-table"); + +const asTable = asTableLib.configure({ + title: (x) => bright(x), + delimiter: dim(cyan(" | ")), + dash: bright(cyan("-")), +}); + +yargsCommand({ + command: "install ", + aliases: ["i"], + describe: "Install a package. Package name can be of the format package@version", + builder: (yargs) => + yargs + .option("save", { + alias: "s", + type: "boolean", + description: "Save the package as a dependency in the current project.", + default: true, + }) + .option("force", { + alias: "f", + type: "boolean", + description: "Force install package ignoring version in cluster", + default: false, + }) + .option("global", { + alias: "g", + type: "boolean", + description: "Install the package globally", + default: false, + }) + .option("cron-string", { + alias: "cs", + type: "string", + description: "Cron String", + demandOption: false, + }) + .option("time-zone", { + alias: "tz", + type: "string", + description: "Time Zone", + demandOption: false, + default: Intl.DateTimeFormat().resolvedOptions().timeZone, + }), + handler: async (argv) => { + let packageName; + const options = { + force: argv["f"], + cronString: argv["cs"], + timeZone: argv["tz"], + }; + if (argv.global) { + packageName = await installGlobal( + argv.package as string, + argv.registry as string, + argv.namespace as string, + argv.cluster as boolean, + options + ); + } else { + packageName = await install( + argv.package as string, + argv.registry as string, + argv.namespace as string, + argv.save, + argv.cluster as boolean, + options + ); + } + + const re = new RegExp("NAME", "g"); + if (packageName) { + console.log(installHelp.replace(re, packageName)); + } else { + console.error(`No packageName on ${installHelp}.`); + } + }, +}) + .command({ + command: "info [template]", + describe: "Get info of the installed package or a specific template in the package", + handler: (argv) => { + Package.info(argv.namespace as string, argv.package as string, argv.cluster as boolean) + .then((argoPackage: { templateInfo }) => { + if (argv.template) { + return argoPackage.templateInfo(argv.template); + } + return argoPackage.packageInfo(argv.namespace); + }) + .then((info: any) => { + console.log(info); + }); + }, + }) + .command({ + command: "run [template]", + describe: "Run the package or the package template. Pass in arguments using --", + builder: (yargs) => + yargs + .option("service-account-name", { + alias: "san", + type: "string", + description: "Service Account to run the workflow with.", + demandOption: false, + }) + .option("image-pull-secrets", { + alias: "ips", + type: "string", + description: "Image Pull secrets", + demandOption: false, + }), + handler: (argv) => { + run( + argv.namespace as string, + argv.package as string, + argv.template as string, + argv["san"] as string, + argv["ips"] as string, + argv.cluster as boolean + ).then((_: any) => { + console.log(`Package run successful`); + }); + }, + }) + .command({ + command: "uninstall ", + aliases: ["u", "r"], + describe: "Uninstall a package. Uninstalls all dependencies associated with the package.", + handler: (argv) => { + uninstall(argv.namespace as string, argv.package as string, argv.cluster as string).then((_: any) => { + console.log(`Successfully deleted package ${argv.package}`); + }); + }, + }) + .command({ + command: "init [package_name]", + describe: "Initializes an Argo package inside the current working directory", + builder: (yargs) => + yargs.option("force", { + alias: "f", + type: "boolean", + description: "Force the command", + default: true, + }), + handler: (argv) => { + init(argv.force, argv.package_name).then((packageName: string) => { + const re = new RegExp("NAME", "g"); + console.log(initHelp.replace(re, packageName)); + }); + }, + }) + .command({ + command: "list", + aliases: ["l"], + describe: "List all the packages installed in the namespace", + handler: (argv) => { + Package.list(argv.namespace as string, argv.cluster as boolean).then((argoPackages: any[]) => { + if (argoPackages.length === 0) { + console.log("No packages found"); + return; + } + + const packageInfos: any[] = []; + argoPackages.forEach(({ info }) => { + packageInfos.push(info); + }); + console.log(asTable(packageInfos)); + }); + }, + }) + .option("namespace", { + alias: "n", + type: "string", + description: "Kubernetes namespace. Packages will be installed in this namespace", + default: "argo", + }) + .option("registry", { + alias: "r", + type: "string", + description: "Argo Package Registry", + default: "https://packages.atlan.com", + }) + .option("cluster", { + alias: "c", + type: "boolean", + description: "Install the template at cluster level", + default: false, + }) + .demandCommand() + .wrap(144) + .help().argv; diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..b0b26c2 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: "ts-jest", + testEnvironment: "node", +}; diff --git a/lib/constants.js b/lib/constants.ts similarity index 96% rename from lib/constants.js rename to lib/constants.ts index 5f56133..6e07111 100644 --- a/lib/constants.js +++ b/lib/constants.ts @@ -1,6 +1,4 @@ -"use strict"; - -const constants = { +export const constants = { ARGOPM_LIBRARY_NAME_LABEL: "package.argoproj.io/name", ARGOPM_LIBRARY_VERSION_LABEL: "package.argoproj.io/version", ARGOPM_LIBRARY_PARENT_LABEL: "package.argoproj.io/parent", @@ -40,5 +38,3 @@ const constants = { ATLAN_DEFAULTS_CONFIGMAP_NAME: "atlan-defaults", ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE: "default", }; - -exports.constants = constants; diff --git a/lib/dashboard.js b/lib/dashboard.js deleted file mode 100644 index 710038a..0000000 --- a/lib/dashboard.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -const Promise = require("bluebird"); -const { Package } = require("./models/package"); -const axios = require("axios"); -const fs = require("fs"); -require("dotenv").config(); - -class DashboardInstaller { - /** - * Installs the dashboards for the package - * @param {Package} argoPackage - * @param {String} packagePath Argo package path - */ - constructor(argoPackage, packagePath) { - this.argoPackage = argoPackage; - this.packagePath = packagePath; - } - - install() { - return this.installGrafanaDashboards(); - } - - /** - * Install all grafana dashboards for the package - * @returns {Promise} - */ - installGrafanaDashboards() { - const GRAFANA_URL = process.env.GRAFANA_URL; - const GRAFANA_API_TOKEN = process.env.GRAFANA_API_TOKEN; - - if (!GRAFANA_URL || !GRAFANA_API_TOKEN) { - console.log(`Grafana URL or API token is not set. Skipping dashboard installation.`); - return Promise.resolve(); - } - - const dirPath = `${this.packagePath}/dashboards/grafana/`; - if (!fs.existsSync(dirPath)) { - return Promise.resolve(true); - } - - const headers = { - "Content-Type": "application/json", - Authorization: `Bearer ${GRAFANA_API_TOKEN}`, - }; - - return fs.readdirAsync(dirPath).then((files) => { - return Promise.map( - files, - (fileName) => { - if (!fileName || !fileName.endsWith(".json")) return Promise.resolve(false); - return fs.readFileAsync(dirPath + fileName, "utf8").then((data) => { - console.debug(`STARTING upload for ${fileName} - POST ${GRAFANA_URL}`); - return axios - .post(GRAFANA_URL, JSON.parse(data), { headers: headers }) - .then(() => { - console.debug(`DONE Uploading ${fileName} - POST ${GRAFANA_URL}`); - }) - .catch((err) => { - if (err.isAxiosError) { - const message = `FAILED Uploading ${fileName} - POST ${GRAFANA_URL}. HTTP Code: ${err.response.status}. ERROR: ${err.response.statusText}`; - console.error(message); - throw message; - } - throw err; - }); - }); - }, - { concurrency: 1 } - ); - }); - } -} - -exports.DashboardInstaller = DashboardInstaller; diff --git a/lib/dashboard.ts b/lib/dashboard.ts new file mode 100644 index 0000000..957d6e8 --- /dev/null +++ b/lib/dashboard.ts @@ -0,0 +1,70 @@ +import axios from "axios"; +import fs from "fs"; +import dotenv from "dotenv"; + +dotenv.config(); + +export class DashboardInstaller { + argoPackage: any; + packagePath: any; + + /** + * Installs the dashboards for the package + * @param {Package} argoPackage + * @param {String} packagePath Argo package path + */ + constructor(argoPackage: any, packagePath: any) { + this.argoPackage = argoPackage; + this.packagePath = packagePath; + } + + install() { + return this.installGrafanaDashboards(); + } + + /** + * Install all grafana dashboards for the package + * @returns + */ + async installGrafanaDashboards() { + const GRAFANA_URL = process.env.GRAFANA_URL; + const GRAFANA_API_TOKEN = process.env.GRAFANA_API_TOKEN; + + if (!GRAFANA_URL || !GRAFANA_API_TOKEN) { + console.log(`Grafana URL or API token is not set. Skipping dashboard installation.`); + return Promise.resolve(); + } + + const dirPath = `${this.packagePath}/dashboards/grafana/`; + if (!fs.existsSync(dirPath)) { + return Promise.resolve(true); + } + + const headers = { + "Content-Type": "application/json", + Authorization: `Bearer ${GRAFANA_API_TOKEN}`, + }; + + return await fs.readdir(dirPath, (files: any) => + files.map((fileName: string) => { + if (!fileName || !fileName.endsWith(".json")) return Promise.resolve(false); + return fs.readFile(dirPath + fileName, { encoding: "utf8" }, async (_err: any, data: string) => { + console.debug(`STARTING upload for ${fileName} - POST ${GRAFANA_URL}`); + try { + await axios.post(GRAFANA_URL, JSON.parse(data), { headers: headers }); + console.debug(`DONE Uploading ${fileName} - POST ${GRAFANA_URL}`); + } catch (err) { + if (err.isAxiosError) { + const message_1 = `FAILED Uploading ${fileName} - POST ${GRAFANA_URL}. HTTP Code: ${err.response.status}. ERROR: ${err.response.statusText}`; + console.error(message_1); + throw message_1; + } + throw err; + } + }); + }) + ); + } +} + +exports.DashboardInstaller = DashboardInstaller; diff --git a/lib/help.js b/lib/help.ts similarity index 82% rename from lib/help.js rename to lib/help.ts index cb82ca8..6d898d6 100644 --- a/lib/help.js +++ b/lib/help.ts @@ -1,12 +1,11 @@ -"use strict"; -const { yellow, blue, bright, cyan } = require("ansicolor"); +import { yellow, cyan } from "ansicolor"; -exports.initHelp = ` +export const initHelp = ` Package successfully initialised. Install the current package using ${cyan("argopm install .")} `; -exports.installHelp = ` +export const installHelp = ` Package successfully installed. - ${cyan("List all available packages:")} ${yellow("argopm list")} diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index 96a63e9..0000000 --- a/lib/index.js +++ /dev/null @@ -1,43 +0,0 @@ -// ./lib/index.js -const Package = require("./models/package").Package; -const utils = require("./utils"); - -exports.list = Package.list; -exports.info = Package.info; - -/** - * Delete a package - * @param {String} namespace - * @param {String} name - * @param {String} cluster - */ -exports.uninstall = function (namespace, name, cluster) { - return Package.info(namespace, name, cluster).then((argoPackage) => { - return argoPackage.delete(cluster, namespace); - }); -}; - -/** - * Run a package or package template - * @param {string} namespace - * @param {string} name - * @param {string} templateName - * @param {string} serviceAccountName - * @param {string} imagePullSecrets - * @param {Boolean} cluster - */ -exports.run = function (namespace, name, templateName, serviceAccountName, imagePullSecrets, cluster) { - const runArguments = utils.generateArguments(process.argv); - return Package.info(namespace, name, cluster).then((argoPackage) => { - if (templateName) - return argoPackage.runTemplate( - templateName, - runArguments, - serviceAccountName, - imagePullSecrets, - cluster, - namespace - ); - return argoPackage.run(runArguments, serviceAccountName, imagePullSecrets, cluster, namespace); - }); -}; diff --git a/lib/index.ts b/lib/index.ts new file mode 100644 index 0000000..44b6d69 --- /dev/null +++ b/lib/index.ts @@ -0,0 +1,44 @@ +import { Package } from "./models/package"; +import { generateArguments } from "./utils"; + +/** + * Delete a package + * @param {String} namespace + * @param {String} name + * @param {String} cluster + */ +export async function uninstall(namespace: string, name: string, cluster: string) { + const argoPackage = await Package.info(namespace, name, cluster); + return argoPackage.delete(cluster, namespace); +} + +/** + * Run a package or package template + * @param {string} namespace + * @param {string} name + * @param {string} templateName + * @param {string} serviceAccountName + * @param {string} imagePullSecrets + * @param {Boolean} cluster + */ +export async function run( + namespace: string, + name: string, + templateName: string, + serviceAccountName: string, + imagePullSecrets: string, + cluster: boolean +) { + const runArguments = generateArguments(process.argv); + const argoPackage = await Package.info(namespace, name, cluster); + if (templateName) + return argoPackage.runTemplate( + templateName, + runArguments, + serviceAccountName, + imagePullSecrets, + cluster, + namespace + ); + return argoPackage.run(runArguments, serviceAccountName, imagePullSecrets, cluster, namespace); +} diff --git a/lib/init.js b/lib/init.js deleted file mode 100644 index 5ca2c50..0000000 --- a/lib/init.js +++ /dev/null @@ -1,49 +0,0 @@ -const Promise = require("bluebird"); -const fs = Promise.promisifyAll(require("fs")); -const system = require("system-commands"); -const utils = require("./utils"); - -/** - * Init an Aro package inside the folder - * Steps: - * 1. Check if folder is empty - * 2. Package.json should not be present (unless force is set to true) - * 3. Copy the static folder in the current directory - * 4. Change name to the folder name - * @param {boolean} force - */ -exports.init = function (force, inputPackageName) { - // const dirPath = "/tmp/test-package"; - const dirPath = process.cwd(); - const pathComponents = dirPath.split("/"); - const packageName = inputPackageName != "." || pathComponents[pathComponents.length - 1]; - return fs - .readdirAsync(dirPath) - .then((files) => { - if (!force && (files.length !== 0 || files.includes("package.json"))) { - throw `Files already present in the ${__dirname}. Run this command again with --force to ignore`; - } - - const skeletonPackagePath = `${__dirname}/static/package`; - return system(`cp -r ${skeletonPackagePath}/ ${dirPath}`); - }) - .then((_) => { - return utils.walk(dirPath); - }) - .then((files) => { - return Promise.each(files, function (file) { - return replaceInFile(file, "NAME", packageName); - }); - }) - .then((_) => { - return packageName; - }); -}; - -function replaceInFile(filePath, searchText, replaceText) { - const re = new RegExp(searchText, "g"); - return fs.readFileAsync(filePath, "utf-8").then((data) => { - const result = data.replace(re, replaceText); - return fs.writeFileAsync(filePath, result, "utf8"); - }); -} diff --git a/lib/init.ts b/lib/init.ts new file mode 100644 index 0000000..8dc9d9a --- /dev/null +++ b/lib/init.ts @@ -0,0 +1,43 @@ +import { PathLike } from "node:fs"; +import { FileHandle, readdir, readFile, writeFile } from "node:fs/promises"; + +import system = require("system-commands"); +import { walk } from "./utils"; + +/** + * Init an Argo package inside the folder + * Steps: + * 1. Check if folder is empty + * 2. Package.json should not be present (unless force is set to true) + * 3. Copy the static folder in the current directory + * 4. Change name to the folder name + * @param {boolean} force + */ +export const init = async (force: boolean, inputPackageName: unknown) => { + // const dirPath = "/tmp/test-package"; + const dirPath = process.cwd(); + const pathComponents = dirPath.split("/"); + const packageName = inputPackageName != "." || pathComponents[pathComponents.length - 1]; + const files = await readdir(dirPath); + + if (!force && (files.length !== 0 || files.includes("package.json"))) { + throw `Files already present in the ${__dirname}. Run this command again with --force to ignore`; + } + + const skeletonPackagePath = `${__dirname}/static/package`; + await system(`cp -r ${skeletonPackagePath}/ ${dirPath}`); + await walk(dirPath); + files.forEach((file) => { + replaceInFile(file, "NAME", packageName); + }); + + return packageName; +}; + +function replaceInFile(filePath: PathLike | FileHandle, searchText: string | RegExp, replaceText: string) { + const re = new RegExp(searchText, "g"); + return readFile(filePath, "utf-8").then((data) => { + const result = data.replace(re, replaceText); + return writeFile(filePath, result, "utf8"); + }); +} diff --git a/lib/install.js b/lib/install.js deleted file mode 100644 index 2f2b1bd..0000000 --- a/lib/install.js +++ /dev/null @@ -1,219 +0,0 @@ -"use strict"; -const Promise = require("bluebird"); -const system = require("system-commands"); -const npa = require("npm-package-arg"); -const K8sInstaller = require("./k8s").K8sInstaller; -const S3 = require("./s3").S3; -const listDirs = require("./utils").listDirs; -const deleteDir = require("./utils").deleteDir; -const fs = require("fs"); -const { DashboardInstaller } = require("./dashboard"); -const { constants } = require("./constants"); - -/** - * Downloads the given package - * - * @param {String} prefixPath Directory to install - * @param {String} packageName Argo package name - * @param {String} registry Argo Package registry - * @param {String} saveParam Save parameter - */ -const npmInstall = function (prefixPath, packageName, registry, saveParam) { - if (packageName === ".") { - return system(`NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`); - } - return system(`NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force`); -}; - -/** - * Install a global package - * - * @param {string} packageName - * @param {string} registry - * @param {string} namespace - * @param {boolean} cluster - */ -const installGlobal = function (packageName, registry, namespace, cluster, options) { - let dirPath = `/tmp/argopm/${packageName}`; - dirPath = dirPath.split("@").slice(0, -1).join("@"); - let mainPackageName = packageName; - return install(packageName, registry, namespace, false, cluster, options, dirPath) - .then((name) => { - mainPackageName = name; - return deleteDir(dirPath); - }) - .then((_) => { - return mainPackageName; - }); -}; - -exports.installGlobal = installGlobal; - -/** - * Get Package name from path - * @param path - * @returns {string} - */ -const packageNameFromPath = function (path) { - const packageJSONFilePath = `${path}/package.json`; - const packageObject = JSON.parse(fs.readFileSync(packageJSONFilePath, "utf-8")); - return `${packageObject.name}@${packageObject.version}`; -}; - -/** - * Install a package - * - * @param {string} packageName - * @param {string} registry - * @param {string} namespace - * @param {boolean} save - * @param {boolean} cluster - * @param {string} dirPath - */ -const install = function (packageName, registry, namespace, save, cluster, options, dirPath = process.cwd()) { - // dirPath = "/Users/amit/Documents/marketplace-packages/atlan-atlas"; - let npmSaveParam = "--no-save"; - if (save) { - npmSaveParam = "--save"; - } - - const packageJSONFilePath = `${dirPath}/package.json`; - if (packageName === "." && save) { - if (!fs.existsSync(packageJSONFilePath)) { - return new Promise(function (_, reject) { - reject(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`); - }); - } - } - - let parentPackageName = packageName; - return npmInstall(dirPath, packageName, registry, npmSaveParam) - .then((_) => { - const nodeModulesPath = `${dirPath}/node_modules`; - - if (!fs.existsSync(nodeModulesPath)) { - return []; - } - - if (packageName !== ".") { - const cleanedPackageParts = packageName.split("@"); - let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); - if (cleanedPackageName == "") { - cleanedPackageName = packageName; - } - - parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); - } else { - parentPackageName = packageNameFromPath(`${dirPath}`); - registry = "local"; - } - console.log(`Installing parent package ${parentPackageName}`); - return listDirs(nodeModulesPath); - }) - .then((dirs) => { - dirs = dirs.filter((dir) => dir != undefined); - return Promise.each(dirs, function (dir) { - if (dir.split("/").slice(-1)[0].startsWith("@")) { - return listDirs(dir).then((innerDirs) => { - return Promise.each(innerDirs, function (innerDir) { - // Upload Static Files - const s3Uploader = new S3( - constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, - constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(innerDir)) - ); - - // Install Template on Argo - const k8sInstaller = new K8sInstaller( - innerDir, - namespace, - parentPackageName, - registry, - options - ); - - // Install Dashboards - const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, innerDir); - - return k8sInstaller - .install(cluster) - .then((_) => { - return dashboardInstaller.install(); - }) - .then(() => { - return s3Uploader - .initialize() - .then((_) => { - return s3Uploader.uploadStaticFiles(innerDir); - }) - .catch(console.error); - }); - }); - }); - } - - // Upload Static Files - const s3Uploader = new S3( - constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, - constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(dir)) - ); - - // Install Template on Argo - const k8sInstaller = new K8sInstaller(dir, namespace, parentPackageName, registry, options); - - // Install Dashboards - const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dir); - - return k8sInstaller - .install(cluster) - .then((_) => { - return dashboardInstaller.install(); - }) - .then(() => { - return s3Uploader - .initialize() - .then((_) => { - return s3Uploader.uploadStaticFiles(dir); - }) - .catch(console.error); - }); - }); - }) - .then((_) => { - // Install the current package - if (packageName !== ".") { - return Promise.resolve(); - } - - const s3Uploader = new S3( - constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, - constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(dirPath)) - ); - - const k8sInstaller = new K8sInstaller(dirPath, namespace, parentPackageName, "local", options); - const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dirPath); - - return k8sInstaller - .install(cluster) - .then((_) => { - return dashboardInstaller.install(); - }) - .then(() => { - return s3Uploader - .initialize() - .then((_) => { - return s3Uploader.uploadStaticFiles(dirPath); - }) - .catch(console.error); - }); - }) - .then((_) => { - const parsedPackage = npa(parentPackageName); - return parsedPackage.name; - }); -}; - -exports.install = install; -exports.installGlobal = installGlobal; diff --git a/lib/install.ts b/lib/install.ts new file mode 100644 index 0000000..dce6ebc --- /dev/null +++ b/lib/install.ts @@ -0,0 +1,182 @@ +import { K8sInstaller } from "./k8s"; +import { S3 } from "./s3"; +import { listDirs, deleteDir } from "./utils"; +import { readFileSync, existsSync } from "fs"; +import { DashboardInstaller } from "./dashboard"; +import { constants } from "./constants"; + +import system = require("system-commands"); +import npa = require("npm-package-arg"); + +/** + * Downloads the given package + * + * @param {String} prefixPath Directory to install + * @param {String} packageName Argo package name + * @param {String} registry Argo Package registry + * @param {String} saveParam Save parameter + */ +const npmInstall = function (prefixPath: string, packageName: string, registry: string, saveParam: string) { + if (packageName === ".") { + return system(`NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`); + } + return system(`NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force`); +}; + +/** + * Install a global package + * + * @param {string} packageName + * @param {string} registry + * @param {string} namespace + * @param {boolean} cluster + */ +export const installGlobal = async function ( + packageName: string, + registry: string, + namespace: string, + cluster: boolean, + options +) { + let dirPath = `/tmp/argopm/${packageName}`; + dirPath = dirPath.split("@").slice(0, -1).join("@"); + let mainPackageName: string | null | undefined = packageName; + mainPackageName = await install(packageName, registry, namespace, false, cluster, options, dirPath); + deleteDir(dirPath); + return mainPackageName; +}; + +/** + * Get Package name from path + * @param path + * @returns {string} + */ +const packageNameFromPath = function (path): string { + const packageJSONFilePath = `${path}/package.json`; + const packageObject = JSON.parse(readFileSync(packageJSONFilePath, "utf-8")); + return `${packageObject.name}@${packageObject.version}`; +}; + +const processInstallers = ( + dir: string, + cluster: boolean, + namespace: string, + parentPackageName: string, + registry: string, + options: any +) => { + // Upload Static Files + const s3Uploader = new S3( + constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, + constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, + npa(packageNameFromPath(dir)) + ); + + // Install Template on Argo + const k8sInstaller = new K8sInstaller(dir, namespace, parentPackageName, registry, options); + + // Install Dashboards + const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dir); + + k8sInstaller.install(cluster); + dashboardInstaller.install(); + s3Uploader.initialize(); + s3Uploader.uploadStaticFiles(dir); +}; + +/** + * Install a package + * + * @param {string} packageName + * @param {string} registry + * @param {string} namespace + * @param {boolean} save + * @param {boolean} cluster + * @param {string} dirPath + */ +export const install = async function ( + packageName: string, + registry: string, + namespace: string, + save: boolean, + cluster: boolean, + options, + dirPath: string = process.cwd() +) { + // dirPath = "/Users/amit/Documents/marketplace-packages/atlan-atlas"; + let npmSaveParam = "--no-save"; + if (save) { + npmSaveParam = "--save"; + } + + const packageJSONFilePath = `${dirPath}/package.json`; + if (packageName === "." && save) { + if (!existsSync(packageJSONFilePath)) { + throw new Error(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`); + } + } + + let parentPackageName = packageName; + npmInstall(dirPath, packageName, registry, npmSaveParam); + const nodeModulesPath = `${dirPath}/node_modules`; + + let dirs: (string | undefined)[] = []; + if (!existsSync(nodeModulesPath)) { + return; + } + + if (packageName !== ".") { + const cleanedPackageParts = packageName.split("@"); + let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); + if (cleanedPackageName == "") { + cleanedPackageName = packageName; + } + + parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); + } else { + parentPackageName = packageNameFromPath(`${dirPath}`); + registry = "local"; + } + + console.log(`Installing parent package ${parentPackageName}`); + dirs = (await listDirs(nodeModulesPath)).filter((dir) => dir !== undefined); + dirs.forEach(async (dir) => { + if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { + const innerDirs = await listDirs(dir); + innerDirs.forEach((innerDir) => { + if (innerDir) { + processInstallers(innerDir, cluster, namespace, parentPackageName, registry, options); + } + }); + } else { + if (dir) { + processInstallers(dir, cluster, namespace, parentPackageName, registry, options); + } + } + }); + + if (packageName !== ".") { + return; + } + + const s3Uploader = new S3( + constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, + constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, + npa(packageNameFromPath(dirPath)) + ); + + const k8sInstaller = new K8sInstaller(dirPath, namespace, parentPackageName, "local", options); + const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dirPath); + + try { + k8sInstaller.install(cluster); + dashboardInstaller.install(); + s3Uploader.initialize(); + s3Uploader.uploadStaticFiles(dirPath); + } catch (err) { + console.error(err); + } + + const parsedPackage = npa(parentPackageName); + return parsedPackage.name; +}; diff --git a/lib/k8s.js b/lib/k8s.js deleted file mode 100644 index 73a7b13..0000000 --- a/lib/k8s.js +++ /dev/null @@ -1,575 +0,0 @@ -// ./lib/k8s.js -const constants = require("./constants").constants; -const Promise = require("bluebird"); -const fs = Promise.promisifyAll(require("fs")); -const yaml = require("js-yaml"); -const PackageInfo = require("./models/info").PackageInfo; -const Resource = require("./models/resource"); -const k8s = require("@kubernetes/client-node"); -const kc = new k8s.KubeConfig(); -kc.loadFromDefault(); - -const customK8sApi = kc.makeApiClient(k8s.CustomObjectsApi); -const coreK8sApi = kc.makeApiClient(k8s.CoreV1Api); - -/** - * - * @param {string} name - * @returns {Resource} - */ -function getResourceByName(resources, name) { - //TODO: Possible bottleneck if packages grow. - for (const resource of resources) { - if (resource.metadata.name === name) { - return new Resource(resource); - } - } -} - -/** - * - * @param {Resource} resource - * @param {string} name - * @param {string} kind - * @param {string} newVersion - * @param {boolean} forceUpdate - * @returns {{shouldUpdate: boolean, msgPrefix: string}} - */ -function checkExistingResource(resource, name, kind, newVersion, forceUpdate) { - const needsUpdate = resource.needsUpdate(newVersion); - - const msgPrefix = `${name} ${kind} already present in the cluster.`; - const shouldUpdate = needsUpdate || forceUpdate; - - if (!shouldUpdate) { - if (resource.isNewer(newVersion)) { - console.debug(`${msgPrefix} v${resource.version} installed is newer than v${newVersion}. Skipping update.`); - } else { - console.debug(`${msgPrefix} v${resource.version} is already latest version. Skipping update.`); - } - } - - return { shouldUpdate, msgPrefix }; -} - -class K8sInstaller { - /** - * Installs the given package to Argo K8s deployment - * - * @param {String} packagePath Argo package path - * @param {String} namespace Namespace to install the package in - * @param {String} parentPackage Parent package of the format @ - * @param {String} registry Package registry - * @param {Object} options - */ - constructor(packagePath, namespace, parentPackage, registry, options) { - this.packagePath = packagePath; - this.namespace = namespace; - this.forceUpdate = options.force; - this.parentPackage = parentPackage; - this.registry = registry; - this.package = JSON.parse(fs.readFileSync(`${this.packagePath}/package.json`, "utf-8")); - this.cronString = options.cronString; - this.timeZone = options.timeZone; - } - - /** - * Installs the given package to Argo K8s deployment - * @param {boolean} cluster - */ - install(cluster) { - console.log(`Installing package ${this.package.name}@${this.package.version}`); - return this.installConfigs() - .then((_) => { - return this.installSecrets(); - }) - .then((_) => { - return this.installPipelines(); - }) - .then((_) => { - return this.installTemplates(cluster); - }) - .then((_) => { - return this.installCronWorkflows(cluster); - }); - } - - /** - * Installs the config maps - */ - installConfigs() { - const dirPath = `${this.packagePath}/configmaps/`; - return this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", K8sInstaller.upsertConfigMap); - } - - /** - * Installs secrets - */ - installSecrets() { - const dirPath = `${this.packagePath}/secrets/`; - return this.installYamlInPath(dirPath, false, constants.SECERT_KIND, "", K8sInstaller.upsertSecret); - } - - /** - * Installs cron workflows - * @param {boolean} cluster - determines whether the templateRef is from the cluster scope or a namespace - */ - installCronWorkflows(cluster) { - const dirPath = `${this.packagePath}/cronworkflows/`; - return this.installYamlInPath( - dirPath, - cluster, - constants.ARGO_CRON_WORKFLOW_KIND, - constants.ARGO_K8S_API_GROUP, - K8sInstaller.upsertTemplate - ); - } - - /** - * Installs data pipelines - */ - installPipelines() { - const dirPath = `${this.packagePath}/pipelines/`; - return this.installYamlInPath( - dirPath, - false, - constants.ARGO_DATAFLOW_KIND, - constants.ARGO_DATAFLOW_K8S_API_GROUP, - K8sInstaller.upsertTemplate - ); - } - - /** - * Installs the templates - * @param {boolean} cluster Determines if ClusterWorkflowTemplates or WorkflowTemplates are installed - */ - installTemplates(cluster) { - const dirPath = `${this.packagePath}/templates/`; - var kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; - if (cluster) { - kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; - } - return this.installYamlInPath( - dirPath, - cluster, - kind, - constants.ARGO_K8S_API_GROUP, - K8sInstaller.upsertTemplate - ); - } - - /** - * Install all YAML files in path - * @param {String} dirPath - * @param {boolean} cluster - * @param {string} kind - * @param {string} group - * @param {Function} fn - */ - installYamlInPath(dirPath, cluster, kind, group, fn) { - if (!fs.existsSync(dirPath)) { - return Promise.resolve(false); - } - - const mainThis = this; - return fs.readdirAsync(dirPath).then((files) => { - files = files.filter((file) => file.endsWith(".yaml") || file.endsWith(".yml")); - return Promise.each(files, function (file) { - const filePath = `${dirPath}${file}`; - return fs - .readFileAsync(filePath, "utf8") - .then((data) => { - return yaml.load(data); - }) - .then((yamlData) => { - if (!yamlData) return; - const fileName = file.substring(0, file.lastIndexOf(".")); - const folder = dirPath - .split("/") - .filter(function (el) { - return el.trim().length > 0; - }) - .pop(); - - const apmYAML = mainThis.addAPMLabels(yamlData, folder, fileName); - return fn( - mainThis.package.name, - mainThis.namespace, - kind, - group, - apmYAML, - cluster, - mainThis.forceUpdate - ); - }); - }); - }); - } - - /** - * Installs the given package to Argo K8s deployment - * @param {Object} yamlObject YAML object - */ - addAPMLabels(yamlObject, folder, fileName) { - let metadata = yamlObject.metadata; - if (!metadata.name) { - metadata.name = this.package.name.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); - if (folder && fileName) { - metadata.name = `${metadata.name}-${folder}-${fileName}`; - } - } - - if (metadata.labels === undefined) { - metadata.labels = {}; - } - if (metadata.annotations === undefined) { - metadata.annotations = {}; - } - - const argoPMLabels = PackageInfo.createK8sLabelsForPackage(this.package, this.parentPackage, this.registry); - Object.keys(argoPMLabels).forEach(function (key) { - metadata.labels[key] = argoPMLabels[key]; - }); - - const argoPMAnnotations = PackageInfo.createK8sAnnotationsForPackage( - this.package, - this.parentPackage, - this.registry - ); - Object.keys(argoPMAnnotations).forEach(function (key) { - metadata.annotations[key] = argoPMAnnotations[key]; - }); - - yamlObject.metadata = metadata; - return yamlObject; - } -} - -/** - * Insert or update configmaps - * @param {string} packageName - * @param {string} namespace - * @param {string} kind - * @param {string} group - * @param {object} yamlObject - * @param {boolean} cluster - * @param {boolean} forceUpdate - * @returns {Promise} - */ -K8sInstaller.upsertConfigMap = function (packageName, namespace, kind, group, yamlObject, cluster, forceUpdate) { - const name = yamlObject.metadata.name; - return coreK8sApi - .listNamespacedConfigMap(namespace, null, null, null, null, PackageInfo.getPackageLabel(packageName)) - .then((response) => { - const name = yamlObject.metadata.name; - const items = response.body.items; - const resource = getResourceByName(items, name); - const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; - const isPresent = Boolean(resource); - - if (isPresent) { - const { shouldUpdate, msgPrefix } = checkExistingResource( - resource, - name, - kind, - newVersion, - forceUpdate - ); - if (!shouldUpdate) return Promise.resolve(null); - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return coreK8sApi.patchNamespacedConfigMap( - name, - namespace, - yamlObject, - undefined, - undefined, - undefined, - undefined, - { - headers: { "content-type": "application/strategic-merge-patch+json" }, - } - ); - } - console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); - return coreK8sApi.createNamespacedConfigMap(namespace, yamlObject); - }); -}; - -/** - * Insert or update secret - * @param {string} packageName - * @param {string} namespace - * @param {string} kind - * @param {string} group - * @param {object} yamlObject - * @param {boolean} cluster - * @param {boolean} forceUpdate - * @returns {Promise} - */ -K8sInstaller.upsertSecret = function (packageName, namespace, kind, group, yamlObject, cluster, forceUpdate) { - return coreK8sApi - .listNamespacedSecret(namespace, null, null, null, null, PackageInfo.getPackageLabel(packageName)) - .then((response) => { - const name = yamlObject.metadata.name; - const items = response.body.items; - const resource = getResourceByName(items, name); - const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; - const isPresent = Boolean(resource); - - if (isPresent) { - const { shouldUpdate, msgPrefix } = checkExistingResource( - resource, - name, - kind, - newVersion, - forceUpdate - ); - if (!shouldUpdate) return Promise.resolve(null); - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return coreK8sApi.patchNamespacedSecret( - name, - namespace, - yamlObject, - undefined, - undefined, - undefined, - undefined, - { - headers: { "content-type": "application/strategic-merge-patch+json" }, - } - ); - } - console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); - return coreK8sApi.createNamespacedSecret(namespace, yamlObject); - }); -}; - -/** - * Insert or update the template - * @param {string} packageName - * @param {string} namespace - * @param {string} kind - * @param {string} group - * @param {object} yamlObject - * @param {boolean} cluster - * @param {boolean} forceUpdate - */ -K8sInstaller.upsertTemplate = function (packageName, namespace, kind, group, yamlObject, cluster, forceUpdate) { - let plural = `${kind.toLowerCase()}s`; - - if (!cluster) { - return customK8sApi - .listNamespacedCustomObject( - group, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - null, - null, - null, - null, - PackageInfo.getPackageLabel(packageName) - ) - .then((response) => { - return K8sInstaller.handleUpsertWithTemplateResponse( - response, - namespace, - plural, - yamlObject, - cluster, - group, - forceUpdate - ); - }); - } - return customK8sApi - .listClusterCustomObject( - group, - constants.ARGO_K8S_API_VERSION, - plural, - null, - null, - null, - null, - PackageInfo.getPackageLabel(packageName) - ) - .then((response) => { - yamlObject["kind"] = kind; - let clusterInstall = true; - - // Override the workflowTemplateRef clusterScope variable - if (kind == constants.ARGO_CRON_WORKFLOW_KIND) { - yamlObject["spec"]["workflowSpec"]["workflowTemplateRef"]["clusterScope"] = true; - // cron workflows have no concept of clusterInstall - clusterInstall = false; - } else { - const templates = yamlObject["spec"]["templates"]; - if (templates) { - templates.forEach((template) => { - if (template["dag"]) { - const tasks = template["dag"]["tasks"]; - tasks.forEach((task) => { - if (task["templateRef"]) { - task["templateRef"]["clusterScope"] = true; - } - }); - } - }); - } - } - return K8sInstaller.handleUpsertWithTemplateResponse( - response, - namespace, - plural, - yamlObject, - clusterInstall, - group, - forceUpdate - ); - }); -}; - -/** - * - * @param {Object} response - * @param {string} namespace - * @param {string} plural - * @param {Object} yamlObject - * @param {string} cluster - * @param {string} apiGroup - * @param {boolean} forceUpdate - * @returns {Promise} - */ -K8sInstaller.handleUpsertWithTemplateResponse = function ( - response, - namespace, - plural, - yamlObject, - cluster, - apiGroup, - forceUpdate -) { - const name = yamlObject.metadata.name; - const items = response.body.items; - const resource = getResourceByName(items, name); - const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; - const isPresent = Boolean(resource); - - if (isPresent) { - const { shouldUpdate, msgPrefix } = checkExistingResource( - resource, - name, - yamlObject.kind, - newVersion, - forceUpdate - ); - if (!shouldUpdate) return Promise.resolve(null); - if (resource.updateStrategyIsRecreate()) { - console.debug(`${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}`); - return K8sInstaller.recreateCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); - } - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); - } - - console.debug(`${name} ${yamlObject.kind} not present in the cluster. Installing v${newVersion}`); - return K8sInstaller.createCustomResource(namespace, plural, yamlObject, cluster, apiGroup); -}; - -/** - * - * @param {string} namespace - * @param {string} plural - * @param {Object} yamlObject - * @param {boolean} cluster - * @param {string} apiGroup - * @returns {Promise} k8s response - */ -K8sInstaller.createCustomResource = function (namespace, plural, yamlObject, cluster, apiGroup) { - if (cluster) { - return customK8sApi.createClusterCustomObject(apiGroup, constants.ARGO_K8S_API_VERSION, plural, yamlObject); - } - return customK8sApi.createNamespacedCustomObject( - apiGroup, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - yamlObject - ); -}; - -/** - * - * @param {string} name - * @param {string} namespace - * @param {string} plural - * @param {Object} yamlObject - * @param {boolean} cluster - * @param {string} apiGroup - * @returns {Promise} k8s response - */ -K8sInstaller.patchCustomResource = function (name, namespace, plural, yamlObject, cluster, apiGroup) { - if (cluster) { - return customK8sApi.patchClusterCustomObject( - apiGroup, - constants.ARGO_K8S_API_VERSION, - plural, - name, - yamlObject, - undefined, - undefined, - undefined, - { headers: { "content-type": "application/merge-patch+json" } } - ); - } - return customK8sApi.patchNamespacedCustomObject( - apiGroup, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - name, - yamlObject, - undefined, - undefined, - undefined, - { headers: { "content-type": "application/merge-patch+json" } } - ); -}; - -/** - * - * @param {string} name - * @param {string} namespace - * @param {string} plural - * @param {Object} yamlObject - * @param {boolean} cluster - * @param {string} apiGroup - * @returns {Promise} k8s response - */ -K8sInstaller.recreateCustomResource = function (name, namespace, plural, yamlObject, cluster, apiGroup) { - if (cluster) { - return customK8sApi - .deleteClusterCustomObject(constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, plural, name) - .then((_) => { - return customK8sApi.createClusterCustomObject( - apiGroup, - constants.ARGO_K8S_API_VERSION, - plural, - yamlObject - ); - }); - } - return customK8sApi - .deleteNamespacedCustomObject(apiGroup, constants.ARGO_K8S_API_VERSION, namespace, plural, name) - .then((_) => { - return customK8sApi.createNamespacedCustomObject( - apiGroup, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - yamlObject - ); - }); -}; - -exports.K8sInstaller = K8sInstaller; diff --git a/lib/k8s.ts b/lib/k8s.ts new file mode 100644 index 0000000..36b6f29 --- /dev/null +++ b/lib/k8s.ts @@ -0,0 +1,624 @@ +// ./lib/js +import { constants } from "./constants"; +import { readdir, readFile } from "node:fs/promises"; +import { readFileSync, existsSync } from "node:fs"; +import { load } from "js-yaml"; +import { PackageInfo } from "./models/info"; +import { Resource } from "./models/resource"; +import { CoreV1Api, CustomObjectsApi, KubeConfig } from "@kubernetes/client-node"; + +const kc = new KubeConfig(); +kc.loadFromDefault(); + +const customK8sApi = kc.makeApiClient(CustomObjectsApi); +const coreK8sApi = kc.makeApiClient(CoreV1Api); + +export type GenericK8sSpecType = { + apiVersion?: string; + kind?: string; + metadata?: any; + spec?: any; +}; + +/** + * + * @param {string} name + * @returns + */ +function getResourceByName(resources: GenericK8sSpecType[], name: any) { + //TODO: Possible bottleneck if packages grow. + return new Resource(resources.find(({ metadata }) => metadata.name === name)); +} + +/** + * + * @param {Resource} resource + * @param {string} name + * @param {string} kind + * @param {string} newVersion + * @param {boolean} forceUpdate + * @returns {{shouldUpdate: boolean, msgPrefix: string}} + */ +function checkExistingResource(resource: Resource, name: any, kind: any, newVersion: any, forceUpdate: any) { + const needsUpdate = resource.needsUpdate(newVersion); + + const msgPrefix = `${name} ${kind} already present in the cluster.`; + const shouldUpdate = needsUpdate || forceUpdate; + + if (!shouldUpdate) { + if (resource.isNewer(newVersion)) { + console.debug(`${msgPrefix} v${resource.version} installed is newer than v${newVersion}. Skipping update.`); + } else { + console.debug(`${msgPrefix} v${resource.version} is already latest version. Skipping update.`); + } + } + + return { shouldUpdate, msgPrefix }; +} + +export class K8sInstaller { + packagePath: any; + namespace: any; + forceUpdate: any; + parentPackage: any; + registry: any; + package: any; + cronString: any; + timeZone: any; + + /** + * Installs the given package to Argo K8s deployment + * + * @param {String} packagePath Argo package path + * @param {String} namespace Namespace to install the package in + * @param {String} parentPackage Parent package of the format @ + * @param {String} registry Package registry + * @param {Object} options + */ + constructor( + packagePath: unknown, + namespace: any, + parentPackage: any, + registry: string, + options: { force: any; cronString: any; timeZone: any } + ) { + this.packagePath = packagePath; + this.namespace = namespace; + this.forceUpdate = options.force; + this.parentPackage = parentPackage; + this.registry = registry; + this.package = JSON.parse(readFileSync(`${this.packagePath}/package.json`, "utf-8")); + this.cronString = options.cronString; + this.timeZone = options.timeZone; + } + + /** + * Installs the given package to Argo K8s deployment + * @param {boolean} cluster + */ + async install(cluster: any) { + console.log(`Installing package ${this.package.name}@${this.package.version}`); + await this.installConfigs(); + await this.installSecrets(); + await this.installPipelines(); + await this.installTemplates(cluster); + await this.installCronWorkflows(cluster); + } + + /** + * Installs the config maps + */ + installConfigs() { + const dirPath = `${this.packagePath}/configmaps/`; + return this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", K8sInstaller.upsertConfigMap); + } + + /** + * Installs secrets + */ + installSecrets() { + const dirPath = `${this.packagePath}/secrets/`; + return this.installYamlInPath(dirPath, false, constants.SECERT_KIND, "", K8sInstaller.upsertSecret); + } + + /** + * Installs cron workflows + * @param {boolean} cluster - determines whether the templateRef is from the cluster scope or a namespace + */ + installCronWorkflows(cluster: any) { + const dirPath = `${this.packagePath}/cronworkflows/`; + return this.installYamlInPath( + dirPath, + cluster, + constants.ARGO_CRON_WORKFLOW_KIND, + constants.ARGO_K8S_API_GROUP, + K8sInstaller.upsertTemplate + ); + } + + /** + * Installs data pipelines + */ + installPipelines() { + const dirPath = `${this.packagePath}/pipelines/`; + return this.installYamlInPath( + dirPath, + false, + constants.ARGO_DATAFLOW_KIND, + constants.ARGO_DATAFLOW_K8S_API_GROUP, + K8sInstaller.upsertTemplate + ); + } + + /** + * Installs the templates + * @param {boolean} cluster Determines if ClusterWorkflowTemplates or WorkflowTemplates are installed + */ + installTemplates(cluster: any) { + const dirPath = `${this.packagePath}/templates/`; + let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; + if (cluster) { + kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; + } + return this.installYamlInPath( + dirPath, + cluster, + kind, + constants.ARGO_K8S_API_GROUP, + K8sInstaller.upsertTemplate + ); + } + + /** + * Install all YAML files in path + * @param {String} dirPath + * @param {boolean} cluster + * @param {string} kind + * @param {string} group + * @param {Function} fn + */ + async installYamlInPath(dirPath: string, cluster: boolean, kind: string, group: string, fn) { + if (!existsSync(dirPath)) { + return Promise.resolve(false); + } + + const files = (await readdir(dirPath)).filter( + (file: string) => file.endsWith(".yaml") || file.endsWith(".yml") + ); + files.forEach(async function (file) { + const filePath = `${dirPath}${file}`; + const data = await readFile(filePath, "utf8"); + const yamlData = load(data) as GenericK8sSpecType; + if (!yamlData) { + return; + } + + const fileName = file.substring(0, file.lastIndexOf(".")); + const folder = dirPath + .split("/") + .filter((el: string) => el.trim().length > 0) + .pop(); + + const apmYAML = this.addAPMLabels(yamlData, folder, fileName); + return fn(this.package.name, this.namespace, kind, group, apmYAML, cluster, this.forceUpdate); + }); + } + + /** + * Installs the given package to Argo K8s deployment + * @param {Object} yamlObject YAML object + */ + addAPMLabels(yamlObject: GenericK8sSpecType, folder: any, fileName: any) { + const metadata = yamlObject.metadata; + if (!metadata.name) { + metadata.name = this.package.name.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); + if (folder && fileName) { + metadata.name = `${metadata.name}-${folder}-${fileName}`; + } + } + + if (metadata.labels === undefined) { + metadata.labels = {}; + } + if (metadata.annotations === undefined) { + metadata.annotations = {}; + } + + const argoPMLabels = PackageInfo.createK8sLabelsForPackage(this.package, this.parentPackage, this.registry); + Object.keys(argoPMLabels).forEach(function (key) { + metadata.labels[key] = argoPMLabels[key]; + }); + + const argoPMAnnotations = PackageInfo.createK8sAnnotationsForPackage( + this.package, + this.parentPackage, + this.registry + ); + Object.keys(argoPMAnnotations).forEach(function (key) { + metadata.annotations[key] = argoPMAnnotations[key]; + }); + + yamlObject.metadata = metadata; + return yamlObject; + } + + /** + * Insert or update configmaps + * @param {string} packageName + * @param {string} namespace + * @param {string} kind + * @param {string} group + * @param {object} yamlObject + * @param {boolean} cluster + * @param {boolean} forceUpdate + * @returns {Promise} + */ + static async upsertConfigMap( + packageName: any, + namespace: string, + kind: any, + group: any, + yamlObject: GenericK8sSpecType, + cluster: any, + forceUpdate: any + ) { + const response = await coreK8sApi.listNamespacedConfigMap( + namespace, + undefined, + undefined, + undefined, + undefined, + PackageInfo.getPackageLabel(packageName) + ); + const name = yamlObject.metadata.name; + const items = response.body.items; + const resource = getResourceByName(items, name); + const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; + const isPresent = Boolean(resource); + + if (isPresent) { + const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate); + + if (!shouldUpdate) { + return; + } + + console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); + return await coreK8sApi.patchNamespacedConfigMap( + name, + namespace, + yamlObject, + undefined, + undefined, + undefined, + undefined, + undefined, + { + headers: { "content-type": "application/strategic-merge-patch+json" }, + } + ); + } + console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); + return await coreK8sApi.createNamespacedConfigMap(namespace, yamlObject); + } + + /** + * Insert or update secret + * @param {string} packageName + * @param {string} namespace + * @param {string} kind + * @param {string} group + * @param {object} yamlObject + * @param {boolean} cluster + * @param {boolean} forceUpdate + * @returns {Promise} + */ + static async upsertSecret( + packageName: any, + namespace: string, + kind: any, + group: any, + yamlObject: GenericK8sSpecType, + cluster: any, + forceUpdate: any + ) { + const response = await coreK8sApi.listNamespacedSecret( + namespace, + undefined, + undefined, + undefined, + undefined, + PackageInfo.getPackageLabel(packageName) + ); + const name = yamlObject.metadata.name; + const items = response.body.items; + const resource = getResourceByName(items, name); + const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; + const isPresent = Boolean(resource); + + if (isPresent) { + const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate); + + if (!shouldUpdate) { + return; + } + + console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); + return await coreK8sApi.patchNamespacedSecret( + name, + namespace, + yamlObject, + undefined, + undefined, + undefined, + undefined, + undefined, + { + headers: { "content-type": "application/strategic-merge-patch+json" }, + } + ); + } + console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); + return await coreK8sApi.createNamespacedSecret(namespace, yamlObject); + } + + /** + * Insert or update the template + * @param {string} packageName + * @param {string} namespace + * @param {string} kind + * @param {string} group + * @param {object} yamlObject + * @param {boolean} cluster + * @param {boolean} forceUpdate + */ + static async upsertTemplate( + packageName: any, + namespace: string, + kind: string, + group: string, + yamlObject: GenericK8sSpecType, + cluster: any, + forceUpdate: any + ) { + const plural = `${kind.toLowerCase()}s`; + let response; + + if (!cluster) { + response = await customK8sApi.listNamespacedCustomObject( + group, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + undefined, + undefined, + undefined, + undefined, + PackageInfo.getPackageLabel(packageName) + ); + } else { + response = await customK8sApi.listClusterCustomObject( + group, + constants.ARGO_K8S_API_VERSION, + plural, + undefined, + undefined, + undefined, + undefined, + PackageInfo.getPackageLabel(packageName) + ); + yamlObject.kind = kind; + cluster = true; + + // Override the workflowTemplateRef clusterScope variable + if (kind == constants.ARGO_CRON_WORKFLOW_KIND) { + yamlObject["spec"]["workflowSpec"]["workflowTemplateRef"]["clusterScope"] = true; + // cron workflows have no concept of clusterInstall + cluster = false; + } else { + const templates = yamlObject["spec"]["templates"]; + if (templates) { + templates.forEach((template: { [x: string]: { [x: string]: any } }) => { + if (template["dag"]) { + const tasks = template["dag"]["tasks"]; + tasks.forEach((task: { [x: string]: { [x: string]: boolean } }) => { + if (task["templateRef"]) { + task["templateRef"]["clusterScope"] = true; + } + }); + } + }); + } + } + } + return await K8sInstaller.handleUpsertWithTemplateResponse( + response, + namespace, + plural, + yamlObject, + cluster, + group, + forceUpdate + ); + } + + /** + * + * @param {Object} response + * @param {string} namespace + * @param {string} plural + * @param {Object} yamlObject + * @param {string} cluster + * @param {string} apiGroup + * @param {boolean} forceUpdate + * @returns {Promise} + */ + static async handleUpsertWithTemplateResponse( + response: { body: { items: any } }, + namespace: string, + plural: string, + yamlObject: GenericK8sSpecType, + cluster: any, + apiGroup: string, + forceUpdate: any + ) { + const name = yamlObject.metadata.name; + const items = response.body.items; + const resource = getResourceByName(items, name); + const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; + const isPresent = Boolean(resource); + + if (isPresent) { + const { shouldUpdate, msgPrefix } = checkExistingResource( + resource, + name, + yamlObject.kind, + newVersion, + forceUpdate + ); + + if (!shouldUpdate) { + return; + } + + if (resource.updateStrategyIsRecreate()) { + console.debug(`${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}`); + return await K8sInstaller.recreateCustomResource( + name, + namespace, + plural, + yamlObject, + cluster, + apiGroup + ); + } + console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); + return await K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); + } + + console.debug(`${name} ${yamlObject.kind} not present in the cluster. Installing v${newVersion}`); + return await K8sInstaller.createCustomResource(namespace, plural, yamlObject, cluster, apiGroup); + } + + /** + * + * @param {string} namespace + * @param {string} plural + * @param {Object} yamlObject + * @param {boolean} cluster + * @param {string} apiGroup + * @returns + */ + static async createCustomResource( + namespace: string, + plural: string, + yamlObject: GenericK8sSpecType, + cluster: any, + apiGroup: string + ) { + if (cluster) { + return await customK8sApi.createClusterCustomObject( + apiGroup, + constants.ARGO_K8S_API_VERSION, + plural, + yamlObject + ); + } else { + return await customK8sApi.createNamespacedCustomObject( + apiGroup, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + yamlObject + ); + } + } + + /** + * + * @param {string} name + * @param {string} namespace + * @param {string} plural + * @param {Object} yamlObject + * @param {boolean} cluster + * @param {string} apiGroup + * @returns + */ + static async patchCustomResource( + name: string, + namespace: string, + plural: string, + yamlObject: GenericK8sSpecType, + cluster: any, + apiGroup: string + ) { + if (cluster) { + return await customK8sApi.patchClusterCustomObject( + apiGroup, + constants.ARGO_K8S_API_VERSION, + plural, + name, + yamlObject, + undefined, + undefined, + undefined, + { headers: { "content-type": "application/merge-patch+json" } } + ); + } else { + return await customK8sApi.patchNamespacedCustomObject( + apiGroup, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + name, + yamlObject, + undefined, + undefined, + undefined, + { headers: { "content-type": "application/merge-patch+json" } } + ); + } + } + + /** + * + * @param {string} name + * @param {string} namespace + * @param {string} plural + * @param {Object} yamlObject + * @param {boolean} cluster + * @param {string} apiGroup + * @returns {Promise} k8s response + */ + static async recreateCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup) { + if (cluster) { + await customK8sApi.deleteClusterCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + plural, + name + ); + return await customK8sApi.createClusterCustomObject( + apiGroup, + constants.ARGO_K8S_API_VERSION, + plural, + yamlObject + ); + } else { + await customK8sApi.deleteNamespacedCustomObject( + apiGroup, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + name + ); + return await customK8sApi.createNamespacedCustomObject( + apiGroup, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + yamlObject + ); + } + } +} diff --git a/lib/models/argument.js b/lib/models/argument.js deleted file mode 100644 index ea4a5d8..0000000 --- a/lib/models/argument.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -const Promise = require("bluebird"); -const Parameter = require("./parameter").Parameter; -const { yellow } = require("ansicolor"); - -class Argument { - /** - * @param {Object} argumentObj - */ - constructor(argumentObj) { - if (!argumentObj) { - argumentObj = { - parameters: undefined, - artifacts: undefined, - }; - } - this.parameters = Parameter.generate(argumentObj.parameters); - } - - info() { - let argumentInfo = yellow("Arguments:\n"); - - argumentInfo += `- ${yellow("Parameters: \n")}`; - this.parameters.forEach((parameter) => { - argumentInfo += ` - ${parameter.info()}\n`; - }); - return argumentInfo; - } - - /** - * Check the requirement parameters to run - * @param {Argument} args - */ - checkRequiredArgs(args) { - const capturedThis = this; - return new Promise(function (resolve, reject) { - capturedThis.parameters.forEach((parameter) => { - if (parameter.isRequired && args.getParameterValue(parameter.name) === undefined) { - reject(`Required parameter missing ${parameter.name}`); - } - }); - resolve(); - }); - } - - /** - * Get Parameter value for a key - * @param {string} key - * @returns {string} - */ - getParameterValue(key) { - let value = undefined; - this.parameters.forEach((parameter) => { - if (parameter.name === key) value = parameter.value; - }); - return value; - } -} - -exports.Argument = Argument; diff --git a/lib/models/argument.ts b/lib/models/argument.ts new file mode 100644 index 0000000..76c4afe --- /dev/null +++ b/lib/models/argument.ts @@ -0,0 +1,51 @@ +import { Parameter } from "./parameter"; +import { yellow } from "ansicolor"; + +export class Argument { + parameters: Parameter[]; + + /** + * @param + */ + constructor(argumentObj) { + if (!argumentObj) { + argumentObj = { + parameters: undefined, + artifacts: undefined, + }; + } + this.parameters = Parameter.generate(argumentObj.parameters); + } + + info() { + let argumentInfo = yellow("Arguments:\n"); + + argumentInfo += `- ${yellow("Parameters: \n")}`; + this.parameters.forEach((parameter) => { + argumentInfo += ` - ${parameter.info()}\n`; + }); + return argumentInfo; + } + + /** + * Check the requirement parameters to run + * @param + */ + checkRequiredArgs(args) { + this.parameters.forEach((parameter) => { + if (parameter.isRequired && args.getParameterValue(parameter.name) === undefined) { + throw new Error(`Required parameter missing ${parameter.name}`); + } + }); + return true; + } + + /** + * Get Parameter value for a key + * @param {string} key + * @returns + */ + getParameterValue(key: string) { + return this.parameters.find((parameter) => parameter.name === key); + } +} diff --git a/lib/models/info.js b/lib/models/info.js deleted file mode 100644 index a3e8bac..0000000 --- a/lib/models/info.js +++ /dev/null @@ -1,159 +0,0 @@ -"use strict"; -const { yellow, blue, lightCyan } = require("ansicolor"); -const constants = require("../constants").constants; - -/** - * Encode a string - * @param {String} str - */ -const encode = function (str) { - return str.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); -}; - -/** - * Special encode a string - * @param {String} str - */ -const specialEncode = function (str) { - if (str === ".") return ""; - return encode(str.replace(/@/g, "a-t-r").replace(/\//g, "s-l-a-s-h").replace(/:/g, "c-o-l-o-n")); -}; - -/** - * Decode a string - * @param {String} str - */ -const decode = function (str) { - return str - .replace(/a-t-r/g, "@") - .replace(/s-l-a-s-h/g, "/") - .replace(/c-o-l-o-n/g, ":"); -}; - -class PackageInfo { - /** - * Create package info object - * @param {Object} labels K8s labels - */ - constructor(labels) { - if (labels[constants.ARGOPM_INSTALLER_LABEL] !== constants.ARGOPM_INSTALLER_LABEL_VALUE) { - throw "Not a ArgoPM package"; - } - this.name = decode(labels[constants.ARGOPM_LIBRARY_NAME_LABEL]); - this.version = decode(labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]); - this.parent = decode(labels[constants.ARGOPM_LIBRARY_PARENT_LABEL]); - this.registry = decode(labels[constants.ARGOPM_LIBRARY_REGISTRY_LABEL]); - } - - info() { - let info = blue(`Package Info:\n`); - info += yellow(`Name: ${lightCyan(this.name)}\n`); - info += yellow(`Version: ${lightCyan(this.version)}\n`); - info += yellow(`Parent Dependency: ${lightCyan(this.parent)}\n`); - info += yellow(`Package Registry: ${lightCyan(this.registry)}\n`); - return info; - } - - /** - * Get Dependency label - * @returns {string} - */ - getDependencyLabel() { - const parentName = encode(`${this.name}@${this.version}`); - return `${constants.ARGOPM_LIBRARY_PARENT_LABEL}=${parentName}`; - } - - /** - * Get Package label - * @returns {string} - */ - getPackageLabel() { - return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${encode(this.name)}`; - } -} - -/** - * Create the K8s labels object - * @param {String} name - * @param {String} version - * @param {String} parent - * @param {String} registry - */ -PackageInfo.createK8sLabels = function (name, version, parent, registry) { - let labels = {}; - labels[constants.ARGOPM_INSTALLER_LABEL] = encode(constants.ARGOPM_INSTALLER_LABEL_VALUE); - labels[constants.ARGOPM_LIBRARY_NAME_LABEL] = specialEncode(name); - labels[constants.ARGOPM_LIBRARY_VERSION_LABEL] = encode(version); - labels[constants.ARGOPM_LIBRARY_PARENT_LABEL] = specialEncode(parent); - labels[constants.ARGOPM_LIBRARY_REGISTRY_LABEL] = specialEncode(registry); - return labels; -}; - -/** - * Create the K8s labels objectx - * @param {Object} packageObject - * @param {string} parentPackageName - * @param {string} registry - */ -PackageInfo.createK8sLabelsForPackage = function (packageObject, parentPackageName, registry) { - let labels = {}; - if (packageObject.config && packageObject.config.labels) { - labels = packageObject.config.labels; - } - - labels[constants.ARGOPM_INSTALLER_LABEL] = encode(constants.ARGOPM_INSTALLER_LABEL_VALUE); - labels[constants.ARGOPM_LIBRARY_NAME_LABEL] = specialEncode(packageObject.name); - labels[constants.ARGOPM_LIBRARY_VERSION_LABEL] = encode(packageObject.version); - labels[constants.ARGOPM_LIBRARY_PARENT_LABEL] = specialEncode(parentPackageName); - labels[constants.ARGOPM_LIBRARY_REGISTRY_LABEL] = specialEncode(registry); - return labels; -}; - -/** - * Create the K8s annoation object - * @param {Object} packageObject - * @param {string} parentPackageName - * @param {string} registry - */ -PackageInfo.createK8sAnnotationsForPackage = function (packageObject, parentPackageName, registry) { - let annotations = {}; - if (packageObject.config && packageObject.config.annotations) { - annotations = packageObject.config.annotations; - } - - annotations[constants.ARGOPM_LIBRARY_PARENT_LABEL] = parentPackageName; - annotations[constants.ARGOPM_LIBRARY_REGISTRY_LABEL] = registry; - annotations[constants.ARGOPM_LIBRARY_NAME_LABEL] = packageObject.name; - annotations[constants.ARGOPM_LIBRARY_DESCRIPTION_LABEL] = packageObject.description; - annotations[constants.ARGOPM_LIBRARY_HOMEPAGE_LABEL] = packageObject.homepage || ""; - if (packageObject.bugs) { - annotations[constants.ARGOPM_LIBRARY_SUPPORT_LABEL] = packageObject.bugs.email || ""; - } else { - annotations[constants.ARGOPM_LIBRARY_SUPPORT_LABEL] = JSON.stringify(packageObject.bugs) || ""; - } - if (packageObject.author.name) { - annotations[constants.ARGOPM_LIBRARY_AUTHOR_LABEL] = packageObject.author.name; - } else { - annotations[constants.ARGOPM_LIBRARY_AUTHOR_LABEL] = JSON.stringify(packageObject.author); - } - if (packageObject.repository) { - annotations[constants.ARGOPM_LIBRARY_REPO_LABEL] = packageObject.repository.url; - } - - if (packageObject.keywords) { - annotations[constants.ARGOPM_LIBRARY_KEYWORD_LABEL] = JSON.stringify(packageObject.keywords); - } - - return annotations; -}; - -/** - * Get Package label - * @param {string} packageName - * @returns {string} - */ -PackageInfo.getPackageLabel = function (packageName) { - return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${specialEncode(packageName)}`; -}; - -exports.PackageInfo = PackageInfo; diff --git a/lib/models/info.ts b/lib/models/info.ts new file mode 100644 index 0000000..31c9a97 --- /dev/null +++ b/lib/models/info.ts @@ -0,0 +1,178 @@ +import { yellow, blue, lightCyan } from "ansicolor"; +import { constants } from "../constants"; + +/** + * Encode a string + * @param {String} str + */ +const encode = function (str: string) { + return str.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); +}; + +/** + * Special encode a string + * @param {String} str + */ +const specialEncode = function (str: string) { + if (str === ".") return ""; + return encode(str.replace(/@/g, "a-t-r").replace(/\//g, "s-l-a-s-h").replace(/:/g, "c-o-l-o-n")); +}; + +/** + * Decode a string + * @param {String} str + */ +const decode = function (str: string) { + return str + .replace(/a-t-r/g, "@") + .replace(/s-l-a-s-h/g, "/") + .replace(/c-o-l-o-n/g, ":"); +}; + +export class PackageInfo { + name: any; + version: any; + parent: any; + registry: any; + + /** + * Create package info object + * @param {Object} labels K8s labels + */ + constructor(labels: { [x: string]: any }) { + if (labels[constants.ARGOPM_INSTALLER_LABEL] !== constants.ARGOPM_INSTALLER_LABEL_VALUE) { + throw "Not a ArgoPM package"; + } + this.name = decode(labels[constants.ARGOPM_LIBRARY_NAME_LABEL]); + this.version = decode(labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]); + this.parent = decode(labels[constants.ARGOPM_LIBRARY_PARENT_LABEL]); + this.registry = decode(labels[constants.ARGOPM_LIBRARY_REGISTRY_LABEL]); + } + + info() { + let info = blue(`Package Info:\n`); + info += yellow(`Name: ${lightCyan(this.name)}\n`); + info += yellow(`Version: ${lightCyan(this.version)}\n`); + info += yellow(`Parent Dependency: ${lightCyan(this.parent)}\n`); + info += yellow(`Package Registry: ${lightCyan(this.registry)}\n`); + return info; + } + + /** + * Get Dependency label + * @returns {string} + */ + getDependencyLabel() { + const parentName = encode(`${this.name}@${this.version}`); + return `${constants.ARGOPM_LIBRARY_PARENT_LABEL}=${parentName}`; + } + + /** + * Get Package label + * @returns {string} + */ + getPackageLabel() { + return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${encode(this.name)}`; + } + + /** + * Create the K8s labels object + * @param {String} name + * @param {String} version + * @param {String} parent + * @param {String} registry + */ + static createK8sLabels = function (name: any, version: any, parent: any, registry: any) { + const labels = {}; + labels[constants.ARGOPM_INSTALLER_LABEL] = encode(constants.ARGOPM_INSTALLER_LABEL_VALUE); + labels[constants.ARGOPM_LIBRARY_NAME_LABEL] = specialEncode(name); + labels[constants.ARGOPM_LIBRARY_VERSION_LABEL] = encode(version); + labels[constants.ARGOPM_LIBRARY_PARENT_LABEL] = specialEncode(parent); + labels[constants.ARGOPM_LIBRARY_REGISTRY_LABEL] = specialEncode(registry); + return labels; + }; + + /** + * Create the K8s labels objectx + * @param {Object} packageObject + * @param {string} parentPackageName + * @param {string} registry + */ + static createK8sLabelsForPackage = function ( + packageObject: { config: { labels: any }; name: any; version: any }, + parentPackageName: any, + registry: any + ) { + let labels = {}; + if (packageObject.config && packageObject.config.labels) { + labels = packageObject.config.labels; + } + + labels[constants.ARGOPM_INSTALLER_LABEL] = encode(constants.ARGOPM_INSTALLER_LABEL_VALUE); + labels[constants.ARGOPM_LIBRARY_NAME_LABEL] = specialEncode(packageObject.name); + labels[constants.ARGOPM_LIBRARY_VERSION_LABEL] = encode(packageObject.version); + labels[constants.ARGOPM_LIBRARY_PARENT_LABEL] = specialEncode(parentPackageName); + labels[constants.ARGOPM_LIBRARY_REGISTRY_LABEL] = specialEncode(registry); + return labels; + }; + + /** + * Create the K8s annoation object + * @param {Object} packageObject + * @param {string} parentPackageName + * @param {string} registry + */ + static createK8sAnnotationsForPackage = function ( + packageObject: { + config: { annotations: any }; + name: any; + description: any; + homepage: string; + bugs: { email: string }; + author: { name: any }; + repository: { url: any }; + keywords: any; + }, + parentPackageName: any, + registry: any + ) { + let annotations = {}; + if (packageObject.config && packageObject.config.annotations) { + annotations = packageObject.config.annotations; + } + + annotations[constants.ARGOPM_LIBRARY_PARENT_LABEL] = parentPackageName; + annotations[constants.ARGOPM_LIBRARY_REGISTRY_LABEL] = registry; + annotations[constants.ARGOPM_LIBRARY_NAME_LABEL] = packageObject.name; + annotations[constants.ARGOPM_LIBRARY_DESCRIPTION_LABEL] = packageObject.description; + annotations[constants.ARGOPM_LIBRARY_HOMEPAGE_LABEL] = packageObject.homepage || ""; + if (packageObject.bugs) { + annotations[constants.ARGOPM_LIBRARY_SUPPORT_LABEL] = packageObject.bugs.email || ""; + } else { + annotations[constants.ARGOPM_LIBRARY_SUPPORT_LABEL] = JSON.stringify(packageObject.bugs) || ""; + } + if (packageObject.author.name) { + annotations[constants.ARGOPM_LIBRARY_AUTHOR_LABEL] = packageObject.author.name; + } else { + annotations[constants.ARGOPM_LIBRARY_AUTHOR_LABEL] = JSON.stringify(packageObject.author); + } + if (packageObject.repository) { + annotations[constants.ARGOPM_LIBRARY_REPO_LABEL] = packageObject.repository.url; + } + + if (packageObject.keywords) { + annotations[constants.ARGOPM_LIBRARY_KEYWORD_LABEL] = JSON.stringify(packageObject.keywords); + } + + return annotations; + }; + + /** + * Get Package label + * @param {string} packageName + * @returns {string} + */ + static getPackageLabel = function (packageName: string) { + return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${specialEncode(packageName)}`; + }; +} diff --git a/lib/models/input.js b/lib/models/input.ts similarity index 65% rename from lib/models/input.js rename to lib/models/input.ts index 9908c8a..8df8871 100644 --- a/lib/models/input.js +++ b/lib/models/input.ts @@ -1,8 +1,9 @@ -"use strict"; -const Parameter = require("./parameter").Parameter; -const { yellow } = require("ansicolor"); +import { Parameter } from "./parameter"; +import { yellow } from "ansicolor"; + +export class Input { + parameters: Parameter[]; -class Input { /** * @param {Object} inputsObj */ @@ -31,15 +32,12 @@ class Input { * @param {Input} input */ checkRequiredArgs(input) { - const capturedThis = this; - return new Promise(function (resolve, reject) { - capturedThis.parameters.forEach((parameter) => { - if (parameter.isRequired && input.getParameterValue(parameter.name) === undefined) { - reject(`Required parameter missing '${parameter.name}'`); - } - }); - resolve(); + this.parameters.forEach((parameter) => { + if (parameter.isRequired && input.getParameterValue(parameter.name) === undefined) { + throw new Error(`Required parameter missing '${parameter.name}'`); + } }); + return true; } /** @@ -55,5 +53,3 @@ class Input { return value; } } - -exports.Input = Input; diff --git a/lib/models/package.js b/lib/models/package.js deleted file mode 100644 index 16a5b51..0000000 --- a/lib/models/package.js +++ /dev/null @@ -1,564 +0,0 @@ -"use strict"; -const constants = require("../constants").constants; -const Promise = require("bluebird"); -const fs = Promise.promisifyAll(require("fs")); -const yaml = require("js-yaml"); - -const k8s = require("@kubernetes/client-node"); -const kc = new k8s.KubeConfig(); -kc.loadFromDefault(); - -const customK8sApi = kc.makeApiClient(k8s.CustomObjectsApi); -const coreK8sApi = kc.makeApiClient(k8s.CoreV1Api); - -const PackageInfo = require("./info").PackageInfo; -const Argument = require("./argument").Argument; -const Template = require("./template").Template; -const { yellow, blue, bright, lightCyan } = require("ansicolor"); - -class Package { - /** - * Create an Argo Package object - * @param {Object} k8sYaml - */ - constructor(k8sYaml) { - this.metadata = k8sYaml.metadata; - this.spec = k8sYaml.spec; - this.info = new PackageInfo(this.metadata.labels); - this.isExecutable = !!this.spec.entrypoint; - this.arguments = new Argument(this.spec.arguments); - this.templates = Template.generate(this.spec.templates); - } - - /** - * Get package info - * @returns {Promise} - */ - packageInfo(namespace) { - let info = `${this.info.info()}\n`; - - info += `${yellow("Executable:")} ${lightCyan(this.isExecutable)}\n`; - - info += `${this.arguments.info()}\n`; - - let templatesInfo = blue(bright("Templates: \n")); - this.templates.forEach((template) => { - templatesInfo += `- ${yellow(template.name)}\n`; - }); - info += templatesInfo; - - return this.pipelines(namespace) - .then((pipelines) => { - let pipelinesInfo = blue(bright("\nPipelines: \n")); - pipelines.forEach((pipeline) => { - pipelinesInfo += `- ${yellow(pipeline.metadata.name)}\n`; - }); - info += pipelinesInfo; - return this.configMaps(namespace); - }) - .then((configMaps) => { - let configMapInfo = blue(bright("\nConfig Maps: \n")); - configMaps.forEach((configMap) => { - configMapInfo += `- ${yellow(configMap.metadata.name)}\n`; - }); - info += configMapInfo; - return this.secrets(namespace); - }) - .then((secrets) => { - if (secrets.length != 0) { - let secretInfo = blue(bright("\nSecrets: \n")); - secrets.forEach((secret) => { - secretInfo += `- ${yellow(secret.metadata.name)}\n`; - }); - info += secretInfo; - } - return this.cronWorkflows(namespace); - }) - .then((cronWorkflows) => { - let cronWorkflowInfo = blue(bright("\nCron Workflows: \n")); - cronWorkflows.forEach((cronWorkflow) => { - const cronString = cronWorkflow.spec.schedule; - const cronTimezone = cronWorkflow.spec.timezone; - cronWorkflowInfo += `- Name: ${yellow(cronWorkflow.metadata.name)}, Schedule: ${lightCyan( - cronString - )}, Timezone: ${lightCyan(cronTimezone)}\n`; - }); - info += cronWorkflowInfo; - return info; - }); - } - - /** - * @param {string} templateName - */ - templateInfo(templateName) { - return this.templateForName(templateName).then((template) => { - return template.info(); - }); - } - - /** - * - * @param name - * @returns {Promise<{Template}>} - */ - templateForName(name) { - const capturedThis = this; - return new Promise(function (resolve, reject) { - let chosenTemplate = undefined; - capturedThis.templates.forEach((template) => { - if (template.name === name) chosenTemplate = template; - }); - - if (!chosenTemplate) reject("Template not found in package"); - resolve(chosenTemplate); - }); - } - - /** - * Delete the package and all its dependencies - * Steps: - * 1. Delete all dependencies - * 2. Delete the workflow template - * 3. Delete the config maps - * @returns {Promise<{response: http.IncomingMessage, body: object}>} - */ - delete(cluster, namespace) { - const capturedThis = this; - return this.dependencies(cluster) - .then((dependencyPackages) => { - return Promise.each(dependencyPackages, function (dependencyPackage) { - console.log(`Deleting dependent package ${dependencyPackage.info.name}`); - return dependencyPackage.delete(cluster, namespace); - }); - }) - .then((_) => { - console.log(`Deleting config maps for package ${this.metadata.name}`); - return capturedThis.deleteConfigMaps(namespace); - }) - .then((_) => { - console.log(`Deleting secrets for package ${this.metadata.name}`); - return capturedThis.deleteSecrets(namespace); - }) - .then((_) => { - console.log(`Deleting pipelines for package ${this.metadata.name}`); - return capturedThis.deletePipelines(namespace); - }) - .then((_) => { - console.log(`Deleting cronworkflows for package ${this.metadata.name}`); - return capturedThis.deleteCronWorkflows(namespace); - }) - .then((_) => { - console.log(`Deleting templates for package ${this.metadata.name}`); - var kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; - var plural = `${kind.toLowerCase()}s`; - - if (cluster) { - kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; - plural = `${kind.toLowerCase()}s`; - return customK8sApi.deleteClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - capturedThis.metadata.name - ); - } - return customK8sApi.deleteNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - capturedThis.metadata.namespace, - plural, - capturedThis.metadata.name - ); - }); - } - - /** - * Get all dependencies of the packages installed - * @param {Boolean} cluster - * @returns {Promise<[Package]>} - */ - dependencies(cluster) { - var kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; - var plural = `${kind.toLowerCase()}s`; - - if (cluster) { - kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; - plural = `${kind.toLowerCase()}s`; - return customK8sApi - .listClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - null, - null, - null, - null, - this.info.getDependencyLabel() - ) - .then((response) => { - return this.getDependentPackagesFromListResponse(response); - }); - } - return customK8sApi - .listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - this.metadata.namespace, - plural, - null, - null, - null, - null, - this.info.getDependencyLabel() - ) - .then((response) => { - return this.getDependentPackagesFromListResponse(response); - }); - } - - /** - * Get all dependencies - * @returns {Promise<[Package]>} - */ - getDependentPackagesFromListResponse(response) { - let packages = []; - response.body.items.forEach((template) => { - const argoPackage = new Package(template); - if (argoPackage.info.name !== this.info.name) { - packages.push(new Package(template)); - } - }); - return packages; - } - - /** - * Returns all config maps associated with the package - * @returns {Promise>} - */ - configMaps(namespace) { - return coreK8sApi - .listNamespacedConfigMap(namespace, null, null, null, null, this.info.getPackageLabel()) - .then((response) => { - return response.body.items; - }); - } - - /** - * Deletes all configmaps associated with the package - * @returns {Promise} - */ - deleteConfigMaps(namespace) { - return this.configMaps(namespace).then((configMaps) => { - return Promise.each(configMaps, function (configMap) { - const metadata = configMap.metadata; - return coreK8sApi.deleteNamespacedConfigMap(metadata.name, metadata.namespace); - }); - }); - } - - /** - * Returns all secrets associated with the package - * @returns {Promise>} - */ - secrets(namespace) { - return coreK8sApi - .listNamespacedSecret(namespace, null, null, null, null, this.info.getPackageLabel()) - .then((response) => { - return response.body.items; - }); - } - - /** - * Deletes all secrets associated with the package - * @returns {Promise} - */ - deleteSecrets(namespace) { - return this.secrets(namespace).then((secrets) => { - return Promise.each(secrets, function (secret) { - const metadata = secret.metadata; - return coreK8sApi.deleteNamespacedSecret(metadata.name, metadata.namespace); - }); - }); - } - - /** - * Returns all piplines associated with the package - * @returns {Promise>} - */ - pipelines(namespace) { - let plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; - return customK8sApi - .listNamespacedCustomObject( - constants.ARGO_DATAFLOW_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - null, - null, - null, - null, - this.info.getPackageLabel() - ) - .then((response) => { - return response.body.items; - }); - } - - /** - * Deletes all pipelines associated with the package - * @returns {Promise} - */ - deletePipelines(namespace) { - let plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; - return this.pipelines(namespace).then((pipelines) => { - return Promise.each(pipelines, function (pipeline) { - const metadata = pipeline.metadata; - return customK8sApi.deleteNamespacedCustomObject( - constants.ARGO_DATAFLOW_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - metadata.namespace, - plural, - metadata.name - ); - }); - }); - } - - /** - * Returns all cron workflows associated with the package - * @returns {Promise>} - */ - cronWorkflows(namespace) { - let plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; - return customK8sApi - .listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - null, - null, - null, - null, - this.info.getPackageLabel() - ) - .then((response) => { - return response.body.items; - }); - } - - /** - * Deletes cronworkflows associated with the package - * @returns {Promise} - */ - deleteCronWorkflows(namespace) { - let plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; - return this.cronWorkflows(namespace).then((cronWorkflows) => { - return Promise.each(cronWorkflows, function (cronWorkflow) { - const metadata = cronWorkflow.metadata; - return customK8sApi.deleteNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - metadata.namespace, - plural, - metadata.name - ); - }); - }); - } - - /** - * Run the workflow template - * @param {Object} args - * @param {string} serviceAccountName - * @param {string} imagePullSecrets - * @param {Boolean} cluster - * @param {string} namespace - * @returns {PromiseLike<{response: http.IncomingMessage, body: object}>} - */ - run(args, serviceAccountName, imagePullSecrets, cluster, namespace) { - if (!this.isExecutable) { - throw "Package is not runnable"; - } - - const runtimeArguments = new Argument(args); - const capturedThis = this; - return this.arguments - .checkRequiredArgs(runtimeArguments) - .then((_) => { - return fs.readFileAsync(`${__dirname}/../static/workflows/workflow.yaml`); - }) - .then((data) => { - return yaml.load(data); - }) - .then((workflow) => { - const name = capturedThis.metadata.name; - workflow.metadata.generateName = `${name}-`; - if (serviceAccountName) workflow.spec.serviceAccountName = serviceAccountName; - if (imagePullSecrets) workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; - workflow.spec.workflowTemplateRef.name = name; - workflow.spec.workflowTemplateRef.clusterScope = cluster; - workflow.spec.arguments = runtimeArguments; - return workflow; - }) - .then((workflow) => { - return customK8sApi.createNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - constants.ARGO_WORKFLOWS_PLURAL, - workflow - ); - }); - } - - /** - * Run a template - * @param {string} templateName - * @param {Object} args - * @param {string} serviceAccountName - * @param {string} imagePullSecrets - * @param {Boolean} cluster - * @param {string} namespace - * @returns {Promise<{response: http.IncomingMessage, body: object}>} - */ - runTemplate(templateName, args, serviceAccountName, imagePullSecrets, cluster, namespace) { - const capturedThis = this; - return this.templateForName(templateName) - .then((template) => { - return template.generateWorkflow( - capturedThis.metadata.name, - args, - serviceAccountName, - imagePullSecrets, - cluster - ); - }) - .then((workflow) => { - return customK8sApi.createNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - constants.ARGO_WORKFLOWS_PLURAL, - workflow - ); - }); - } -} - -/** - * Get Installer label - * @returns {string} - */ -Package.getInstallerLabel = function () { - return `${constants.ARGOPM_INSTALLER_LABEL}=${constants.ARGOPM_INSTALLER_LABEL_VALUE}`; -}; - -/** - * Get install package - * @param {String} namespace - * @param {String} packageName - * @param {Boolean} cluster - * @returns {Promise} - */ -Package.info = function (namespace, packageName, cluster) { - var plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - if (cluster) { - plural = `${constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - return customK8sApi - .listClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - null, - null, - null, - null, - PackageInfo.getPackageLabel(packageName) - ) - .then((response) => { - const items = response.body.items; - if (items.length !== 1) { - throw new Error(`${packageName} not found`); - } - return new Package(items[0]); - }); - } - return customK8sApi - .listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - null, - null, - null, - null, - PackageInfo.getPackageLabel(packageName) - ) - .then((response) => { - const items = response.body.items; - if (items.length !== 1) { - throw new Error(`${packageName} not found in namespace ${namespace}`); - } - return new Package(items[0]); - }); -}; - -/** - * Get all installed packages in the namespace - * @param {String} namespace - * @param {Boolean} cluster - * @returns {Promise<[Package]>} - */ -Package.list = function (namespace, cluster) { - var plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - - if (cluster) { - plural = `${constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - return customK8sApi - .listClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - null, - null, - null, - null, - Package.getInstallerLabel() - ) - .then((response) => { - return handleListResponse(response); - }); - } - return customK8sApi - .listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - null, - null, - null, - null, - Package.getInstallerLabel() - ) - .then((response) => { - return handleListResponse(response); - }); -}; - -/** - * Handle k8s list response - * @returns {Promise<[Package]>} - */ -function handleListResponse(response) { - let packages = []; - response.body.items.forEach((template) => { - packages.push(new Package(template)); - }); - return packages; -} - -exports.Package = Package; diff --git a/lib/models/package.ts b/lib/models/package.ts new file mode 100644 index 0000000..49520c0 --- /dev/null +++ b/lib/models/package.ts @@ -0,0 +1,519 @@ +import { yellow, blue, bright, lightCyan } from "ansicolor"; +import { readFile } from "node:fs/promises"; +import { PackageInfo } from "./info"; +import { Argument } from "./argument"; +import { Template } from "./template"; +import { constants } from "../constants"; +import { load } from "js-yaml"; +import { KubeConfig, CoreV1Api, CustomObjectsApi, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; + +const kc = new KubeConfig(); +kc.loadFromDefault(); + +const customK8sApi = kc.makeApiClient(CustomObjectsApi); +const coreK8sApi = kc.makeApiClient(CoreV1Api); + +export class Package { + metadata: any; + spec: any; + info: PackageInfo; + isExecutable: boolean; + arguments: Argument; + templates: Template[]; + + /** + * Create an Argo Package object + * @param {Object} k8sYaml + */ + constructor(k8sYaml) { + this.metadata = k8sYaml.metadata; + this.spec = k8sYaml.spec; + this.info = new PackageInfo(this.metadata.labels); + this.isExecutable = !!this.spec.entrypoint; + this.arguments = new Argument(this.spec.arguments); + this.templates = Template.generate(this.spec.templates); + } + + /** + * Get package info + * @returns {Promise} + */ + packageInfo(namespace) { + let info = `${this.info.info()}\n`; + + info += `${yellow("Executable:")} ${lightCyan(`${this.isExecutable}`)}\n`; + + info += `${this.arguments.info()}\n`; + + let templatesInfo = blue(bright("Templates: \n")); + this.templates.forEach((template) => { + templatesInfo += `- ${yellow(template.name)}\n`; + }); + info += templatesInfo; + + return this.pipelines(namespace) + .then((pipelines) => { + let pipelinesInfo = blue(bright("\nPipelines: \n")); + pipelines.forEach((pipeline) => { + pipelinesInfo += `- ${yellow(pipeline.metadata.name)}\n`; + }); + info += pipelinesInfo; + return this.configMaps(namespace); + }) + .then((configMaps) => { + let configMapInfo = blue(bright("\nConfig Maps: \n")); + configMaps.forEach((configMap) => { + configMapInfo += `- ${yellow(configMap.metadata?.name)}\n`; + }); + info += configMapInfo; + return this.secrets(namespace); + }) + .then((secrets) => { + if (secrets.length != 0) { + let secretInfo = blue(bright("\nSecrets: \n")); + secrets.forEach((secret) => { + secretInfo += `- ${yellow(secret.metadata?.name)}\n`; + }); + info += secretInfo; + } + return this.cronWorkflows(namespace); + }) + .then((cronWorkflows) => { + let cronWorkflowInfo = blue(bright("\nCron Workflows: \n")); + cronWorkflows.forEach((cronWorkflow) => { + const cronString = cronWorkflow.spec.schedule; + const cronTimezone = cronWorkflow.spec.timezone; + cronWorkflowInfo += `- Name: ${yellow(cronWorkflow.metadata.name)}, Schedule: ${lightCyan( + cronString + )}, Timezone: ${lightCyan(cronTimezone)}\n`; + }); + info += cronWorkflowInfo; + return info; + }); + } + + /** + * @param {string} templateName + */ + templateInfo(templateName) { + return this.templateForName(templateName).info(); + } + + /** + * + * @param name + * @returns {Promise<{Template}>} + */ + templateForName(name) { + const chosenTemplate = this.templates.find((template) => template.name === name); + + if (!chosenTemplate) { + throw new Error("Template not found in package"); + } + + return chosenTemplate; + } + + /** + * Delete the package and all its dependencies + * Steps: + * 1. Delete all dependencies + * 2. Delete the workflow template + * 3. Delete the config maps + * @returns {Promise<{response: http.IncomingMessage, body: object}>} + */ + async delete(cluster, namespace) { + for (const dependencyPackage of await this.dependencies(cluster)) { + console.log(`Deleting dependent package ${dependencyPackage.info.name}`); + dependencyPackage.delete(cluster, namespace); + } + + console.log(`Deleting config maps for package ${this.metadata.name}`); + await this.deleteConfigMaps(namespace); + + console.log(`Deleting secrets for package ${this.metadata.name}`); + await this.deleteSecrets(namespace); + + console.log(`Deleting pipelines for package ${this.metadata.name}`); + await this.deletePipelines(namespace); + + console.log(`Deleting cronworkflows for package ${this.metadata.name}`); + await this.deleteCronWorkflows(namespace); + + console.log(`Deleting templates for package ${this.metadata.name}`); + let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; + let plural = `${kind.toLowerCase()}s`; + + if (cluster) { + kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; + plural = `${kind.toLowerCase()}s`; + await customK8sApi.deleteClusterCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + plural, + this.metadata.name + ); + } else { + await customK8sApi.deleteNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + this.metadata.namespace, + plural, + this.metadata.name + ); + } + } + + /** + * Get all dependencies of the packages installed + * @param {Boolean} cluster + * @returns + */ + async dependencies(cluster: boolean) { + let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; + let plural = `${kind.toLowerCase()}s`; + let response; + + if (cluster) { + kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; + plural = `${kind.toLowerCase()}s`; + response = await customK8sApi.listClusterCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + plural, + undefined, + undefined, + undefined, + undefined, + this.info.getDependencyLabel() + ); + } else { + response = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + this.metadata.namespace, + plural, + undefined, + undefined, + undefined, + undefined, + this.info.getDependencyLabel() + ); + } + return this.getDependentPackagesFromListResponse(response); + } + + /** + * Get all dependencies + * @returns {Promise<[Package]>} + */ + getDependentPackagesFromListResponse(response) { + const packages: Package[] = []; + response.body.items.forEach((template) => { + const argoPackage = new Package(template); + if (argoPackage.info.name !== this.info.name) { + packages.push(new Package(template)); + } + }); + return packages; + } + + /** + * Returns all config maps associated with the package + * @returns + */ + async configMaps(namespace): Promise { + const response = await coreK8sApi.listNamespacedConfigMap( + namespace, + undefined, + undefined, + undefined, + undefined, + this.info.getPackageLabel() + ); + return response.body.items; + } + + /** + * Deletes all configmaps associated with the package + * @returns + */ + async deleteConfigMaps(namespace) { + const configMaps = await this.configMaps(namespace); + for (const configMap of configMaps) { + const metadata = configMap.metadata; + if (metadata?.name && metadata.namespace) { + await coreK8sApi.deleteNamespacedConfigMap(metadata.name, metadata.namespace); + } else { + console.error(`Cannot proceed with ${metadata}.`); + } + } + } + + /** + * Returns all secrets associated with the package + * @returns {Promise>} + */ + async secrets(namespace): Promise { + const response = await coreK8sApi.listNamespacedSecret( + namespace, + undefined, + undefined, + undefined, + undefined, + this.info.getPackageLabel() + ); + return response.body.items; + } + + /** + * Deletes all secrets associated with the package + * @returns {Promise} + */ + async deleteSecrets(namespace) { + const secrets = await this.secrets(namespace); + for (const secret of secrets) { + const metadata = secret.metadata; + if (metadata?.name && metadata.namespace) { + await coreK8sApi.deleteNamespacedSecret(metadata.name, metadata.namespace); + } + return; + } + } + + /** + * Returns all piplines associated with the package + * @returns {Promise>} + */ + async pipelines(namespace) { + const plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; + const response = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + undefined, + undefined, + undefined, + undefined, + this.info.getPackageLabel() + ); + return response.body["items"]; + } + + /** + * Deletes all pipelines associated with the package + * @returns {Promise} + */ + async deletePipelines(namespace) { + const plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; + for (const pipeline of await this.pipelines(namespace)) { + const metadata = pipeline.metadata; + await customK8sApi.deleteNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + metadata.namespace, + plural, + metadata.name + ); + } + } + + /** + * Returns all cron workflows associated with the package + * @returns {Promise>} + */ + async cronWorkflows(namespace) { + const plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; + const response = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + undefined, + undefined, + undefined, + undefined, + this.info.getPackageLabel() + ); + return response.body["items"]; + } + + /** + * Deletes cronworkflows associated with the package + * @returns {Promise} + */ + async deleteCronWorkflows(namespace) { + const plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; + for (const cronWorkflow of await this.cronWorkflows(namespace)) { + const metadata = cronWorkflow.metadata; + await customK8sApi.deleteNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + metadata.namespace, + plural, + metadata.name + ); + } + } + + /** + * Run the workflow template + * @param {Object} args + * @param {string} serviceAccountName + * @param {string} imagePullSecrets + * @param {Boolean} cluster + * @param {string} namespace + * @returns {PromiseLike<{response: http.IncomingMessage, body: object}>} + */ + async run(args, serviceAccountName, imagePullSecrets, cluster, namespace) { + if (!this.isExecutable) { + throw "Package is not runnable"; + } + + const runtimeArguments = new Argument(args); + this.arguments.checkRequiredArgs(runtimeArguments); + const yamlStr = await readFile(`${__dirname}/../static/workflows/workflow.yaml`); + const workflow: any = load(yamlStr.toString()); + + const name = this.metadata.name; + workflow.metadata.generateName = `${name}-`; + if (serviceAccountName) workflow.spec.serviceAccountName = serviceAccountName; + if (imagePullSecrets) workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; + workflow.spec.workflowTemplateRef.name = name; + workflow.spec.workflowTemplateRef.clusterScope = cluster; + workflow.spec.arguments = runtimeArguments; + + customK8sApi.createNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + constants.ARGO_WORKFLOWS_PLURAL, + workflow + ); + } + + /** + * Run a template + * @param {string} templateName + * @param {Object} args + * @param {string} serviceAccountName + * @param {string} imagePullSecrets + * @param {Boolean} cluster + * @param {string} namespace + * @returns {Promise<{response: http.IncomingMessage, body: object}>} + */ + async runTemplate(templateName, args, serviceAccountName, imagePullSecrets, cluster, namespace) { + const template = this.templateForName(templateName); + const workflow = template.generateWorkflow( + this.metadata.name, + args, + serviceAccountName, + imagePullSecrets, + cluster + ); + return await customK8sApi.createNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + constants.ARGO_WORKFLOWS_PLURAL, + workflow + ); + } + + /** + * Get Installer label + * @returns {string} + */ + static getInstallerLabel() { + return `${constants.ARGOPM_INSTALLER_LABEL}=${constants.ARGOPM_INSTALLER_LABEL_VALUE}`; + } + + /** + * Get install package + * @param {String} namespace + * @param {String} packageName + * @param {Boolean} cluster + * @returns {Promise} + */ + static async info(namespace, packageName, cluster) { + let response; + let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + if (cluster) { + plural = `${constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + response = await customK8sApi.listClusterCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + plural, + undefined, + undefined, + undefined, + undefined, + PackageInfo.getPackageLabel(packageName) + ); + } else { + response = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + undefined, + undefined, + undefined, + undefined, + PackageInfo.getPackageLabel(packageName) + ); + } + const items = response.body.items; + if (items.length !== 1) { + throw new Error(`${packageName} not found`); + } + return new Package(items[0]); + } + + /** + * Get all installed packages in the namespace + * @param {String} namespace + * @param {Boolean} cluster + * @returns {Promise<[Package]>} + */ + static async list(namespace, cluster) { + let response; + let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + + if (cluster) { + plural = `${constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + response = await customK8sApi.listClusterCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + plural, + undefined, + undefined, + undefined, + undefined, + Package.getInstallerLabel() + ); + } else { + response = customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + undefined, + undefined, + undefined, + undefined, + Package.getInstallerLabel() + ); + } + return handleListResponse(response); + } +} + +/** + * Handle k8s list response + * @returns {Promise<[Package]>} + */ +function handleListResponse(response): Package[] { + return response.body.items.map((template) => new Package(template)); +} diff --git a/lib/models/parameter.js b/lib/models/parameter.js deleted file mode 100644 index 9c1f9d6..0000000 --- a/lib/models/parameter.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; -const { cyan, green, lightCyan } = require("ansicolor"); - -class Parameter { - /** - * @param {Object} parameter - */ - constructor(parameter) { - this.name = parameter.name; - this.value = parameter.value; - this.isRequired = false; - if (this.value === undefined) { - this.isRequired = true; - } - } - - info() { - const name = this.value ? green(this.name) : cyan(this.name); - return `${name} ${lightCyan(this.value)}`; - } -} - -/** - * Generate Parameters - * @param {[Object]} parameterArray - * @returns {[Parameter]} - */ -Parameter.generate = function (parameterArray) { - let parameters = []; - if (!parameterArray) return parameters; - - parameterArray.forEach((parameterObj) => { - parameters.push(new Parameter(parameterObj)); - }); - return parameters; -}; - -exports.Parameter = Parameter; diff --git a/lib/models/parameter.ts b/lib/models/parameter.ts new file mode 100644 index 0000000..18f61fc --- /dev/null +++ b/lib/models/parameter.ts @@ -0,0 +1,34 @@ +import { cyan, green, lightCyan } from "ansicolor"; + +export class Parameter { + name: any; + value: any; + isRequired: boolean; + + /** + * @param + */ + constructor({ name, value }) { + this.name = name; + this.value = value; + this.isRequired = false; + if (this.value === undefined) { + this.isRequired = true; + } + } + + info() { + const name = this.value ? green(this.name) : cyan(this.name); + return `${name} ${lightCyan(this.value)}`; + } + + static generate(parameterArray: any[]) { + const parameters: Parameter[] = []; + if (!parameterArray) return parameters; + + parameterArray.forEach((parameterObj: { name: any; value: any }) => { + parameters.push(new Parameter(parameterObj)); + }); + return parameters; + } +} diff --git a/lib/models/resource.js b/lib/models/resource.ts similarity index 55% rename from lib/models/resource.js rename to lib/models/resource.ts index f82731f..28643e3 100644 --- a/lib/models/resource.js +++ b/lib/models/resource.ts @@ -1,7 +1,12 @@ -const constants = require("../constants").constants; -const { compare } = require("compare-versions"); +import { constants } from "../constants"; +import { compare } from "compare-versions"; + +export class Resource { + resource: any; + version: any; + resourceVersion: any; + metadata: any; -class Resource { /** * * @param {Object} resource k8s resource object @@ -24,15 +29,14 @@ class Resource { updateStrategyIsRecreate() { return this.resource.kind === constants.ARGO_DATAFLOW_KIND; } -} -/** - * - * @param {Object} resource - * @returns {string} - */ -Resource.getVersion = function (resource) { - if (!resource || !resource.metadata || !resource.metadata.labels) return "0.0.0"; - return resource.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; -}; -module.exports = Resource; + /** + * + * @param {Object} resource + * @returns {string} + */ + static getVersion(resource) { + if (!resource || !resource.metadata || !resource.metadata.labels) return "0.0.0"; + return resource.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; + } +} diff --git a/lib/models/template.js b/lib/models/template.js deleted file mode 100644 index dcca99c..0000000 --- a/lib/models/template.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; -const Input = require("./input").Input; -const Promise = require("bluebird"); -const fs = Promise.promisifyAll(require("fs")); -const yaml = require("js-yaml"); - -const { blue, bright } = require("ansicolor"); - -class Template { - /** - * @param {Object} templateObj - */ - constructor(templateObj) { - this.name = templateObj.name; - this.inputs = new Input(templateObj.inputs); - } - - info() { - let templateHelp = blue(`Template: ${bright(this.name)}\n`); - templateHelp += `${this.inputs.info()}`; - return templateHelp; - } - - /** - * Run the template - * @param {string} packageName - * @param {Object} args - * @param {string} serviceAccountName - * @param {string} imagePullSecrets - * @param {Boolean} cluster - * @returns {PromiseLike<{Object}>} - */ - generateWorkflow(packageName, args, serviceAccountName, imagePullSecrets, cluster) { - const runtimeInputs = new Input(args); - const capturedThis = this; - - return this.inputs - .checkRequiredArgs(runtimeInputs) - .then((_) => { - return fs.readFileAsync(`${__dirname}/../static/workflows/template-workflow.yaml`); - }) - .then((data) => { - return yaml.load(data); - }) - .then((workflow) => { - const name = capturedThis.name; - workflow.metadata.generateName = `${name}-`; - if (serviceAccountName) workflow.spec.serviceAccountName = serviceAccountName; - workflow.spec.entrypoint = name; - if (imagePullSecrets) workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; - workflow.spec.templates[0].name = name; - workflow.spec.templates[0].dag.tasks[0].name = `call-${name}`; - workflow.spec.templates[0].dag.tasks[0].templateRef.name = packageName; - workflow.spec.templates[0].dag.tasks[0].templateRef.template = name; - workflow.spec.templates[0].dag.tasks[0].templateRef.clusterScope = cluster; - workflow.spec.templates[0].dag.tasks[0].arguments = runtimeInputs; - return workflow; - }); - } -} - -/** - * Generate Templates - * @param {[Object]} templateArray - * @returns {[Template]} - */ -Template.generate = function (templateArray) { - let templates = []; - if (!templateArray) return templates; - - templateArray.forEach((templateObj) => { - templates.push(new Template(templateObj)); - }); - return templates; -}; - -exports.Template = Template; diff --git a/lib/models/template.ts b/lib/models/template.ts new file mode 100644 index 0000000..16b81f9 --- /dev/null +++ b/lib/models/template.ts @@ -0,0 +1,63 @@ +import { Input } from "./input"; +import { readFile } from "node:fs/promises"; +import { load } from "js-yaml"; +import { blue, bright } from "ansicolor"; +import { GenericK8sSpecType } from "../k8s"; + +export class Template { + name: string; + inputs: any; + + /** + * @param {Object} templateObj + */ + constructor(templateObj: { name: any; inputs: any }) { + this.name = templateObj.name; + this.inputs = new Input(templateObj.inputs); + } + + info() { + let templateHelp = blue(`Template: ${bright(this.name)}\n`); + templateHelp += `${this.inputs.info()}`; + return templateHelp; + } + + /** + * Run the template + * @param {string} packageName + * @param {Object} args + * @param {string} serviceAccountName + * @param {string} imagePullSecrets + * @param {Boolean} cluster + * @returns {PromiseLike<{Object}>} + */ + async generateWorkflow(packageName: any, args: any, serviceAccountName: any, imagePullSecrets: any, cluster: any) { + const runtimeInputs = new Input(args); + + this.inputs.checkRequiredArgs(runtimeInputs); + const data = await readFile(`${__dirname}/../static/workflows/template-workflow.yaml`); + const workflow: GenericK8sSpecType = load(data.toString()); + + workflow.metadata.generateName = `${this.name}-`; + if (serviceAccountName) workflow.spec.serviceAccountName = serviceAccountName; + workflow.spec.entrypoint = this.name; + if (imagePullSecrets) workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; + workflow.spec.templates[0].name = this.name; + workflow.spec.templates[0].dag.tasks[0].name = `call-${this.name}`; + workflow.spec.templates[0].dag.tasks[0].templateRef.name = packageName; + workflow.spec.templates[0].dag.tasks[0].templateRef.template = this.name; + workflow.spec.templates[0].dag.tasks[0].templateRef.clusterScope = cluster; + workflow.spec.templates[0].dag.tasks[0].arguments = runtimeInputs; + + return workflow; + } + + /** + * Generate Templates + * @param {[Object]} templateArray + * @returns + */ + static generate(templateArray: any[]) { + return templateArray.map((templateObj: any) => new Template(templateObj)); + } +} diff --git a/lib/s3.js b/lib/s3.ts similarity index 59% rename from lib/s3.js rename to lib/s3.ts index b5af73a..0e7ea55 100644 --- a/lib/s3.js +++ b/lib/s3.ts @@ -1,12 +1,18 @@ -const S3Client = require("@aws-sdk/client-s3").S3Client; -const PutObjectCommand = require("@aws-sdk/client-s3").PutObjectCommand; -const Promise = require("bluebird"); -const yaml = require("js-yaml"); -const walk = require("./utils").walk; -const k8s = require("@kubernetes/client-node"); -const fs = require("fs"); +import { S3Client } from "@aws-sdk/client-s3"; +import { PutObjectCommand } from "@aws-sdk/client-s3"; +import yaml from "js-yaml"; +import { walk } from "./utils"; +import k8s from "@kubernetes/client-node"; +import fs from "fs"; + +export class S3 { + configMapName: string; + argoNamespace: string; + package: any; + client: S3Client; + bucketName: string; + s3KeyPrefix: string; -class S3 { /** * Provides functionality to upload files in the `static` sub directory to AWS S3 * @@ -20,12 +26,15 @@ class S3 { this.package = packageConfig; } - initialize() { - return this.getS3ConfigFromArgo(this.configMapName, this.argoNamespace).then(({ bucket, region }) => { + async initialize() { + const { bucket, region } = await this.getS3ConfigFromArgo(this.configMapName, this.argoNamespace); + if (bucket && region) { this.client = new S3Client({ region: region }); this.bucketName = bucket; this.s3KeyPrefix = `argo-artifacts/argopm/${this.package.name}/latest/static`; - }); + } else { + console.error("Cannot initialize, missing bucket and/or region."); + } } /** @@ -34,26 +43,22 @@ class S3 { * @param {String} configMapName Name of the configmap with bucket and region data in the Argo instance * @param {String} argoNamespace K8s namespace where theh workflow controller configmap exists */ - getS3ConfigFromArgo(configMapName, argoNamespace) { + async getS3ConfigFromArgo(configMapName, argoNamespace) { const kc = new k8s.KubeConfig(); kc.loadFromDefault(); const coreK8sApi = kc.makeApiClient(k8s.CoreV1Api); - - return coreK8sApi - .readNamespacedConfigMap(configMapName, argoNamespace) - .then((argoWorkflowControllerConfigMap) => { - const bucket = yaml.load(argoWorkflowControllerConfigMap.body.data.bucket); - const region = yaml.load(argoWorkflowControllerConfigMap.body.data.region); - - return { - bucket, - region, - }; - }) - .catch((err) => { - throw err; - }); + const argoWorkflowControllerConfigMap = await coreK8sApi.readNamespacedConfigMap(configMapName, argoNamespace); + if (argoWorkflowControllerConfigMap.body.data) { + const bucket: string = yaml.load(argoWorkflowControllerConfigMap.body.data["bucket"]) as string; + const region: string = yaml.load(argoWorkflowControllerConfigMap.body.data["region"]) as string; + return { + bucket, + region, + }; + } else { + return { bucket: undefined, region: undefined }; + } } /** @@ -92,17 +97,15 @@ class S3 { * @param {String} dirPath Absolute path of the directory */ uploadStaticFiles(dirPath) { - return walk(`${dirPath}/static`) - .then((dirs) => { - dirs = dirs.filter((dir) => !dir.endsWith(".md")); - return Promise.all(dirs.map((dir) => this.uploadFile(dir))); - }) - .catch((err) => { - if (err.code !== "ENOENT") { - throw err; - } - return; - }); + try { + const dirs = walk(`${dirPath}/static`).filter((dir) => !dir.endsWith(".md")); + return dirs.map((dir) => this.uploadFile(dir)); + } catch (err) { + if (err.code !== "ENOENT") { + throw err; + } + return; + } } } diff --git a/lib/utils.js b/lib/utils.ts similarity index 50% rename from lib/utils.js rename to lib/utils.ts index cc17af4..edab6b1 100644 --- a/lib/utils.js +++ b/lib/utils.ts @@ -1,70 +1,65 @@ -const Promise = require("bluebird"); -const fs = require("fs").promises; -const path = require("path"); -var rimraf = Promise.promisify(require("rimraf")); +import { readdir, stat } from "node:fs/promises"; +import { join } from "path"; + +import rimraf = require("rimraf"); /** * Recursively walk through the folder and return all file paths * @param dir * @returns {Promise<[string]>} */ -async function walk(dir) { - let files = await fs.readdir(dir); - files = await Promise.all( - files.map(async (file) => { - const filePath = path.join(dir, file); - const stats = await fs.stat(filePath); +export async function walk(dir: string) { + const files = await readdir(dir); + const filesWalked = await Promise.all( + files.map(async (file: string) => { + const filePath = join(dir, file); + const stats = await stat(filePath); if (stats.isDirectory()) return walk(filePath); else if (stats.isFile()) return filePath; }) ); - return files.reduce((all, folderContents) => all.concat(folderContents), []); + return filesWalked.reduce((all: string | any[], folderContents: any) => all.concat(folderContents), []); } -exports.walk = walk; - /** * Returns all directories in the given path * @param dir - * @returns {PromiseLike<[string]> | Promise<[string]>} + * @returns */ -async function listDirs(dir) { - let paths = await fs.readdir(dir); +export async function listDirs(dir: string): Promise<(string | undefined)[]> { + const paths = await readdir(dir); return await Promise.all( - paths.map(async (file) => { - const filePath = path.join(dir, file); - const stats = await fs.stat(filePath); + paths.map(async (file: string) => { + const filePath = join(dir, file); + const stats = await stat(filePath); if (stats.isDirectory()) return filePath; }) ); } -exports.listDirs = listDirs; - /** * Deletes a directory recursively * @param dir - * @returns {Promise} + * @returns */ -async function deleteDir(dir) { +export function deleteDir(dir: any) { + // TODO return rimraf(dir); } -exports.deleteDir = deleteDir; - /** * Generate arguments * @param {[string]} args * @returns {Object} */ -exports.generateArguments = function (args) { +export function generateArguments(args: string[]) { const index = args.indexOf("--"); - let parameters = []; + const parameters: { name: string; value: any }[] = []; if (index === -1) return { parameters: parameters }; - let key = undefined; + let key; args.slice(index + 1).forEach((arg) => { if (!key) { key = arg.replace("--", ""); @@ -80,4 +75,4 @@ exports.generateArguments = function (args) { return { parameters: parameters, }; -}; +} diff --git a/package-lock.json b/package-lock.json index 0ebf3ac..93af5af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,51 +1,56 @@ { "name": "argopm", - "version": "0.8.5", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "argopm", - "version": "0.8.5", + "version": "1.0.0", "license": "MIT", "dependencies": { - "@aws-sdk/client-s3": "^3.45.0", - "@kubernetes/client-node": "^0.16.1", - "ansicolor": "^1.1.95", + "@aws-sdk/client-s3": "^3.180.0", + "@kubernetes/client-node": "^0.17.1", + "ansicolor": "^1.1.100", "as-table": "^1.0.55", - "axios": "^0.24.0", - "bluebird": "^3.7.2", - "compare-versions": "^4.1.2", - "dotenv": "^10.0.0", + "axios": "^0.27.2", + "compare-versions": "^5.0.1", + "dotenv": "^16.0.2", "js-yaml": "^4.1.0", - "npm-package-arg": "^8.1.5", + "npm-package-arg": "^9.1.0", "npm-remote-ls": "^1.3.2", "rimraf": "^3.0.2", "stream-buffers": "^3.0.2", "system-commands": "^1.1.7", - "yargs": "^17.3.1", - "yargs-parser": ">=21.0.0" + "yargs": "^17.5.1", + "yargs-parser": ">=21.1.1" }, "bin": { - "argopm": "bin/install.js" + "argopm": "bin/install.ts" }, "devDependencies": { - "eslint": "^8.6.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-jest": "^25.3.4", - "jest": "^27.4.6", - "lint-staged": "^12.1.5", + "@types/js-yaml": "^4.0.5", + "@types/node": "^18.7.23", + "@types/npm-package-arg": "^6.1.1", + "@types/rimraf": "^3.0.2", + "eslint": "^8.24.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-jest": "^27.0.4", + "jest": "^29.1.0", + "lint-staged": "^13.0.3", "pre-commit": "^1.2.2", - "prettier": "^2.5.1" + "prettier": "^2.7.1", + "typescript": "^4.8.4" } }, "node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" @@ -161,11 +166,11 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz", - "integrity": "sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", "dependencies": { - "@aws-sdk/types": "^3.1.0", + "@aws-sdk/types": "^3.110.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" } @@ -176,567 +181,566 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.53.0.tgz", - "integrity": "sha512-Xe7IX2mpf/qOjh1LrPnJ1UtiDw3cBlmy8n+Q2xSP5vaS/9IH0OMdQUveC9MV9HSgzICX+xzbPyUuSKc+4tufBQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz", + "integrity": "sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/chunked-blob-reader": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.52.0.tgz", - "integrity": "sha512-BAZhriHHfvnGOd0P9xcnGu8DGyxOa0lgmEw+Tc6nZpXJzx0P+1Sd76q5gE5d/IZ0r5VTB6rfwwKUoG6iShNCwQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz", + "integrity": "sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/chunked-blob-reader-native": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.52.0.tgz", - "integrity": "sha512-/hVzC0Q12/mWRMBBQD3v82xsLSxZ4RwG6N44XP7MuJoHy4ui4T7D9RSuvBpzzr/4fqF0w9M7XYv6aM4BD2pFIQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz", + "integrity": "sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w==", "dependencies": { - "@aws-sdk/util-base64-browser": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/util-base64-browser": "3.170.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.53.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.53.1.tgz", - "integrity": "sha512-uAhjR/TAuXNct6BL/shVg2f/6Zg1EZoXTG8KIywfmLitiUF0PvYwfwSPtNohkz6czgTs/rtirAZHAQKi8jjieA==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz", + "integrity": "sha512-0YuIHk0dNvROz3IVNt3BHRPMhmd4jKnL84nXFomBViU7L7S09Pu8EjnZOTxjsiI2aAndj42kRqZOl5NjAaoTvQ==", "dependencies": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.53.0", - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/credential-provider-node": "3.53.0", - "@aws-sdk/eventstream-serde-browser": "3.53.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.53.0", - "@aws-sdk/eventstream-serde-node": "3.53.0", - "@aws-sdk/fetch-http-handler": "3.53.0", - "@aws-sdk/hash-blob-browser": "3.53.0", - "@aws-sdk/hash-node": "3.53.0", - "@aws-sdk/hash-stream-node": "3.53.1", - "@aws-sdk/invalid-dependency": "3.53.0", - "@aws-sdk/md5-js": "3.53.0", - "@aws-sdk/middleware-bucket-endpoint": "3.53.0", - "@aws-sdk/middleware-content-length": "3.53.0", - "@aws-sdk/middleware-expect-continue": "3.53.0", - "@aws-sdk/middleware-flexible-checksums": "3.53.0", - "@aws-sdk/middleware-host-header": "3.53.0", - "@aws-sdk/middleware-location-constraint": "3.53.0", - "@aws-sdk/middleware-logger": "3.53.0", - "@aws-sdk/middleware-retry": "3.53.0", - "@aws-sdk/middleware-sdk-s3": "3.53.0", - "@aws-sdk/middleware-serde": "3.53.0", - "@aws-sdk/middleware-signing": "3.53.0", - "@aws-sdk/middleware-ssec": "3.53.0", - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/middleware-user-agent": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/node-http-handler": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/smithy-client": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "@aws-sdk/util-base64-node": "3.52.0", - "@aws-sdk/util-body-length-browser": "3.52.0", - "@aws-sdk/util-body-length-node": "3.52.0", - "@aws-sdk/util-defaults-mode-browser": "3.53.0", - "@aws-sdk/util-defaults-mode-node": "3.53.0", - "@aws-sdk/util-stream-browser": "3.53.0", - "@aws-sdk/util-stream-node": "3.53.0", - "@aws-sdk/util-user-agent-browser": "3.53.0", - "@aws-sdk/util-user-agent-node": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", - "@aws-sdk/util-waiter": "3.53.0", - "@aws-sdk/xml-builder": "3.52.0", + "@aws-sdk/client-sts": "3.180.0", + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/eventstream-serde-browser": "3.178.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.178.0", + "@aws-sdk/eventstream-serde-node": "3.178.0", + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/hash-blob-browser": "3.178.0", + "@aws-sdk/hash-node": "3.178.0", + "@aws-sdk/hash-stream-node": "3.178.0", + "@aws-sdk/invalid-dependency": "3.178.0", + "@aws-sdk/md5-js": "3.178.0", + "@aws-sdk/middleware-bucket-endpoint": "3.178.0", + "@aws-sdk/middleware-content-length": "3.178.0", + "@aws-sdk/middleware-expect-continue": "3.178.0", + "@aws-sdk/middleware-flexible-checksums": "3.178.0", + "@aws-sdk/middleware-host-header": "3.178.0", + "@aws-sdk/middleware-location-constraint": "3.178.0", + "@aws-sdk/middleware-logger": "3.178.0", + "@aws-sdk/middleware-recursion-detection": "3.178.0", + "@aws-sdk/middleware-retry": "3.178.0", + "@aws-sdk/middleware-sdk-s3": "3.178.0", + "@aws-sdk/middleware-serde": "3.178.0", + "@aws-sdk/middleware-signing": "3.179.0", + "@aws-sdk/middleware-ssec": "3.178.0", + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/middleware-user-agent": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4-multi-region": "3.180.0", + "@aws-sdk/smithy-client": "3.180.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-node": "3.170.0", + "@aws-sdk/util-body-length-browser": "3.170.0", + "@aws-sdk/util-body-length-node": "3.170.0", + "@aws-sdk/util-defaults-mode-browser": "3.180.0", + "@aws-sdk/util-defaults-mode-node": "3.180.0", + "@aws-sdk/util-stream-browser": "3.178.0", + "@aws-sdk/util-stream-node": "3.178.0", + "@aws-sdk/util-user-agent-browser": "3.178.0", + "@aws-sdk/util-user-agent-node": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/util-waiter": "3.180.0", + "@aws-sdk/xml-builder": "3.170.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">=12.0.0" } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.53.0.tgz", - "integrity": "sha512-X32YHHc5MO7xO4W3Ly8DeryieeEiDOsnl6ypBkfML7loO3M0ckvvL+HnNUR1J+HYyseEV7V93BsF/A1z5HmINQ==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz", + "integrity": "sha512-wwhGa+Jksc4NE+4MZVv0Jkvt1C10/Gd5NATiv+hjcCY7DdxQ31UsbUrbZ38tBK8XX+vqFlcrP1AsoXNvrjBBVw==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/fetch-http-handler": "3.53.0", - "@aws-sdk/hash-node": "3.53.0", - "@aws-sdk/invalid-dependency": "3.53.0", - "@aws-sdk/middleware-content-length": "3.53.0", - "@aws-sdk/middleware-host-header": "3.53.0", - "@aws-sdk/middleware-logger": "3.53.0", - "@aws-sdk/middleware-retry": "3.53.0", - "@aws-sdk/middleware-serde": "3.53.0", - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/middleware-user-agent": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/node-http-handler": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/smithy-client": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "@aws-sdk/util-base64-node": "3.52.0", - "@aws-sdk/util-body-length-browser": "3.52.0", - "@aws-sdk/util-body-length-node": "3.52.0", - "@aws-sdk/util-defaults-mode-browser": "3.53.0", - "@aws-sdk/util-defaults-mode-node": "3.53.0", - "@aws-sdk/util-user-agent-browser": "3.53.0", - "@aws-sdk/util-user-agent-node": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/hash-node": "3.178.0", + "@aws-sdk/invalid-dependency": "3.178.0", + "@aws-sdk/middleware-content-length": "3.178.0", + "@aws-sdk/middleware-host-header": "3.178.0", + "@aws-sdk/middleware-logger": "3.178.0", + "@aws-sdk/middleware-recursion-detection": "3.178.0", + "@aws-sdk/middleware-retry": "3.178.0", + "@aws-sdk/middleware-serde": "3.178.0", + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/middleware-user-agent": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/smithy-client": "3.180.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-node": "3.170.0", + "@aws-sdk/util-body-length-browser": "3.170.0", + "@aws-sdk/util-body-length-node": "3.170.0", + "@aws-sdk/util-defaults-mode-browser": "3.180.0", + "@aws-sdk/util-defaults-mode-node": "3.180.0", + "@aws-sdk/util-user-agent-browser": "3.178.0", + "@aws-sdk/util-user-agent-node": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">=12.0.0" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.53.0.tgz", - "integrity": "sha512-MNG+Pmw/zZQ0kboZtsc8UEGM9pn8abjStDN0Yk67fwFAZMqz8sUHDtFXpa3gSXMrFqBwT+jMFXmIxqiq7XuAeA==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz", + "integrity": "sha512-QSgbYPrZ1QZTaxV3fwziVPvctwaAjdTMxA4VSMDh2yTFPIDmA8IMi8doEAcRaJeUK5n9UR8O3oWOs+wAs9Mkpw==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/credential-provider-node": "3.53.0", - "@aws-sdk/fetch-http-handler": "3.53.0", - "@aws-sdk/hash-node": "3.53.0", - "@aws-sdk/invalid-dependency": "3.53.0", - "@aws-sdk/middleware-content-length": "3.53.0", - "@aws-sdk/middleware-host-header": "3.53.0", - "@aws-sdk/middleware-logger": "3.53.0", - "@aws-sdk/middleware-retry": "3.53.0", - "@aws-sdk/middleware-sdk-sts": "3.53.0", - "@aws-sdk/middleware-serde": "3.53.0", - "@aws-sdk/middleware-signing": "3.53.0", - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/middleware-user-agent": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/node-http-handler": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/smithy-client": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "@aws-sdk/util-base64-node": "3.52.0", - "@aws-sdk/util-body-length-browser": "3.52.0", - "@aws-sdk/util-body-length-node": "3.52.0", - "@aws-sdk/util-defaults-mode-browser": "3.53.0", - "@aws-sdk/util-defaults-mode-node": "3.53.0", - "@aws-sdk/util-user-agent-browser": "3.53.0", - "@aws-sdk/util-user-agent-node": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/hash-node": "3.178.0", + "@aws-sdk/invalid-dependency": "3.178.0", + "@aws-sdk/middleware-content-length": "3.178.0", + "@aws-sdk/middleware-host-header": "3.178.0", + "@aws-sdk/middleware-logger": "3.178.0", + "@aws-sdk/middleware-recursion-detection": "3.178.0", + "@aws-sdk/middleware-retry": "3.178.0", + "@aws-sdk/middleware-sdk-sts": "3.179.0", + "@aws-sdk/middleware-serde": "3.178.0", + "@aws-sdk/middleware-signing": "3.179.0", + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/middleware-user-agent": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/smithy-client": "3.180.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-node": "3.170.0", + "@aws-sdk/util-body-length-browser": "3.170.0", + "@aws-sdk/util-body-length-node": "3.170.0", + "@aws-sdk/util-defaults-mode-browser": "3.180.0", + "@aws-sdk/util-defaults-mode-node": "3.180.0", + "@aws-sdk/util-user-agent-browser": "3.178.0", + "@aws-sdk/util-user-agent-node": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">=12.0.0" } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.53.0.tgz", - "integrity": "sha512-wAqP/xNx49H1dutHWHjhKduaKtAcDg2KoH25W6peW2qXZ6OfpVcxRIBbJE4Z0yGOmFFaxw0OeH3h2ptP7tdhGQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz", + "integrity": "sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w==", "dependencies": { - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-config-provider": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-config-provider": "3.170.0", + "@aws-sdk/util-middleware": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.53.0.tgz", - "integrity": "sha512-ocqZ4w7y7eay2M+uUBAD6NkhikUPoajEFX1/7iMvEFMmS5MyzjuolHPNK7Hh8lFmPyoflxaMXJVKO8C1MguA/A==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz", + "integrity": "sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w==", "dependencies": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.53.0.tgz", - "integrity": "sha512-aKc8POSqCi58566KhF1p8Sxt7LHehMnshyfQzNAOB7xshSxuWg41rxafnQU4Soq9Tz7q5bwkauR2CEUihv/TRg==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz", + "integrity": "sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.53.0.tgz", - "integrity": "sha512-g+UoJ1ikDrfpI1wHAhlrcBtX4OHxoLV6vakirpG27hhFwuMih565Q/Sjn3o5hLT8PBlWxwT2YeRuxCjtaL3cDA==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.53.0", - "@aws-sdk/credential-provider-imds": "3.53.0", - "@aws-sdk/credential-provider-sso": "3.53.0", - "@aws-sdk/credential-provider-web-identity": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz", + "integrity": "sha512-P4fqj0WRHoQ/eGhym/QJNl3AndDN9vyOuDSIyOWLky+ngy/pGznZyzQzhyq7Cju0mgnBeFDac6Evq0aHax1iOA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.178.0", + "@aws-sdk/credential-provider-imds": "3.178.0", + "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-web-identity": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.53.0.tgz", - "integrity": "sha512-sy0NeuJHOBhe7XwxCX2y+YZAB4CqcHveyXJfT6mv7eY6bYQskkMTCPp2D586hSH3c6cfIsmvLSxNhNJApj1Atw==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.53.0", - "@aws-sdk/credential-provider-imds": "3.53.0", - "@aws-sdk/credential-provider-ini": "3.53.0", - "@aws-sdk/credential-provider-process": "3.53.0", - "@aws-sdk/credential-provider-sso": "3.53.0", - "@aws-sdk/credential-provider-web-identity": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz", + "integrity": "sha512-M3vevtIcTAlROJEJo2WIVDVrL077vh1j3w0b5IwizCvcpHBiZ+2agWcFVR/NfCvFbdYjZd49otGnbCUMHWiRcA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.178.0", + "@aws-sdk/credential-provider-imds": "3.178.0", + "@aws-sdk/credential-provider-ini": "3.180.0", + "@aws-sdk/credential-provider-process": "3.178.0", + "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-web-identity": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">=12.0.0" } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.53.0.tgz", - "integrity": "sha512-nazHndueCa4y5jUM58OHSysb52E953r3VhmpCs0qIv1ZH5Ijs3kT/usbUq7Yms7pcpaUmpu00VZTc6IfOOC0GA==", - "dependencies": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz", + "integrity": "sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw==", + "dependencies": { + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.53.0.tgz", - "integrity": "sha512-EongClNxdVw+O4y+S0mZFjNeLHv1ssdAnBM/9L1PfR6sH06eikVmU6isEN2quwoKBy9HRVPaIVF075Q8QIpipg==", - "dependencies": { - "@aws-sdk/client-sso": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz", + "integrity": "sha512-hv8qME1ISd6GN+YCa0WK73xL6p2Sx0JiSRTzgb5bvGcdxVGLzvIlFd0VAtVhP7d84Prf6EeGz0+sGEEYRusw2w==", + "dependencies": { + "@aws-sdk/client-sso": "3.180.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.53.0.tgz", - "integrity": "sha512-YbysBkX3mbomHJZULxk/3jyQ7NWn6rZ68IDY28bmp8cNWajWeGzDxKmR4Y+c8gNiN2ziWjUZWfHcnZC056/79Q==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz", + "integrity": "sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ==", "dependencies": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/eventstream-marshaller": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.53.0.tgz", - "integrity": "sha512-Vt8OjC0hgF0rNcGPbMEROnM5SHODzRdQsG9Y+M2suWDkUqFoh8+6m4v9c/ej3iudAEydZDLcnpV9yGv/CTqceg==", + "node_modules/@aws-sdk/eventstream-codec": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz", + "integrity": "sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA==", "dependencies": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-hex-encoding": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-hex-encoding": "3.170.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/eventstream-serde-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.53.0.tgz", - "integrity": "sha512-B+nAlXet/NSEIzaN4fZYGwoFHBYtURuXUE+Ru4EaWyC8+vBEdeO4Vs9o/8mlZSHGiUn41QYYqiZvd+OKweTtBA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz", + "integrity": "sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw==", "dependencies": { - "@aws-sdk/eventstream-marshaller": "3.53.0", - "@aws-sdk/eventstream-serde-universal": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/eventstream-serde-universal": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.53.0.tgz", - "integrity": "sha512-4O66c1aSgfdWfbr2pUJTONReVwA4oWQ/fRMhcAMhacqbPko5+3v0Iy/vOiVCm6Isa4K2kVpOUN0L+64niE7jag==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz", + "integrity": "sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/eventstream-serde-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.53.0.tgz", - "integrity": "sha512-92rlY8M8+nU4mUm3j4gtJiv9HY2fGTGLSIGLukOXAUf7xuJ220L+9ZInS4ToiRgq+dOSt8cFPCxRVpQtNesBfA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz", + "integrity": "sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ==", "dependencies": { - "@aws-sdk/eventstream-marshaller": "3.53.0", - "@aws-sdk/eventstream-serde-universal": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/eventstream-serde-universal": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/eventstream-serde-universal": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.53.0.tgz", - "integrity": "sha512-Y3OjTAKhDyz2UyLE0ATmDD3RFyBfJLWeBQkpJu7qICI0XYN2tmV1mCkQUtkT3e4s+UxnuUOa55YQpdUsQUWIDA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz", + "integrity": "sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw==", "dependencies": { - "@aws-sdk/eventstream-marshaller": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/eventstream-codec": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.53.0.tgz", - "integrity": "sha512-0CcEYarIAVAoGzu1ClO2xDq30Jii6AevDFJYR7M9yojqAMvwjP31DY4/qfPc2nCpSAd9dASR6vcx6r/RoIynVg==", - "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/querystring-builder": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz", + "integrity": "sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ==", + "dependencies": { + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/querystring-builder": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-blob-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.53.0.tgz", - "integrity": "sha512-A3xa0o1W9/tALw0/yoXyBKfxsMlzi1BvzEgCFUU2y914yBo62FiIf1E+BX42m9MfPJ87SD+l3O5QcptMVWvarw==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz", + "integrity": "sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ==", "dependencies": { - "@aws-sdk/chunked-blob-reader": "3.52.0", - "@aws-sdk/chunked-blob-reader-native": "3.52.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/chunked-blob-reader": "3.170.0", + "@aws-sdk/chunked-blob-reader-native": "3.170.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.53.0.tgz", - "integrity": "sha512-0xK5PSUUVOPttvCLWrrUTmrKe7Fz6njPdBYvB3ESk1whXL+TY3syJj4em63Sq6yFyeuXdqyTzqfcs9fU2puWkA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz", + "integrity": "sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-buffer-from": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/hash-stream-node": { - "version": "3.53.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.53.1.tgz", - "integrity": "sha512-y7pUc6EtkG3TscZR9dpR/BCauP/lRepU+Td43Oe9VUhD6l3lS3TuIHUwB7PEU7NeSU9iqWuflBVK/IBWXrfH3w==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz", + "integrity": "sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.53.0.tgz", - "integrity": "sha512-qp2qRFa1a/AjZRCe6MZCpbaXo5t4enGAtch/83fuH4rRkzVOctYox1gyTGTliHk28rjMREtSgZDQZojp5/5M5w==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz", + "integrity": "sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.52.0.tgz", - "integrity": "sha512-5Pe9QKrOeSZb9Z8gtlx9CDMfxH8EiNdClBfXBbc6CiUM7y6l7UintYHkm133zM5XTqtMRYY1jaD8svVAoRPApA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz", + "integrity": "sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/md5-js": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.53.0.tgz", - "integrity": "sha512-+XbYdbxgWniyC7E4kqHC0z0Qsud/EMv9RuKghWLr7IwbUjfR7zix5+AVw3XR+FWrKrDAlyRBhyzG+60STliuiA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz", + "integrity": "sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.53.0.tgz", - "integrity": "sha512-q88eevXUkUWp6e/vHGnpt8/8TjscbfW6CWGpexj3DFWt3WZhEhExcoGwwszoL4FQfMFWBL+11EKNZm2orHqDwg==", - "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-arn-parser": "3.52.0", - "@aws-sdk/util-config-provider": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz", + "integrity": "sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-arn-parser": "3.170.0", + "@aws-sdk/util-config-provider": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.53.0.tgz", - "integrity": "sha512-CXANhpL2MAE2tPKmu0cOf4Fd99useIj5kgX6UA+HWg/ZbJ4qBg6Q4W/nYVt+OuukeqwEEbpt3wv0lKQ8k/vINQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz", + "integrity": "sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.53.0.tgz", - "integrity": "sha512-aMKtfOX9b1yx0ER0QspN2jOR/Q1ucRYEaR46yOUPjdcMHHnGxuk3kimsyGqgFm2+pPJdi9FRd9S2eC/tNjYn8w==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz", + "integrity": "sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg==", "dependencies": { - "@aws-sdk/middleware-header-default": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.53.0.tgz", - "integrity": "sha512-g069Es0Sy3So2HRz+UAwaubFKkGuxwhEf6OS9pmovY2+2yfZBOLoQmf7jS50RgbxJcUDoI7uuKZrp0BcdLDgEg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz", + "integrity": "sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A==", "dependencies": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.52.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/is-array-buffer": "3.170.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-header-default": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.53.0.tgz", - "integrity": "sha512-eQLFdNBzydZoocnj7YDVO+AJZ3YhuImZ1GXzGsF9FN8IdSjuE4gwB8BQhG6vuUg3GVe+sI+7VUJT6h55OaDBXw==", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz", + "integrity": "sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.53.0.tgz", - "integrity": "sha512-w5qMAUgy52fvJGqzqruNJhv4BtkanE4I368zWiysmwXXL5xmpKs8TpkGqcSQw4g2wKS8MR2Yxh21LukHlsgAJw==", + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz", + "integrity": "sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg==", "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.53.0.tgz", - "integrity": "sha512-HtBy8L3XNbovHLVh6wtIIThsbdTsX+jv09M9Cmmu80eM1WXw5Uu6lJX6FdIQXfMXBTZjnmHRL+72CxEtsets8g==", + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz", + "integrity": "sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.53.0.tgz", - "integrity": "sha512-jMME8OOyPHliHhVD3FaBQ+4X+FDCQovw6CYGqPdqP0JUuhR8E1LWKHV1+xRpkpOICKwBnIXrgD8/0NQo/+Z84A==", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz", + "integrity": "sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.53.0.tgz", - "integrity": "sha512-TKEdTLP//SjasunU3/yX7avXMxhIEDoSOaiwj77zEpPGF2NWcR99UFfqNLeJsRPCyzYScYo1JSuxIwgXHNIhyQ==", - "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/service-error-classification": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz", + "integrity": "sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ==", + "dependencies": { + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/service-error-classification": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-middleware": "3.178.0", + "tslib": "^2.3.1", "uuid": "^8.3.2" }, "engines": { @@ -744,384 +748,376 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.53.0.tgz", - "integrity": "sha512-cq2NFixf5HBctPaUUMjV97M++q18e/WDrM61lN7eMHfdXW+TlYv4tVF9y9MaE7dpoNp7G0ORLsz05JdVdUI33g==", - "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-arn-parser": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz", + "integrity": "sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w==", + "dependencies": { + "@aws-sdk/middleware-bucket-endpoint": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-arn-parser": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" - }, - "peerDependencies": { - "@aws-sdk/signature-v4-crt": "^3.31.0" } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.53.0.tgz", - "integrity": "sha512-b9AUXYqA5jaUTpWu7wPZz43RQnmy1WGPFVHd8CvcUzFdMzwJlQeH4wq+sEdZ1KtIsz6n6TmY7vobzrScgq3ftg==", - "dependencies": { - "@aws-sdk/middleware-signing": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.179.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz", + "integrity": "sha512-uU9UdG9ornvblXdLLNsZNpgMOA9vgFMB93zo3DL/Q6MPmYprZYyK7dUiA06i1pe4HP2gR3N3hxXwzmKU6Bjt6A==", + "dependencies": { + "@aws-sdk/middleware-signing": "3.179.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.53.0.tgz", - "integrity": "sha512-jPoou51ULWN2PpvWkDF3wLKnTezyM33NBdF89mvfnI4++Za0/NpuL12636YqWLXt2CK87u8cA2Q+7Opob7KocA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz", + "integrity": "sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.53.0.tgz", - "integrity": "sha512-r3g2ytin1YbhXCDedMfR7ZSlt1B39GWA0+J04ZZzUdevtnS2VnkFNhsanO5os/WOpVUV7iqk/ncJgSpn9LI2DA==", - "dependencies": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.179.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz", + "integrity": "sha512-rtB6t3w1Km3ngO1yoiEUqsobujcBk36oPs2fTUKTbmuTr+54YH3NF0zAwVJv08lpfAs56holtp+bYyAxZJIxSQ==", + "dependencies": { + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-middleware": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.53.0.tgz", - "integrity": "sha512-2p2QT3PNepUC5MwT+t0l9bf7MlRHw6DN6CLg4Dptgr3SFR2k8LjUp2S7dJqg4qrhXRiiO7lTZK57PaPPR90dFw==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz", + "integrity": "sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.53.0.tgz", - "integrity": "sha512-YanQOVUXGjm63GCZVRYPlPMl6niaWtVjE2C0+0lpCrJQYaUIrvKh27Ff40JLi3U0F89hmsYOO7yPQOPTbc9NBg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz", + "integrity": "sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.53.0.tgz", - "integrity": "sha512-ClKxpFXoHLhdnDxyDRRVNaFYQnfylps7rk1wfbRLWb+FWQwKWBvLq5c5ZPvznBU8BvftDSkFtrY+7OLMlj6qxA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz", + "integrity": "sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.53.0.tgz", - "integrity": "sha512-l00gDzU7n2WSIBHZPVW8/t6L0UD6qwtre5kuGKiv8ZkZKynPg9VV39IB/JZ7swp2uydbXuqxgDxFvqImvY3IyA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz", + "integrity": "sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ==", "dependencies": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.53.0.tgz", - "integrity": "sha512-YqovPyn75gNzDSvPWQUTAEbwhr8PBdp1MQz65bB8p+qOlzQi1jGCyj1uHqG7qwVIlis9+bAfqpAqNDuYpdGsNg==", - "dependencies": { - "@aws-sdk/abort-controller": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/querystring-builder": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz", + "integrity": "sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ==", + "dependencies": { + "@aws-sdk/abort-controller": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/querystring-builder": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.53.0.tgz", - "integrity": "sha512-qrVFYcOV/Da7/ozW2bDLDz0JQP0NLIn6/eNUwT2fqKVw9MWcrLf6xtyAJhCwckdUVOWS2HoBSyvEopa4mdh9Sw==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz", + "integrity": "sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.53.0.tgz", - "integrity": "sha512-lKOXq2FjQH2i/ztJOKHoNgJ9Kpaprhb6/lsKMjHuePr/YDEzp62nEuJKbVx5rA9C8Rxuuj2hE8vXhQ6dyUIsjg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz", + "integrity": "sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.53.0.tgz", - "integrity": "sha512-oliOrup52985pSKOjHbbm7t3bGL0HTPs9UODhBuDpHE7l0pdWE1hv9YiU3FF5NUIF25VwbL83GYmL9R52GxZhA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz", + "integrity": "sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-uri-escape": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-uri-escape": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.53.0.tgz", - "integrity": "sha512-wEkS40w/wW4eBSnf7xt+m8InZFVzjLAzRYK1yPab2qfOIShpWgxg1ndqEP0eu14MvwdEfMPW9xU6J2AiWoxWng==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz", + "integrity": "sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.53.0.tgz", - "integrity": "sha512-l5g8QncKk0ZmzQL7mWyQ6n5xWkd1XQJuoOfLZPBas9SJAyz7wanV5P3CG9PX6s1GVHWLC+2MafpIQ6+aH1x5cQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz", + "integrity": "sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.52.0.tgz", - "integrity": "sha512-tALb8u8IVcI4pT7yFZpl4O6kgeY5EAXyphZoRPgQSCDhmEyFUIi/sXbCN8HQiHjnHdWfXdaNE1YsZcW3GpcuoQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz", + "integrity": "sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.53.0.tgz", - "integrity": "sha512-CUvCIrwiiWpJd/ldSA04RERXPsdvkuKW3+gBDIUREq4uc7co7Cml1/wbIJ0UOHAmJpDw82NDYqAUthYB1kbHrQ==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-hex-encoding": "3.52.0", - "@aws-sdk/util-uri-escape": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz", + "integrity": "sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ==", + "dependencies": { + "@aws-sdk/is-array-buffer": "3.170.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-hex-encoding": "3.170.0", + "@aws-sdk/util-middleware": "3.178.0", + "@aws-sdk/util-uri-escape": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/signature-v4-crt": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.53.0.tgz", - "integrity": "sha512-xpBuMFr8o4q0KidnCxCS8V56HmMIGdEPQkf4omfDiFc/7nTD4SfAgissZXd0x/xgJE8QyJn57O7+uyToexb2OQ==", - "peer": true, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz", + "integrity": "sha512-3IjwOy/x6UroV3TAbeCwpCRmt/8TW89JI1r8gtDbpQ42WiQ/1J+R5a78NP8bYa53kiDghW6pKlvLcbuoh3zWHQ==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.52.0", - "@aws-sdk/querystring-parser": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/util-hex-encoding": "3.52.0", - "@aws-sdk/util-uri-escape": "3.52.0", - "aws-crt": "^1.9.7", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-arn-parser": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" + }, + "peerDependencies": { + "@aws-sdk/signature-v4-crt": "^3.118.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/signature-v4-crt": { + "optional": true + } } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.53.0.tgz", - "integrity": "sha512-/mZn1/1/BXFgV5PwbGfXczbSyZFrhUEhWQzPG7x1NXLQh3kcSoHGDSONqFhqTeHWkfEXp1Tn0zUe7R4vAseFmQ==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz", + "integrity": "sha512-1vWafiUdn6RvOsD4CyNjMeDtDujuPi4Iq4Db6HrFmVPpJAutOLlCg52Dt7k96KCcIKgxVAs6Br0Waef+pcoGNA==", "dependencies": { - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/types": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.53.0.tgz", - "integrity": "sha512-FqHfWRXdnQvfxgngDKfYpYOuQ1HmPgxaGKELx3pFaEnQdMo/dMXjfBGQcEQgP8jqU6bPLaJSfykjWjDzua8JBg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.178.0.tgz", + "integrity": "sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.53.0.tgz", - "integrity": "sha512-lB0U5TkBDSdJK8h3noDkSG/P1cGnpSxOxBroMgPHA8Lrf5lmFRMvDXLXMhRDnTiqtsd/DpHDPyat91pfwLVEwA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz", + "integrity": "sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ==", "dependencies": { - "@aws-sdk/querystring-parser": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/querystring-parser": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.52.0.tgz", - "integrity": "sha512-mMsoYJ70+BGkVpdfQbu942v4fAGzx+pIL8+QnQhzUmcU0HbNkI0vYliMWfzz7ka9CHgbijUI/ANKA319zgKtvA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz", + "integrity": "sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.52.0.tgz", - "integrity": "sha512-xjv/cQ4goWXAiGEC/AIL/GtlHg4p4RkQKs6/zxn9jOxo1OnbppLMJ0LjCtv4/JVYIVGHrx0VJ8Exyod7Ln+NeA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz", + "integrity": "sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-base64-node": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.52.0.tgz", - "integrity": "sha512-V96YIXBuIiVu7Zk72Y9dly7Io9cYOT30Hjf77KAkBeizlFgT5gWklWYGcytPY8FxLuEy4dPLeHRmgwQnlDwgPA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz", + "integrity": "sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.52.0.tgz", - "integrity": "sha512-8omOgIGmopUtwg3XaeyvqacxrIrCsDKUVQp5n+8iLmyYt5mQM70vXbUC273GJzKDtibGDfxiN4FqSLBlo9F/oQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz", + "integrity": "sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.52.0.tgz", - "integrity": "sha512-1WWsGh0hip4y1uvOLFV2v3Nvq3W35dmW5YniCi0gQDBLc5JHES8Zka7yoCDYOfaYFUodVH5mC/jFBjGRQ3TpDw==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz", + "integrity": "sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.52.0.tgz", - "integrity": "sha512-hsG0lMlHjJUFoXIy59QLn6x4QU/vp/e0t3EjdD0t8aymB9iuJ43UeLjYTZdrOgtbWb8MXEF747vwg+P6n+4Lxw==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz", + "integrity": "sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/is-array-buffer": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-config-provider": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.52.0.tgz", - "integrity": "sha512-1wonBNkOOLJpMZnz2Kn69ToFgSoTTyGzJInir8WC5sME3zpkb5j41kTuEVbImNJhVv9MKjmGYrMeZbBVniLRPw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/util-credentials": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.53.0.tgz", - "integrity": "sha512-XP/3mYOmSn5KpWv+PnBTP2UExXb+hx1ugbH4Gkveshdq9KBlVnpV5eVgIwSAnKBsplScfsNMJ5EOtHjz5Cvu5A==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz", + "integrity": "sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ==", "dependencies": { - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.53.0.tgz", - "integrity": "sha512-ubOcZT3rkVXSTwCHeIJevgBVV5GHnejz3hd+dFY9OcuK53oMZnFPS8SfJLgGG6PHfg30P8EurKv1VhWrbuuJDw==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz", + "integrity": "sha512-XGq/RUuhqnLlApETBmBWDszNG4TR3FCOSNwFvok1UIPgFXxjh0JOzNc5mAX1St2hfx1IDb9Ja4BmTkYKix7byg==", "dependencies": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", "bowser": "^2.11.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 10.0.0" } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.53.0.tgz", - "integrity": "sha512-84nczaF0eZMRkZ7chJh7OZd4ekV31eWmw8LOTJ4RQeeRy+0eY8th23yKyt5TU+YgmMLrY0BVK7103BQAI/6ccQ==", - "dependencies": { - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/credential-provider-imds": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz", + "integrity": "sha512-ch9VR4OKYGEaNbLhX/EyZDpNZst5T+/VYsFyqMA47J0YyMbg7GWyn2FjjhZ7qOV3XU6W8YEBNdd7U/LFFVp8uA==", + "dependencies": { + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/credential-provider-imds": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 10.0.0" } }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.52.0.tgz", - "integrity": "sha512-YYMZg8odn/hBURgL/w82ay2mvPqXHMdujlSndT1ddUSTRoZX67N3hfYYf36nOalDOjNcanIvFHe4Fe8nw+8JiA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz", + "integrity": "sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" @@ -1138,146 +1134,171 @@ "node": ">= 12.0.0" } }, + "node_modules/@aws-sdk/util-middleware": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz", + "integrity": "sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA==", + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/@aws-sdk/util-stream-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.53.0.tgz", - "integrity": "sha512-oh+PVTeo7nvkuXwlrAy6TErTpzTRrtxaL+2ErTFiLFPPFKK2/0X0E12zoNB0DMaY48sRdkJmrlLbOtxGDS1rNg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz", + "integrity": "sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-hex-encoding": "3.170.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-stream-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.53.0.tgz", - "integrity": "sha512-Hubb2cvn2idlNsHkJ5v46wW+cvodLySGJCqTat5kUAoOxR20ZFG3P3R6InU85PAh54zZTRvURuD0UM0uPtIQYQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz", + "integrity": "sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA==", "dependencies": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.52.0.tgz", - "integrity": "sha512-W9zw5tE8syjg17jiCYtyF99F0FgDIekQdLg+tQGobw9EtCxlUdg48UYhifPfnjvVyADRX2ntclHF9NmhusOQaQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz", + "integrity": "sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.53.0.tgz", - "integrity": "sha512-fJsxzjo4UMv2o6KYSvw8cwfDhAQiao3X+iY1lGNVKrcY2bnI4zW5pWYge94oIJXMyFjjg6k6Ek+JIvGLMFY0XA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz", + "integrity": "sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug==", "dependencies": { - "@aws-sdk/types": "3.53.0", + "@aws-sdk/types": "3.178.0", "bowser": "^2.11.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.53.0.tgz", - "integrity": "sha512-YbrqMpTi+ArL9qG+NIXPInmnjGwYu0lohiH5uyEMHAHolqg4vqdKBlXyZ7Pjls2Nka7px2UUfX/Ba2RIssBBMQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz", + "integrity": "sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw==", "dependencies": { - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.52.0.tgz", - "integrity": "sha512-LuOMa9ajWu5fQuYkmvTlQZfHaITkSle+tM/vhbU4JquRN44VUKACjRGT7UEhoU3lCL1BD0JFGMQGHI+5Mmuwfg==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz", + "integrity": "sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.52.0.tgz", - "integrity": "sha512-fujr7zeobZ2y5nnOnQZrCPPc+lCAhtNF/LEVslsQfd+AQ0bYWiosrKNetodQVWlfh10E2+i6/5g+1SBJ5kjsLw==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz", + "integrity": "sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-waiter": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.53.0.tgz", - "integrity": "sha512-WyiyHOzmiapbbwB8dtu7axRqu9u5+Mnp1/+k2Ia7cm0UMUTKLjdixPsaM89HNre3EMa8WHrDBnwyVmo/Khbq3w==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz", + "integrity": "sha512-fDBGplYp6pIIfrB7073tUhU4zppRaSiPjBCCT00yth9woWwZPUCIg7iQZKEqkBmvCzcJSYn0jRopLhf3Y7i5Wg==", "dependencies": { - "@aws-sdk/abort-controller": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/abort-controller": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.52.0.tgz", - "integrity": "sha512-GMdcxdwDZuIMlGnewdB48bpj8eqA3nubs3biy6vRFX8zhv8OqD+m5fMinoEwD8/MGqWE3WD7VZlbbdwYtNVWzQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz", + "integrity": "sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.17.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", - "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.2", - "@babel/parser": "^7.17.3", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.1", "semver": "^6.3.0" }, "engines": { @@ -1298,37 +1319,42 @@ } }, "node_modules/@babel/generator": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", - "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", "dev": true, "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", "semver": "^6.3.0" }, "engines": { @@ -1348,158 +1374,151 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz", - "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz", - "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -1545,13 +1564,13 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -1560,7 +1579,7 @@ "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -1579,9 +1598,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", - "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1650,6 +1669,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -1738,12 +1772,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -1753,33 +1787,33 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1797,12 +1831,13 @@ } }, "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1816,54 +1851,32 @@ "dev": true }, "node_modules/@eslint/eslintrc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", - "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", + "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "espree": "^9.4.0", + "globals": "^13.15.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@httptoolkit/websocket-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@httptoolkit/websocket-stream/-/websocket-stream-6.0.0.tgz", - "integrity": "sha512-EC8m9JbhpGX2okfvLakqrmy4Le0VyNKR7b3IdvFZR/BfFO4ruh/XceBvXhCFHkykchnFxuOSlRwFiqNSXlwcGA==", - "peer": true, - "dependencies": { - "@types/ws": "*", - "duplexify": "^3.5.1", - "inherits": "^2.0.1", - "isomorphic-ws": "^4.0.1", - "readable-stream": "^2.3.3", - "safe-buffer": "^5.1.2", - "ws": "*", - "xtend": "^4.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", + "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1874,6 +1887,29 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -1905,6 +1941,19 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", @@ -1918,6 +1967,45 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -1937,59 +2025,59 @@ } }, "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz", + "integrity": "sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz", + "integrity": "sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A==", "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.1.0", + "@jest/reporters": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-resolve-dependencies": "^29.1.1", + "jest-runner": "^29.1.1", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "jest-watcher": "^29.1.0", "micromatch": "^4.0.4", - "rimraf": "^3.0.0", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2001,85 +2089,111 @@ } }, "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz", + "integrity": "sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ==", "dev": true, "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", "@types/node": "*", - "jest-mock": "^27.5.1" + "jest-mock": "^29.1.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "node_modules/@jest/expect": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "expect": "^29.1.0", + "jest-snapshot": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "node_modules/@jest/expect-utils": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz", + "integrity": "sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "jest-get-type": "^29.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "node_modules/@jest/fake-timers": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz", + "integrity": "sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g==", "dev": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", + "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "chalk": "^4.0.0", + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz", + "integrity": "sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/types": "^29.1.0", + "jest-mock": "^29.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz", + "integrity": "sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", - "glob": "^7.1.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", "slash": "^3.0.0", - "source-map": "^0.6.0", "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2090,111 +2204,146 @@ } } }, + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", "dev": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.15", "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" + "graceful-fs": "^4.2.9" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz", + "integrity": "sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g==", "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.1.0", + "@jest/types": "^29.1.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz", + "integrity": "sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA==", "dev": true, "dependencies": { - "@jest/test-result": "^27.5.1", + "@jest/test-result": "^29.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" + "jest-haste-map": "^29.1.0", + "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz", + "integrity": "sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q==", "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "write-file-atomic": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz", + "integrity": "sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ==", "dev": true, "dependencies": { + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", + "@types/yargs": "^17.0.8", "chalk": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", - "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -2202,23 +2351,15 @@ } }, "node_modules/@kubernetes/client-node": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.16.3.tgz", - "integrity": "sha512-L7IckuyuPfhd+/Urib8MRas9D6sfKEq8IaITYcaE6LlU+Y8MeD7MTbuW6Yb2WdeRuFN8HPSS47mxPnOUNYBXEg==", - "dependencies": { - "@types/js-yaml": "^4.0.1", - "@types/node": "^10.12.0", - "@types/request": "^2.47.1", - "@types/stream-buffers": "^3.0.3", - "@types/tar": "^4.0.3", - "@types/underscore": "^1.8.9", - "@types/ws": "^6.0.1", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.17.1.tgz", + "integrity": "sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ==", + "dependencies": { "byline": "^5.0.0", "execa": "5.0.0", "isomorphic-ws": "^4.0.1", "js-yaml": "^4.1.0", "jsonpath-plus": "^0.19.0", - "openid-client": "^4.1.1", "request": "^2.88.0", "rfc4648": "^1.3.0", "shelljs": "^0.8.5", @@ -2228,6 +2369,9 @@ "tslib": "^1.9.3", "underscore": "^1.9.1", "ws": "^7.3.1" + }, + "optionalDependencies": { + "openid-client": "^5.1.6" } }, "node_modules/@kubernetes/client-node/node_modules/tslib": { @@ -2270,24 +2414,11 @@ "node": ">= 8" } }, - "node_modules/@panva/asn1.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", - "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@sindresorhus/is": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", - "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } + "node_modules/@sinclair/typebox": { + "version": "0.24.43", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", + "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "dev": true }, "node_modules/@sinonjs/commons": { "version": "1.8.3", @@ -2299,38 +2430,18 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/@types/babel__core": { - "version": "7.1.18", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", - "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -2360,30 +2471,24 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", "dev": true, "dependencies": { "@babel/types": "^7.3.0" } }, - "node_modules/@types/cacheable-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", - "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "node_modules/@types/glob": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", + "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", + "dev": true, "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "*", - "@types/node": "*", - "@types/responselike": "*" + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/@types/caseless": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", - "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" - }, "node_modules/@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -2393,11 +2498,6 @@ "@types/node": "*" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -2425,57 +2525,46 @@ "node_modules/@types/js-yaml": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" + "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", + "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "node_modules/@types/keyv": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", - "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/minipass": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.1.0.tgz", - "integrity": "sha512-b2yPKwCrB8x9SB65kcCistMoe3wrYnxxt5rJSZ1kprw0uOXvhuKi9kTQ746Y+Pbqoh+9C0N4zt0ztmTnG9yg7A==", - "dependencies": { - "@types/node": "*" - } + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true }, "node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "dev": true }, - "node_modules/@types/prettier": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", - "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", + "node_modules/@types/npm-package-arg": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz", + "integrity": "sha512-452/1Kp9IdM/oR10AyqAgZOxUt7eLbm+EMJ194L6oarMYdZNiFIFAOJ7IIr0OrZXTySgfHjJezh2oiyk2kc3ag==", "dev": true }, - "node_modules/@types/request": { - "version": "2.48.7", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.7.tgz", - "integrity": "sha512-GWP9AZW7foLd4YQxyFZDBepl0lPsWLMEXDZUjQ/c1gqVPDPECrRZyEzuhJdnPWioFCq3Tv0qoGpMD6U+ygd4ZA==", - "dependencies": { - "@types/caseless": "*", - "@types/node": "*", - "@types/tough-cookie": "*", - "form-data": "^2.5.0" - } + "node_modules/@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true }, - "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "node_modules/@types/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==", + "dev": true, "dependencies": { + "@types/glob": "*", "@types/node": "*" } }, @@ -2485,45 +2574,10 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@types/stream-buffers": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.4.tgz", - "integrity": "sha512-qU/K1tb2yUdhXkLIATzsIPwbtX6BpZk0l3dPW6xqWyhfzzM1ECaQ/8faEnu3CNraLiQ9LHyQQPBGp7N9Fbs25w==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/tar": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-4.0.5.tgz", - "integrity": "sha512-cgwPhNEabHaZcYIy5xeMtux2EmYBitfqEceBUi2t5+ETy4dW6kswt6WX4+HqLeiiKOo42EXbGiDmVJ2x+vi37Q==", - "dependencies": { - "@types/minipass": "*", - "@types/node": "*" - } - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", - "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" - }, - "node_modules/@types/underscore": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" - }, - "node_modules/@types/ws": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", - "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -2535,60 +2589,14 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.0.tgz", - "integrity": "sha512-KN5FvNH71bhZ8fKtL+lhW7bjm7cxs1nt+hrDZWIqb6ViCffQcWyLunGrgvISgkRojIDcXIsH+xlFfI4RCDA0xA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.8.0", - "@typescript-eslint/types": "5.8.0", - "@typescript-eslint/typescript-estree": "5.8.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.0.tgz", - "integrity": "sha512-x82CYJsLOjPCDuFFEbS6e7K1QEWj7u5Wk1alw8A+gnJiYwNnDJk0ib6PCegbaPMjrfBvFKa7SxE3EOnnIQz2Gg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", + "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.8.0", - "@typescript-eslint/visitor-keys": "5.8.0" + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2599,9 +2607,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.0.tgz", - "integrity": "sha512-LdCYOqeqZWqCMOmwFnum6YfW9F3nKuxJiR84CdIRN5nfHJ7gyvGpXWqL/AaW0k3Po0+wm93ARAsOdzlZDPCcXg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", + "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2612,17 +2620,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.0.tgz", - "integrity": "sha512-srfeZ3URdEcUsSLbkOFqS7WoxOqn8JNil2NSLO9O+I2/Uyc85+UlfpEvQHIpj5dVts7KKOZnftoJD/Fdv0L7nQ==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", + "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.8.0", - "@typescript-eslint/visitor-keys": "5.8.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { @@ -2639,9 +2647,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -2653,14 +2661,18 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.0.tgz", - "integrity": "sha512-+HDIGOEMnqbxdAHegxvnOqESUH6RWFRR2b8qxP1W9CZnnYh4Usz6MBL+2KMAgPk/P0o9c1HqnYtwzVH6GTIqug==", + "node_modules/@typescript-eslint/utils": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", + "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.8.0", - "eslint-visitor-keys": "^3.0.0" + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2668,40 +2680,54 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=8.0.0" } }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", + "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "@typescript-eslint/types": "5.38.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -2719,31 +2745,11 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -2767,12 +2773,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", - "peer": true - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -2823,9 +2823,9 @@ } }, "node_modules/ansicolor": { - "version": "1.1.95", - "resolved": "https://registry.npmjs.org/ansicolor/-/ansicolor-1.1.95.tgz", - "integrity": "sha512-R4yTmrfQZ2H9Wr5TZoM2iOz0+T6TNHqztpld7ZToaN8EaUj/06NG4r5UHQfegA9/+K/OY3E+WumprcglbcTMRA==" + "version": "1.1.100", + "resolved": "https://registry.npmjs.org/ansicolor/-/ansicolor-1.1.100.tgz", + "integrity": "sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw==" }, "node_modules/anymatch": { "version": "3.1.2", @@ -2840,16 +2840,6 @@ "node": ">= 8" } }, - "node_modules/are-we-there-yet": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", - "integrity": "sha1-otKMkxAqpsyWJFomy5VN4G7FPww=", - "peer": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.0 || ^1.1.13" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2910,23 +2900,6 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "node_modules/aws-crt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.11.0.tgz", - "integrity": "sha512-qIBDRLOKRFuPTjkOAt3Al5zbcR6YyjfEl3TUc0R/xZ64aDxWGGXDStfDpkGCLSgV7jH+o7KQ47U9PM3URiFNFg==", - "hasInstallScript": true, - "peer": true, - "dependencies": { - "@httptoolkit/websocket-stream": "^6.0.0", - "axios": "^0.24.0", - "cmake-js": "6.3.0", - "crypto-js": "^4.0.0", - "fastestsmallesttextencoderdecoder": "^1.0.22", - "mqtt": "^4.3.4", - "tar": "^6.1.11", - "ws": "^7.5.5" - } - }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -2941,30 +2914,30 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "dependencies": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz", + "integrity": "sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ==", "dev": true, "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/transform": "^29.1.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", + "babel-preset-jest": "^29.0.2", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" @@ -2987,18 +2960,18 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", + "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/babel-preset-current-node-syntax": { @@ -3025,16 +2998,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", + "babel-plugin-jest-hoist": "^29.0.2", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -3045,26 +3018,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -3073,62 +3026,10 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "peer": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "peer": true, - "dependencies": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "peer": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -3151,33 +3052,32 @@ "node": ">=8" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, "node_modules/browserslist": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz", - "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001312", - "electron-to-chromium": "^1.4.71", - "escalade": "^3.1.1", - "node-releases": "^2.0.2", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, "node_modules/bser": { @@ -3189,64 +3089,34 @@ "node-int64": "^0.4.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, - "node_modules/buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "peer": true, - "engines": { - "node": ">=0.10" + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dependencies": { + "semver": "^7.0.0" } }, - "node_modules/buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", - "peer": true - }, - "node_modules/buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "peer": true, + "node_modules/builtins/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=0.2.0" + "node": ">=10" } }, - "node_modules/builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" - }, "node_modules/byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", @@ -3255,45 +3125,6 @@ "node": ">=0.10.0" } }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -3313,32 +3144,26 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001312", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", - "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==", + "version": "1.0.30001412", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", + "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "node_modules/chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "peer": true, - "dependencies": { - "traverse": ">=0.3.0 <0.4" - }, - "engines": { - "node": "*" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -3378,9 +3203,9 @@ } }, "node_modules/ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", "dev": true }, "node_modules/cjs-module-lexer": { @@ -3393,6 +3218,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, "engines": { "node": ">=6" } @@ -3461,227 +3287,10 @@ "node": ">=8" } }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/cmake-js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.3.0.tgz", - "integrity": "sha512-1uqTOmFt6BIqKlrX+39/aewU/JVhyZWDqwAL+6psToUwxj3yWPJiwxiZFmV0XdcoWmqGs7peZTxTbJtAcH8hxw==", - "peer": true, - "dependencies": { - "axios": "^0.21.1", - "debug": "^4", - "fs-extra": "^5.0.0", - "is-iojs": "^1.0.1", - "lodash": "^4", - "memory-stream": "0", - "npmlog": "^1.2.0", - "rc": "^1.2.7", - "semver": "^5.0.3", - "splitargs": "0", - "tar": "^4", - "unzipper": "^0.8.13", - "url-join": "0", - "which": "^1.0.9", - "yargs": "^3.6.0" - }, - "bin": { - "cmake-js": "bin/cmake-js" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/cmake-js/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cmake-js/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "peer": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/cmake-js/node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cmake-js/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "peer": true - }, - "node_modules/cmake-js/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "peer": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/cmake-js/node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "peer": true, - "dependencies": { - "minipass": "^2.6.0" - } - }, - "node_modules/cmake-js/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "peer": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cmake-js/node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "peer": true, - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/cmake-js/node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "peer": true, - "dependencies": { - "minipass": "^2.9.0" - } - }, - "node_modules/cmake-js/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "peer": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/cmake-js/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "peer": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cmake-js/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "peer": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cmake-js/node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "peer": true, - "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/cmake-js/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "peer": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cmake-js/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "peer": true - }, - "node_modules/cmake-js/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "peer": true - }, - "node_modules/cmake-js/node_modules/yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "peer": true, - "dependencies": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" - } - }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "engines": { "iojs": ">= 1.0.0", @@ -3719,9 +3328,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, "node_modules/combined-stream": { @@ -3736,72 +3345,24 @@ } }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", "dev": true, "engines": { - "node": ">= 12" - } - }, - "node_modules/commist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", - "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", - "peer": true, - "dependencies": { - "leven": "^2.1.0", - "minimist": "^1.1.0" - } - }, - "node_modules/commist/node_modules/leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "peer": true, - "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || >=14" } }, "node_modules/compare-versions": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.2.tgz", - "integrity": "sha512-LAfbAbAgjnIwPsr2fvJLfrSyqAhK5nj/ffIg7a5aigry9RXJfNzVnOu0Egw8Z+G8LMDu1Qig2q48bpBzjyjZoQ==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz", + "integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ==" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "engines": [ - "node >= 6.0" - ], - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -3820,7 +3381,8 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -3849,36 +3411,6 @@ "node": ">= 8" } }, - "node_modules/crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", - "peer": true - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3890,24 +3422,11 @@ "node": ">=0.10" } }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -3928,41 +3447,10 @@ "node": ">=0.10.0" } }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "node_modules/deep-extend": { @@ -3988,14 +3476,6 @@ "node": ">=0.10.0" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "engines": { - "node": ">=10" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -4004,12 +3484,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "peer": true - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -4020,12 +3494,12 @@ } }, "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/dir-glob": { @@ -4052,54 +3526,12 @@ "node": ">=6.0.0" } }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==", "engines": { - "node": ">=10" - } - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "peer": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "peer": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "node": ">=12" } }, "node_modules/ecc-jsbn": { @@ -4112,18 +3544,18 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.75", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz", - "integrity": "sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q==", + "version": "1.4.265", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.265.tgz", + "integrity": "sha512-38KaYBNs0oCzWCpr6j7fY/W9vF0vSp4tKFIshQTgdZMhUpkxgotkQgjJP6iGMdmlsgMs3i0/Hkko4UXLTrkYVQ==", "dev": true }, "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sindresorhus/emittery?sponsor=1" @@ -4135,14 +3567,6 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -4179,87 +3603,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/eslint": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", - "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.2.0", - "@humanwhocodes/config-array": "^0.9.2", + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -4269,30 +3622,32 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", + "find-up": "^5.0.0", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" @@ -4305,9 +3660,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", - "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -4317,19 +3672,19 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz", + "integrity": "sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" + "@typescript-eslint/utils": "^5.10.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@typescript-eslint/eslint-plugin": { @@ -4390,17 +3745,20 @@ } }, "node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "dev": true, "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -4483,25 +3841,26 @@ "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "@jest/expect-utils": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/extend": { @@ -4523,9 +3882,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -4535,7 +3894,7 @@ "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, "node_modules/fast-glob/node_modules/glob-parent": { @@ -4573,12 +3932,6 @@ "url": "https://paypal.me/naturalintelligence" } }, - "node_modules/fastestsmallesttextencoderdecoder": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz", - "integrity": "sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==", - "peer": true - }, "node_modules/fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -4589,9 +3942,9 @@ } }, "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "dependencies": { "bser": "2.1.1" @@ -4622,16 +3975,19 @@ } }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat-cache": { @@ -4654,9 +4010,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -4681,27 +4037,16 @@ } }, "node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "node": ">= 6" } }, "node_modules/fs-minipass": { @@ -4734,69 +4079,11 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/fstream/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "peer": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/fstream/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gauge": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", - "peer": true, - "dependencies": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -4874,9 +4161,9 @@ } }, "node_modules/globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -4889,16 +4176,16 @@ } }, "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { @@ -4908,35 +4195,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/got": { - "version": "11.8.3", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", - "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -4971,64 +4240,30 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "peer": true - }, - "node_modules/help-me": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", - "integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==", - "peer": true, - "dependencies": { - "glob": "^7.1.6", - "readable-stream": "^3.6.0" - } - }, - "node_modules/help-me/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=8" } }, "node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", + "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", + "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/html-escaper": { @@ -5037,25 +4272,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -5070,31 +4286,6 @@ "npm": ">=1.3.7" } }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -5103,46 +4294,6 @@ "node": ">=10.17.0" } }, - "node_modules/i": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", - "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -5200,6 +4351,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, "engines": { "node": ">=8" } @@ -5297,12 +4449,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-iojs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-iojs/-/is-iojs-1.1.0.tgz", - "integrity": "sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=", - "peer": true - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -5312,12 +4458,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -5342,7 +4482,8 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", @@ -5372,9 +4513,9 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", "dev": true, "dependencies": { "@babel/core": "^7.12.3", @@ -5425,9 +4566,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -5438,20 +4579,21 @@ } }, "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==", "dev": true, "dependencies": { - "@jest/core": "^27.5.1", + "@jest/core": "^29.1.1", + "@jest/types": "^29.1.0", "import-local": "^3.0.2", - "jest-cli": "^27.5.1" + "jest-cli": "^29.1.1" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -5463,73 +4605,72 @@ } }, "node_modules/jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", "execa": "^5.0.0", - "throat": "^6.0.1" + "p-limit": "^3.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz", + "integrity": "sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", - "expect": "^27.5.1", "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", + "jest-each": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.1.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "stack-utils": "^2.0.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz", + "integrity": "sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q==", "dev": true, "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/core": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-config": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", "prompts": "^2.0.1", - "yargs": "^16.2.0" + "yargs": "^17.3.1" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -5540,100 +4681,46 @@ } } }, - "node_modules/jest-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/jest-cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz", + "integrity": "sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg==", "dev": true, "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.1.0", + "@jest/types": "^29.1.0", + "babel-jest": "^29.1.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", - "glob": "^7.1.1", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-circus": "^29.1.1", + "jest-environment-node": "^29.1.1", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-runner": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { + "@types/node": "*", "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, "ts-node": { "optional": true } @@ -5658,205 +4745,159 @@ } }, "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz", + "integrity": "sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz", + "integrity": "sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" + "jest-get-type": "^29.0.0", + "jest-util": "^29.1.0", + "pretty-format": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz", + "integrity": "sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw==", "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz", + "integrity": "sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", + "@jest/types": "^29.1.0", + "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", "micromatch": "^4.0.4", - "walker": "^1.0.7" + "walker": "^1.0.8" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz", + "integrity": "sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q==", "dev": true, "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz", + "integrity": "sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz", + "integrity": "sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz", + "integrity": "sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-util": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-pnp-resolver": { @@ -5877,164 +4918,151 @@ } }, "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz", + "integrity": "sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", + "jest-haste-map": "^29.1.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz", + "integrity": "sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz", + "integrity": "sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ==", "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.1.0", + "@jest/environment": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-leak-detector": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-resolve": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-util": "^29.1.0", + "jest-watcher": "^29.1.0", + "jest-worker": "^29.1.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz", + "integrity": "sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/globals": "^29.1.1", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz", + "integrity": "sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g==", "dev": true, "dependencies": { - "@babel/core": "^7.7.2", + "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^27.5.1", + "expect": "^29.1.0", "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" + "pretty-format": "^29.1.0", + "semver": "^7.3.5" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -6047,12 +5075,12 @@ } }, "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz", + "integrity": "sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -6060,24 +5088,24 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz", + "integrity": "sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", + "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "pretty-format": "^29.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/camelcase": { @@ -6093,27 +5121,28 @@ } }, "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz", + "integrity": "sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg==", "dev": true, "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^27.5.1", + "emittery": "^0.10.2", + "jest-util": "^29.1.0", "string-length": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz", + "integrity": "sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -6121,7 +5150,7 @@ "supports-color": "^8.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker/node_modules/supports-color": { @@ -6140,24 +5169,19 @@ } }, "node_modules/jose": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz", - "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==", - "dependencies": { - "@panva/asn1.js": "^1.0.0" - }, - "engines": { - "node": ">=10.13.0 < 13 || >=13.7.0" - }, + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.10.0.tgz", + "integrity": "sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw==", + "optional": true, "funding": { "url": "https://github.com/sponsors/panva" } }, "node_modules/js-sdsl": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-2.1.4.tgz", - "integrity": "sha512-/Ew+CJWHNddr7sjwgxaVeIORIH4AMVC9dy0hPf540ZGMVgS9d3ajwuVdyhDt6/QUvT8ATjR3yuYBKsS79F+H4A==", - "peer": true + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", + "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", + "dev": true }, "node_modules/js-tokens": { "version": "4.0.0", @@ -6181,66 +5205,6 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "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" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -6253,11 +5217,6 @@ "node": ">=4" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -6286,13 +5245,10 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -6300,15 +5256,6 @@ "node": ">=6" } }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/jsonpath-plus": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz", @@ -6331,14 +5278,6 @@ "node": ">=0.6.0" } }, - "node_modules/keyv": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", - "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -6382,95 +5321,164 @@ } }, "node_modules/lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lint-staged": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", + "integrity": "sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==", + "dev": true, + "dependencies": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.17", + "commander": "^9.3.0", + "debug": "^4.3.4", + "execa": "^6.1.0", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.1.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", + "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", + "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "dev": true, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/lint-staged": { - "version": "12.3.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.3.4.tgz", - "integrity": "sha512-yv/iK4WwZ7/v0GtVkNb3R82pdL9M+ScpIbJLJNyCXkJ1FGaXvRCOg/SeL59SZtPpqZhE7BD6kPKFLIDUhDx2/w==", + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, "dependencies": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", - "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", - "string-argv": "^0.3.1", - "supports-color": "^9.2.1", - "yaml": "^1.10.2" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" + "path-key": "^4.0.0" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/lint-staged" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "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" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", - "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", - "peer": true + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/listr2": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.4.tgz", - "integrity": "sha512-vJOm5KD6uZXjSsrwajr+mNacIjf87gWvlBEltPWLbTkslUscWAzquyK4xfe9Zd4RDgO5nnwFyV06FC+uVR+5mg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", + "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", "dev": true, "dependencies": { "cli-truncate": "^2.1.0", @@ -6478,7 +5486,7 @@ "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.4", + "rxjs": "^7.5.5", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, @@ -6580,15 +5588,18 @@ } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -6607,24 +5618,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=", - "peer": true - }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", - "peer": true - }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", - "peer": true - }, "node_modules/log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", @@ -6703,14 +5696,6 @@ "node": ">=8" } }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -6746,11 +5731,6 @@ "semver": "bin/semver.js" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -6760,39 +5740,6 @@ "tmpl": "1.0.5" } }, - "node_modules/memory-stream": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/memory-stream/-/memory-stream-0.0.3.tgz", - "integrity": "sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=", - "peer": true, - "dependencies": { - "readable-stream": "~1.0.26-2" - } - }, - "node_modules/memory-stream/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "peer": true - }, - "node_modules/memory-stream/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "peer": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/memory-stream/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "peer": true - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -6808,13 +5755,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -6847,18 +5794,10 @@ "node": ">=6" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -6905,80 +5844,11 @@ "node": ">=10" } }, - "node_modules/mqtt": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-4.3.6.tgz", - "integrity": "sha512-1dgQbkbh1Bba9iAGDNIrhSZ4nLDjbhmNHjOEvsmKI1Bb+2orj0gHwjqUKJ5CKUMKBYbkQYRM1fy+N1/2iZOj5w==", - "peer": true, - "dependencies": { - "commist": "^1.0.0", - "concat-stream": "^2.0.0", - "debug": "^4.1.1", - "duplexify": "^4.1.1", - "help-me": "^3.0.0", - "inherits": "^2.0.3", - "lru-cache": "^6.0.0", - "minimist": "^1.2.5", - "mqtt-packet": "^6.8.0", - "number-allocator": "^1.0.9", - "pump": "^3.0.0", - "readable-stream": "^3.6.0", - "reinterval": "^1.1.0", - "rfdc": "^1.3.0", - "split2": "^3.1.0", - "ws": "^7.5.5", - "xtend": "^4.0.2" - }, - "bin": { - "mqtt": "bin/mqtt.js", - "mqtt_pub": "bin/pub.js", - "mqtt_sub": "bin/sub.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/mqtt-packet": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", - "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==", - "peer": true, - "dependencies": { - "bl": "^4.0.2", - "debug": "^4.1.1", - "process-nextick-args": "^2.0.1" - } - }, - "node_modules/mqtt/node_modules/duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "peer": true, - "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "node_modules/mqtt/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", @@ -6989,13 +5859,13 @@ "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node_modules/node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", "dev": true }, "node_modules/normalize-package-data": { @@ -7023,28 +5893,18 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz", + "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==", "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm-package-arg/node_modules/semver": { @@ -7240,27 +6100,6 @@ "node": ">=8" } }, - "node_modules/npmlog": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", - "integrity": "sha1-KOe+YZYJtT960d0wChDWTXFiaLY=", - "peer": true, - "dependencies": { - "ansi": "~0.3.0", - "are-we-there-yet": "~1.0.0", - "gauge": "~1.2.0" - } - }, - "node_modules/number-allocator": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.10.tgz", - "integrity": "sha512-K4AvNGKo9lP6HqsZyfSr9KDaqnwFzW203inhQEOwFrmFaYevpdX4VNwdOLk197aHujzbT//z6pCBrCOUYSM5iw==", - "peer": true, - "dependencies": { - "debug": "^4.3.1", - "js-sdsl": "^2.1.2" - } - }, "node_modules/number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -7269,12 +6108,6 @@ "node": ">=0.10.0" } }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -7287,14 +6120,15 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "optional": true, "engines": { "node": ">= 6" } }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7304,6 +6138,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", + "optional": true, "engines": { "node": "^10.13.0 || >=12.0.0" } @@ -7331,20 +6166,18 @@ } }, "node_modules/openid-client": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-4.9.1.tgz", - "integrity": "sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.9.tgz", + "integrity": "sha512-o/11Xos2fRPpK1zQrPfSIhIusFrAkqGSPwkD0UlUB+CCuRzd7zrrBJwIjgnVv3VUSif9ZGXh2d3GSJNH2Koh5g==", + "optional": true, "dependencies": { - "aggregate-error": "^3.1.0", - "got": "^11.8.0", - "jose": "^2.0.5", + "jose": "^4.1.4", "lru-cache": "^6.0.0", - "make-error": "^1.3.6", "object-hash": "^2.0.1", "oidc-token-hash": "^5.0.1" }, "engines": { - "node": "^10.19.0 || >=12.0.0 < 13 || >=13.7.0 < 14 || >= 14.2.0" + "node": "^12.19.0 || ^14.15.0 || ^16.13.0" }, "funding": { "url": "https://github.com/sponsors/panva" @@ -7387,39 +6220,34 @@ "node": ">= 0.4.0" } }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { @@ -7469,12 +6297,6 @@ "node": ">=0.10.0" } }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -7526,9 +6348,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -7537,6 +6359,18 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -7585,6 +6419,58 @@ "node": ">=8" } }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", @@ -7667,29 +6553,32 @@ } }, "node_modules/prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz", + "integrity": "sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "react-is": "^18.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { @@ -7709,10 +6598,19 @@ "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", "integrity": "sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g=" }, + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/prompts": { "version": "2.4.2", @@ -7738,15 +6636,6 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -7783,17 +6672,6 @@ } ] }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -7817,9 +6695,9 @@ } }, "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, "node_modules/read-pkg": { @@ -7887,6 +6765,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -7900,7 +6779,8 @@ "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/rechoir": { "version": "0.6.2", @@ -7936,12 +6816,6 @@ "node": ">=0.10.0" } }, - "node_modules/reinterval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", - "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=", - "peer": true - }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -8027,11 +6901,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - }, "node_modules/resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", @@ -8071,14 +6940,6 @@ "node": ">=10" } }, - "node_modules/responselike": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", - "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", - "dependencies": { - "lowercase-keys": "^2.0.0" - } - }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -8110,7 +6971,8 @@ "node_modules/rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true }, "node_modules/rimraf": { "version": "3.0.2", @@ -8150,9 +7012,9 @@ } }, "node_modules/rxjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz", - "integrity": "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", "dev": true, "dependencies": { "tslib": "^2.1.0" @@ -8182,18 +7044,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -8207,12 +7057,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "peer": true - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -8249,9 +7093,9 @@ } }, "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/sisteransi": { "version": "1.0.5", @@ -8306,9 +7150,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", @@ -8369,39 +7213,10 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "peer": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/splitargs": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz", - "integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs=", - "peer": true - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "node_modules/sshpk": { @@ -8457,16 +7272,11 @@ "node": ">= 0.10.0" } }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "peer": true - }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -8474,7 +7284,8 @@ "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/string-argv": { "version": "0.3.1", @@ -8595,9 +7406,9 @@ } }, "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, "dependencies": { "has-flag": "^4.0.0", @@ -8607,12 +7418,6 @@ "node": ">=8" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, "node_modules/system-commands": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz", @@ -8670,16 +7475,10 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "node_modules/tmp": { @@ -8710,7 +7509,7 @@ "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { "node": ">=4" @@ -8728,41 +7527,6 @@ "node": ">=8.0" } }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/treeify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", @@ -8849,23 +7613,14 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "node_modules/typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true, - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8879,64 +7634,32 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==" }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unzipper": { - "version": "0.8.14", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.8.14.tgz", - "integrity": "sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==", - "peer": true, - "dependencies": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "~1.0.10", - "listenercount": "~1.0.1", - "readable-stream": "~2.1.5", - "setimmediate": "~1.0.4" - } - }, - "node_modules/unzipper/node_modules/bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", - "peer": true - }, - "node_modules/unzipper/node_modules/process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "peer": true - }, - "node_modules/unzipper/node_modules/readable-stream": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", - "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", - "peer": true, + "node_modules/update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "buffer-shims": "^1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/unzipper/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "peer": true - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -8945,16 +7668,11 @@ "punycode": "^2.1.0" } }, - "node_modules/url-join": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz", - "integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=", - "peer": true - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "node_modules/uuid": { "version": "8.3.2", @@ -8964,35 +7682,20 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", "dev": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "convert-source-map": "^1.6.0" }, "engines": { "node": ">=10.12.0" } }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -9003,11 +7706,14 @@ } }, "node_modules/validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "dependencies": { - "builtins": "^1.0.3" + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/verror": { @@ -9028,27 +7734,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -9058,68 +7743,6 @@ "makeerror": "1.0.12" } }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "peer": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", - "peer": true, - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -9177,15 +7800,16 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/ws": { @@ -9208,27 +7832,6 @@ } } }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "peer": true, - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -9243,18 +7846,18 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", + "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", "dev": true, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -9269,9 +7872,9 @@ } }, "node_modules/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { "node": ">=12" } @@ -9301,16 +7904,29 @@ "engines": { "node": ">=8" } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@aws-crypto/crc32": { @@ -9437,11 +8053,11 @@ } }, "@aws-crypto/util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz", - "integrity": "sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", "requires": { - "@aws-sdk/types": "^3.1.0", + "@aws-sdk/types": "^3.110.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" }, @@ -9454,784 +8070,773 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.53.0.tgz", - "integrity": "sha512-Xe7IX2mpf/qOjh1LrPnJ1UtiDw3cBlmy8n+Q2xSP5vaS/9IH0OMdQUveC9MV9HSgzICX+xzbPyUuSKc+4tufBQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz", + "integrity": "sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/chunked-blob-reader": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.52.0.tgz", - "integrity": "sha512-BAZhriHHfvnGOd0P9xcnGu8DGyxOa0lgmEw+Tc6nZpXJzx0P+1Sd76q5gE5d/IZ0r5VTB6rfwwKUoG6iShNCwQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz", + "integrity": "sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.52.0.tgz", - "integrity": "sha512-/hVzC0Q12/mWRMBBQD3v82xsLSxZ4RwG6N44XP7MuJoHy4ui4T7D9RSuvBpzzr/4fqF0w9M7XYv6aM4BD2pFIQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz", + "integrity": "sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w==", "requires": { - "@aws-sdk/util-base64-browser": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/util-base64-browser": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/client-s3": { - "version": "3.53.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.53.1.tgz", - "integrity": "sha512-uAhjR/TAuXNct6BL/shVg2f/6Zg1EZoXTG8KIywfmLitiUF0PvYwfwSPtNohkz6czgTs/rtirAZHAQKi8jjieA==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz", + "integrity": "sha512-0YuIHk0dNvROz3IVNt3BHRPMhmd4jKnL84nXFomBViU7L7S09Pu8EjnZOTxjsiI2aAndj42kRqZOl5NjAaoTvQ==", "requires": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.53.0", - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/credential-provider-node": "3.53.0", - "@aws-sdk/eventstream-serde-browser": "3.53.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.53.0", - "@aws-sdk/eventstream-serde-node": "3.53.0", - "@aws-sdk/fetch-http-handler": "3.53.0", - "@aws-sdk/hash-blob-browser": "3.53.0", - "@aws-sdk/hash-node": "3.53.0", - "@aws-sdk/hash-stream-node": "3.53.1", - "@aws-sdk/invalid-dependency": "3.53.0", - "@aws-sdk/md5-js": "3.53.0", - "@aws-sdk/middleware-bucket-endpoint": "3.53.0", - "@aws-sdk/middleware-content-length": "3.53.0", - "@aws-sdk/middleware-expect-continue": "3.53.0", - "@aws-sdk/middleware-flexible-checksums": "3.53.0", - "@aws-sdk/middleware-host-header": "3.53.0", - "@aws-sdk/middleware-location-constraint": "3.53.0", - "@aws-sdk/middleware-logger": "3.53.0", - "@aws-sdk/middleware-retry": "3.53.0", - "@aws-sdk/middleware-sdk-s3": "3.53.0", - "@aws-sdk/middleware-serde": "3.53.0", - "@aws-sdk/middleware-signing": "3.53.0", - "@aws-sdk/middleware-ssec": "3.53.0", - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/middleware-user-agent": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/node-http-handler": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/smithy-client": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "@aws-sdk/util-base64-node": "3.52.0", - "@aws-sdk/util-body-length-browser": "3.52.0", - "@aws-sdk/util-body-length-node": "3.52.0", - "@aws-sdk/util-defaults-mode-browser": "3.53.0", - "@aws-sdk/util-defaults-mode-node": "3.53.0", - "@aws-sdk/util-stream-browser": "3.53.0", - "@aws-sdk/util-stream-node": "3.53.0", - "@aws-sdk/util-user-agent-browser": "3.53.0", - "@aws-sdk/util-user-agent-node": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", - "@aws-sdk/util-waiter": "3.53.0", - "@aws-sdk/xml-builder": "3.52.0", + "@aws-sdk/client-sts": "3.180.0", + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/eventstream-serde-browser": "3.178.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.178.0", + "@aws-sdk/eventstream-serde-node": "3.178.0", + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/hash-blob-browser": "3.178.0", + "@aws-sdk/hash-node": "3.178.0", + "@aws-sdk/hash-stream-node": "3.178.0", + "@aws-sdk/invalid-dependency": "3.178.0", + "@aws-sdk/md5-js": "3.178.0", + "@aws-sdk/middleware-bucket-endpoint": "3.178.0", + "@aws-sdk/middleware-content-length": "3.178.0", + "@aws-sdk/middleware-expect-continue": "3.178.0", + "@aws-sdk/middleware-flexible-checksums": "3.178.0", + "@aws-sdk/middleware-host-header": "3.178.0", + "@aws-sdk/middleware-location-constraint": "3.178.0", + "@aws-sdk/middleware-logger": "3.178.0", + "@aws-sdk/middleware-recursion-detection": "3.178.0", + "@aws-sdk/middleware-retry": "3.178.0", + "@aws-sdk/middleware-sdk-s3": "3.178.0", + "@aws-sdk/middleware-serde": "3.178.0", + "@aws-sdk/middleware-signing": "3.179.0", + "@aws-sdk/middleware-ssec": "3.178.0", + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/middleware-user-agent": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4-multi-region": "3.180.0", + "@aws-sdk/smithy-client": "3.180.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-node": "3.170.0", + "@aws-sdk/util-body-length-browser": "3.170.0", + "@aws-sdk/util-body-length-node": "3.170.0", + "@aws-sdk/util-defaults-mode-browser": "3.180.0", + "@aws-sdk/util-defaults-mode-node": "3.180.0", + "@aws-sdk/util-stream-browser": "3.178.0", + "@aws-sdk/util-stream-node": "3.178.0", + "@aws-sdk/util-user-agent-browser": "3.178.0", + "@aws-sdk/util-user-agent-node": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/util-waiter": "3.180.0", + "@aws-sdk/xml-builder": "3.170.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/client-sso": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.53.0.tgz", - "integrity": "sha512-X32YHHc5MO7xO4W3Ly8DeryieeEiDOsnl6ypBkfML7loO3M0ckvvL+HnNUR1J+HYyseEV7V93BsF/A1z5HmINQ==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz", + "integrity": "sha512-wwhGa+Jksc4NE+4MZVv0Jkvt1C10/Gd5NATiv+hjcCY7DdxQ31UsbUrbZ38tBK8XX+vqFlcrP1AsoXNvrjBBVw==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/fetch-http-handler": "3.53.0", - "@aws-sdk/hash-node": "3.53.0", - "@aws-sdk/invalid-dependency": "3.53.0", - "@aws-sdk/middleware-content-length": "3.53.0", - "@aws-sdk/middleware-host-header": "3.53.0", - "@aws-sdk/middleware-logger": "3.53.0", - "@aws-sdk/middleware-retry": "3.53.0", - "@aws-sdk/middleware-serde": "3.53.0", - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/middleware-user-agent": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/node-http-handler": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/smithy-client": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "@aws-sdk/util-base64-node": "3.52.0", - "@aws-sdk/util-body-length-browser": "3.52.0", - "@aws-sdk/util-body-length-node": "3.52.0", - "@aws-sdk/util-defaults-mode-browser": "3.53.0", - "@aws-sdk/util-defaults-mode-node": "3.53.0", - "@aws-sdk/util-user-agent-browser": "3.53.0", - "@aws-sdk/util-user-agent-node": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/hash-node": "3.178.0", + "@aws-sdk/invalid-dependency": "3.178.0", + "@aws-sdk/middleware-content-length": "3.178.0", + "@aws-sdk/middleware-host-header": "3.178.0", + "@aws-sdk/middleware-logger": "3.178.0", + "@aws-sdk/middleware-recursion-detection": "3.178.0", + "@aws-sdk/middleware-retry": "3.178.0", + "@aws-sdk/middleware-serde": "3.178.0", + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/middleware-user-agent": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/smithy-client": "3.180.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-node": "3.170.0", + "@aws-sdk/util-body-length-browser": "3.170.0", + "@aws-sdk/util-body-length-node": "3.170.0", + "@aws-sdk/util-defaults-mode-browser": "3.180.0", + "@aws-sdk/util-defaults-mode-node": "3.180.0", + "@aws-sdk/util-user-agent-browser": "3.178.0", + "@aws-sdk/util-user-agent-node": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/client-sts": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.53.0.tgz", - "integrity": "sha512-MNG+Pmw/zZQ0kboZtsc8UEGM9pn8abjStDN0Yk67fwFAZMqz8sUHDtFXpa3gSXMrFqBwT+jMFXmIxqiq7XuAeA==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz", + "integrity": "sha512-QSgbYPrZ1QZTaxV3fwziVPvctwaAjdTMxA4VSMDh2yTFPIDmA8IMi8doEAcRaJeUK5n9UR8O3oWOs+wAs9Mkpw==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/credential-provider-node": "3.53.0", - "@aws-sdk/fetch-http-handler": "3.53.0", - "@aws-sdk/hash-node": "3.53.0", - "@aws-sdk/invalid-dependency": "3.53.0", - "@aws-sdk/middleware-content-length": "3.53.0", - "@aws-sdk/middleware-host-header": "3.53.0", - "@aws-sdk/middleware-logger": "3.53.0", - "@aws-sdk/middleware-retry": "3.53.0", - "@aws-sdk/middleware-sdk-sts": "3.53.0", - "@aws-sdk/middleware-serde": "3.53.0", - "@aws-sdk/middleware-signing": "3.53.0", - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/middleware-user-agent": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/node-http-handler": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/smithy-client": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "@aws-sdk/util-base64-node": "3.52.0", - "@aws-sdk/util-body-length-browser": "3.52.0", - "@aws-sdk/util-body-length-node": "3.52.0", - "@aws-sdk/util-defaults-mode-browser": "3.53.0", - "@aws-sdk/util-defaults-mode-node": "3.53.0", - "@aws-sdk/util-user-agent-browser": "3.53.0", - "@aws-sdk/util-user-agent-node": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/hash-node": "3.178.0", + "@aws-sdk/invalid-dependency": "3.178.0", + "@aws-sdk/middleware-content-length": "3.178.0", + "@aws-sdk/middleware-host-header": "3.178.0", + "@aws-sdk/middleware-logger": "3.178.0", + "@aws-sdk/middleware-recursion-detection": "3.178.0", + "@aws-sdk/middleware-retry": "3.178.0", + "@aws-sdk/middleware-sdk-sts": "3.179.0", + "@aws-sdk/middleware-serde": "3.178.0", + "@aws-sdk/middleware-signing": "3.179.0", + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/middleware-user-agent": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/smithy-client": "3.180.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-node": "3.170.0", + "@aws-sdk/util-body-length-browser": "3.170.0", + "@aws-sdk/util-body-length-node": "3.170.0", + "@aws-sdk/util-defaults-mode-browser": "3.180.0", + "@aws-sdk/util-defaults-mode-node": "3.180.0", + "@aws-sdk/util-user-agent-browser": "3.178.0", + "@aws-sdk/util-user-agent-node": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/config-resolver": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.53.0.tgz", - "integrity": "sha512-wAqP/xNx49H1dutHWHjhKduaKtAcDg2KoH25W6peW2qXZ6OfpVcxRIBbJE4Z0yGOmFFaxw0OeH3h2ptP7tdhGQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz", + "integrity": "sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w==", "requires": { - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-config-provider": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-config-provider": "3.170.0", + "@aws-sdk/util-middleware": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-env": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.53.0.tgz", - "integrity": "sha512-ocqZ4w7y7eay2M+uUBAD6NkhikUPoajEFX1/7iMvEFMmS5MyzjuolHPNK7Hh8lFmPyoflxaMXJVKO8C1MguA/A==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz", + "integrity": "sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w==", "requires": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.53.0.tgz", - "integrity": "sha512-aKc8POSqCi58566KhF1p8Sxt7LHehMnshyfQzNAOB7xshSxuWg41rxafnQU4Soq9Tz7q5bwkauR2CEUihv/TRg==", - "requires": { - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/url-parser": "3.53.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz", + "integrity": "sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA==", + "requires": { + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/url-parser": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.53.0.tgz", - "integrity": "sha512-g+UoJ1ikDrfpI1wHAhlrcBtX4OHxoLV6vakirpG27hhFwuMih565Q/Sjn3o5hLT8PBlWxwT2YeRuxCjtaL3cDA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.53.0", - "@aws-sdk/credential-provider-imds": "3.53.0", - "@aws-sdk/credential-provider-sso": "3.53.0", - "@aws-sdk/credential-provider-web-identity": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz", + "integrity": "sha512-P4fqj0WRHoQ/eGhym/QJNl3AndDN9vyOuDSIyOWLky+ngy/pGznZyzQzhyq7Cju0mgnBeFDac6Evq0aHax1iOA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.178.0", + "@aws-sdk/credential-provider-imds": "3.178.0", + "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-web-identity": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.53.0.tgz", - "integrity": "sha512-sy0NeuJHOBhe7XwxCX2y+YZAB4CqcHveyXJfT6mv7eY6bYQskkMTCPp2D586hSH3c6cfIsmvLSxNhNJApj1Atw==", - "requires": { - "@aws-sdk/credential-provider-env": "3.53.0", - "@aws-sdk/credential-provider-imds": "3.53.0", - "@aws-sdk/credential-provider-ini": "3.53.0", - "@aws-sdk/credential-provider-process": "3.53.0", - "@aws-sdk/credential-provider-sso": "3.53.0", - "@aws-sdk/credential-provider-web-identity": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz", + "integrity": "sha512-M3vevtIcTAlROJEJo2WIVDVrL077vh1j3w0b5IwizCvcpHBiZ+2agWcFVR/NfCvFbdYjZd49otGnbCUMHWiRcA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.178.0", + "@aws-sdk/credential-provider-imds": "3.178.0", + "@aws-sdk/credential-provider-ini": "3.180.0", + "@aws-sdk/credential-provider-process": "3.178.0", + "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-web-identity": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-process": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.53.0.tgz", - "integrity": "sha512-nazHndueCa4y5jUM58OHSysb52E953r3VhmpCs0qIv1ZH5Ijs3kT/usbUq7Yms7pcpaUmpu00VZTc6IfOOC0GA==", - "requires": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz", + "integrity": "sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw==", + "requires": { + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.53.0.tgz", - "integrity": "sha512-EongClNxdVw+O4y+S0mZFjNeLHv1ssdAnBM/9L1PfR6sH06eikVmU6isEN2quwoKBy9HRVPaIVF075Q8QIpipg==", - "requires": { - "@aws-sdk/client-sso": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-credentials": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz", + "integrity": "sha512-hv8qME1ISd6GN+YCa0WK73xL6p2Sx0JiSRTzgb5bvGcdxVGLzvIlFd0VAtVhP7d84Prf6EeGz0+sGEEYRusw2w==", + "requires": { + "@aws-sdk/client-sso": "3.180.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.53.0.tgz", - "integrity": "sha512-YbysBkX3mbomHJZULxk/3jyQ7NWn6rZ68IDY28bmp8cNWajWeGzDxKmR4Y+c8gNiN2ziWjUZWfHcnZC056/79Q==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz", + "integrity": "sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ==", "requires": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, - "@aws-sdk/eventstream-marshaller": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.53.0.tgz", - "integrity": "sha512-Vt8OjC0hgF0rNcGPbMEROnM5SHODzRdQsG9Y+M2suWDkUqFoh8+6m4v9c/ej3iudAEydZDLcnpV9yGv/CTqceg==", + "@aws-sdk/eventstream-codec": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz", + "integrity": "sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA==", "requires": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-hex-encoding": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-hex-encoding": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.53.0.tgz", - "integrity": "sha512-B+nAlXet/NSEIzaN4fZYGwoFHBYtURuXUE+Ru4EaWyC8+vBEdeO4Vs9o/8mlZSHGiUn41QYYqiZvd+OKweTtBA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz", + "integrity": "sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.53.0", - "@aws-sdk/eventstream-serde-universal": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/eventstream-serde-universal": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.53.0.tgz", - "integrity": "sha512-4O66c1aSgfdWfbr2pUJTONReVwA4oWQ/fRMhcAMhacqbPko5+3v0Iy/vOiVCm6Isa4K2kVpOUN0L+64niE7jag==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz", + "integrity": "sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.53.0.tgz", - "integrity": "sha512-92rlY8M8+nU4mUm3j4gtJiv9HY2fGTGLSIGLukOXAUf7xuJ220L+9ZInS4ToiRgq+dOSt8cFPCxRVpQtNesBfA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz", + "integrity": "sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.53.0", - "@aws-sdk/eventstream-serde-universal": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/eventstream-serde-universal": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-universal": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.53.0.tgz", - "integrity": "sha512-Y3OjTAKhDyz2UyLE0ATmDD3RFyBfJLWeBQkpJu7qICI0XYN2tmV1mCkQUtkT3e4s+UxnuUOa55YQpdUsQUWIDA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz", + "integrity": "sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/eventstream-codec": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.53.0.tgz", - "integrity": "sha512-0CcEYarIAVAoGzu1ClO2xDq30Jii6AevDFJYR7M9yojqAMvwjP31DY4/qfPc2nCpSAd9dASR6vcx6r/RoIynVg==", - "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/querystring-builder": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-base64-browser": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz", + "integrity": "sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ==", + "requires": { + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/querystring-builder": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/hash-blob-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.53.0.tgz", - "integrity": "sha512-A3xa0o1W9/tALw0/yoXyBKfxsMlzi1BvzEgCFUU2y914yBo62FiIf1E+BX42m9MfPJ87SD+l3O5QcptMVWvarw==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz", + "integrity": "sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ==", "requires": { - "@aws-sdk/chunked-blob-reader": "3.52.0", - "@aws-sdk/chunked-blob-reader-native": "3.52.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/chunked-blob-reader": "3.170.0", + "@aws-sdk/chunked-blob-reader-native": "3.170.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/hash-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.53.0.tgz", - "integrity": "sha512-0xK5PSUUVOPttvCLWrrUTmrKe7Fz6njPdBYvB3ESk1whXL+TY3syJj4em63Sq6yFyeuXdqyTzqfcs9fU2puWkA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz", + "integrity": "sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q==", "requires": { - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-buffer-from": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/hash-stream-node": { - "version": "3.53.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.53.1.tgz", - "integrity": "sha512-y7pUc6EtkG3TscZR9dpR/BCauP/lRepU+Td43Oe9VUhD6l3lS3TuIHUwB7PEU7NeSU9iqWuflBVK/IBWXrfH3w==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz", + "integrity": "sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/invalid-dependency": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.53.0.tgz", - "integrity": "sha512-qp2qRFa1a/AjZRCe6MZCpbaXo5t4enGAtch/83fuH4rRkzVOctYox1gyTGTliHk28rjMREtSgZDQZojp5/5M5w==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz", + "integrity": "sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/is-array-buffer": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.52.0.tgz", - "integrity": "sha512-5Pe9QKrOeSZb9Z8gtlx9CDMfxH8EiNdClBfXBbc6CiUM7y6l7UintYHkm133zM5XTqtMRYY1jaD8svVAoRPApA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz", + "integrity": "sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/md5-js": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.53.0.tgz", - "integrity": "sha512-+XbYdbxgWniyC7E4kqHC0z0Qsud/EMv9RuKghWLr7IwbUjfR7zix5+AVw3XR+FWrKrDAlyRBhyzG+60STliuiA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz", + "integrity": "sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw==", "requires": { - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-utf8-browser": "3.52.0", - "@aws-sdk/util-utf8-node": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/util-utf8-node": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.53.0.tgz", - "integrity": "sha512-q88eevXUkUWp6e/vHGnpt8/8TjscbfW6CWGpexj3DFWt3WZhEhExcoGwwszoL4FQfMFWBL+11EKNZm2orHqDwg==", - "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-arn-parser": "3.52.0", - "@aws-sdk/util-config-provider": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz", + "integrity": "sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw==", + "requires": { + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-arn-parser": "3.170.0", + "@aws-sdk/util-config-provider": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-content-length": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.53.0.tgz", - "integrity": "sha512-CXANhpL2MAE2tPKmu0cOf4Fd99useIj5kgX6UA+HWg/ZbJ4qBg6Q4W/nYVt+OuukeqwEEbpt3wv0lKQ8k/vINQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz", + "integrity": "sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ==", "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.53.0.tgz", - "integrity": "sha512-aMKtfOX9b1yx0ER0QspN2jOR/Q1ucRYEaR46yOUPjdcMHHnGxuk3kimsyGqgFm2+pPJdi9FRd9S2eC/tNjYn8w==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz", + "integrity": "sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg==", "requires": { - "@aws-sdk/middleware-header-default": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-flexible-checksums": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.53.0.tgz", - "integrity": "sha512-g069Es0Sy3So2HRz+UAwaubFKkGuxwhEf6OS9pmovY2+2yfZBOLoQmf7jS50RgbxJcUDoI7uuKZrp0BcdLDgEg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz", + "integrity": "sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A==", "requires": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.52.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-header-default": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.53.0.tgz", - "integrity": "sha512-eQLFdNBzydZoocnj7YDVO+AJZ3YhuImZ1GXzGsF9FN8IdSjuE4gwB8BQhG6vuUg3GVe+sI+7VUJT6h55OaDBXw==", - "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/is-array-buffer": "3.170.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-host-header": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.53.0.tgz", - "integrity": "sha512-w5qMAUgy52fvJGqzqruNJhv4BtkanE4I368zWiysmwXXL5xmpKs8TpkGqcSQw4g2wKS8MR2Yxh21LukHlsgAJw==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz", + "integrity": "sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ==", "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.53.0.tgz", - "integrity": "sha512-HtBy8L3XNbovHLVh6wtIIThsbdTsX+jv09M9Cmmu80eM1WXw5Uu6lJX6FdIQXfMXBTZjnmHRL+72CxEtsets8g==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz", + "integrity": "sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-logger": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.53.0.tgz", - "integrity": "sha512-jMME8OOyPHliHhVD3FaBQ+4X+FDCQovw6CYGqPdqP0JUuhR8E1LWKHV1+xRpkpOICKwBnIXrgD8/0NQo/+Z84A==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz", + "integrity": "sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz", + "integrity": "sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg==", + "requires": { + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-retry": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.53.0.tgz", - "integrity": "sha512-TKEdTLP//SjasunU3/yX7avXMxhIEDoSOaiwj77zEpPGF2NWcR99UFfqNLeJsRPCyzYScYo1JSuxIwgXHNIhyQ==", - "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/service-error-classification": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz", + "integrity": "sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ==", + "requires": { + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/service-error-classification": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-middleware": "3.178.0", + "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.53.0.tgz", - "integrity": "sha512-cq2NFixf5HBctPaUUMjV97M++q18e/WDrM61lN7eMHfdXW+TlYv4tVF9y9MaE7dpoNp7G0ORLsz05JdVdUI33g==", - "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-arn-parser": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz", + "integrity": "sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w==", + "requires": { + "@aws-sdk/middleware-bucket-endpoint": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-arn-parser": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.53.0.tgz", - "integrity": "sha512-b9AUXYqA5jaUTpWu7wPZz43RQnmy1WGPFVHd8CvcUzFdMzwJlQeH4wq+sEdZ1KtIsz6n6TmY7vobzrScgq3ftg==", - "requires": { - "@aws-sdk/middleware-signing": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.179.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz", + "integrity": "sha512-uU9UdG9ornvblXdLLNsZNpgMOA9vgFMB93zo3DL/Q6MPmYprZYyK7dUiA06i1pe4HP2gR3N3hxXwzmKU6Bjt6A==", + "requires": { + "@aws-sdk/middleware-signing": "3.179.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-serde": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.53.0.tgz", - "integrity": "sha512-jPoou51ULWN2PpvWkDF3wLKnTezyM33NBdF89mvfnI4++Za0/NpuL12636YqWLXt2CK87u8cA2Q+7Opob7KocA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz", + "integrity": "sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-signing": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.53.0.tgz", - "integrity": "sha512-r3g2ytin1YbhXCDedMfR7ZSlt1B39GWA0+J04ZZzUdevtnS2VnkFNhsanO5os/WOpVUV7iqk/ncJgSpn9LI2DA==", - "requires": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.179.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz", + "integrity": "sha512-rtB6t3w1Km3ngO1yoiEUqsobujcBk36oPs2fTUKTbmuTr+54YH3NF0zAwVJv08lpfAs56holtp+bYyAxZJIxSQ==", + "requires": { + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-middleware": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-ssec": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.53.0.tgz", - "integrity": "sha512-2p2QT3PNepUC5MwT+t0l9bf7MlRHw6DN6CLg4Dptgr3SFR2k8LjUp2S7dJqg4qrhXRiiO7lTZK57PaPPR90dFw==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz", + "integrity": "sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-stack": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.53.0.tgz", - "integrity": "sha512-YanQOVUXGjm63GCZVRYPlPMl6niaWtVjE2C0+0lpCrJQYaUIrvKh27Ff40JLi3U0F89hmsYOO7yPQOPTbc9NBg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz", + "integrity": "sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.53.0.tgz", - "integrity": "sha512-ClKxpFXoHLhdnDxyDRRVNaFYQnfylps7rk1wfbRLWb+FWQwKWBvLq5c5ZPvznBU8BvftDSkFtrY+7OLMlj6qxA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz", + "integrity": "sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ==", "requires": { - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/node-config-provider": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.53.0.tgz", - "integrity": "sha512-l00gDzU7n2WSIBHZPVW8/t6L0UD6qwtre5kuGKiv8ZkZKynPg9VV39IB/JZ7swp2uydbXuqxgDxFvqImvY3IyA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz", + "integrity": "sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ==", "requires": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/shared-ini-file-loader": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/node-http-handler": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.53.0.tgz", - "integrity": "sha512-YqovPyn75gNzDSvPWQUTAEbwhr8PBdp1MQz65bB8p+qOlzQi1jGCyj1uHqG7qwVIlis9+bAfqpAqNDuYpdGsNg==", - "requires": { - "@aws-sdk/abort-controller": "3.53.0", - "@aws-sdk/protocol-http": "3.53.0", - "@aws-sdk/querystring-builder": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz", + "integrity": "sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ==", + "requires": { + "@aws-sdk/abort-controller": "3.178.0", + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/querystring-builder": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/property-provider": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.53.0.tgz", - "integrity": "sha512-qrVFYcOV/Da7/ozW2bDLDz0JQP0NLIn6/eNUwT2fqKVw9MWcrLf6xtyAJhCwckdUVOWS2HoBSyvEopa4mdh9Sw==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz", + "integrity": "sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/protocol-http": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.53.0.tgz", - "integrity": "sha512-lKOXq2FjQH2i/ztJOKHoNgJ9Kpaprhb6/lsKMjHuePr/YDEzp62nEuJKbVx5rA9C8Rxuuj2hE8vXhQ6dyUIsjg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz", + "integrity": "sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/querystring-builder": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.53.0.tgz", - "integrity": "sha512-oliOrup52985pSKOjHbbm7t3bGL0HTPs9UODhBuDpHE7l0pdWE1hv9YiU3FF5NUIF25VwbL83GYmL9R52GxZhA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz", + "integrity": "sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g==", "requires": { - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-uri-escape": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-uri-escape": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/querystring-parser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.53.0.tgz", - "integrity": "sha512-wEkS40w/wW4eBSnf7xt+m8InZFVzjLAzRYK1yPab2qfOIShpWgxg1ndqEP0eu14MvwdEfMPW9xU6J2AiWoxWng==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz", + "integrity": "sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/service-error-classification": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.53.0.tgz", - "integrity": "sha512-l5g8QncKk0ZmzQL7mWyQ6n5xWkd1XQJuoOfLZPBas9SJAyz7wanV5P3CG9PX6s1GVHWLC+2MafpIQ6+aH1x5cQ==" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz", + "integrity": "sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.52.0.tgz", - "integrity": "sha512-tALb8u8IVcI4pT7yFZpl4O6kgeY5EAXyphZoRPgQSCDhmEyFUIi/sXbCN8HQiHjnHdWfXdaNE1YsZcW3GpcuoQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz", + "integrity": "sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.53.0.tgz", - "integrity": "sha512-CUvCIrwiiWpJd/ldSA04RERXPsdvkuKW3+gBDIUREq4uc7co7Cml1/wbIJ0UOHAmJpDw82NDYqAUthYB1kbHrQ==", - "requires": { - "@aws-sdk/is-array-buffer": "3.52.0", - "@aws-sdk/types": "3.53.0", - "@aws-sdk/util-hex-encoding": "3.52.0", - "@aws-sdk/util-uri-escape": "3.52.0", - "tslib": "^2.3.0" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz", + "integrity": "sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ==", + "requires": { + "@aws-sdk/is-array-buffer": "3.170.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-hex-encoding": "3.170.0", + "@aws-sdk/util-middleware": "3.178.0", + "@aws-sdk/util-uri-escape": "3.170.0", + "tslib": "^2.3.1" } }, - "@aws-sdk/signature-v4-crt": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.53.0.tgz", - "integrity": "sha512-xpBuMFr8o4q0KidnCxCS8V56HmMIGdEPQkf4omfDiFc/7nTD4SfAgissZXd0x/xgJE8QyJn57O7+uyToexb2OQ==", - "peer": true, + "@aws-sdk/signature-v4-multi-region": { + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz", + "integrity": "sha512-3IjwOy/x6UroV3TAbeCwpCRmt/8TW89JI1r8gtDbpQ42WiQ/1J+R5a78NP8bYa53kiDghW6pKlvLcbuoh3zWHQ==", "requires": { - "@aws-sdk/is-array-buffer": "3.52.0", - "@aws-sdk/querystring-parser": "3.53.0", - "@aws-sdk/signature-v4": "3.53.0", - "@aws-sdk/util-hex-encoding": "3.52.0", - "@aws-sdk/util-uri-escape": "3.52.0", - "aws-crt": "^1.9.7", - "tslib": "^2.3.0" + "@aws-sdk/protocol-http": "3.178.0", + "@aws-sdk/signature-v4": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-arn-parser": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/smithy-client": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.53.0.tgz", - "integrity": "sha512-/mZn1/1/BXFgV5PwbGfXczbSyZFrhUEhWQzPG7x1NXLQh3kcSoHGDSONqFhqTeHWkfEXp1Tn0zUe7R4vAseFmQ==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz", + "integrity": "sha512-1vWafiUdn6RvOsD4CyNjMeDtDujuPi4Iq4Db6HrFmVPpJAutOLlCg52Dt7k96KCcIKgxVAs6Br0Waef+pcoGNA==", "requires": { - "@aws-sdk/middleware-stack": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/middleware-stack": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/types": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.53.0.tgz", - "integrity": "sha512-FqHfWRXdnQvfxgngDKfYpYOuQ1HmPgxaGKELx3pFaEnQdMo/dMXjfBGQcEQgP8jqU6bPLaJSfykjWjDzua8JBg==" + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.178.0.tgz", + "integrity": "sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ==" }, "@aws-sdk/url-parser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.53.0.tgz", - "integrity": "sha512-lB0U5TkBDSdJK8h3noDkSG/P1cGnpSxOxBroMgPHA8Lrf5lmFRMvDXLXMhRDnTiqtsd/DpHDPyat91pfwLVEwA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz", + "integrity": "sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ==", "requires": { - "@aws-sdk/querystring-parser": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/querystring-parser": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-arn-parser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.52.0.tgz", - "integrity": "sha512-mMsoYJ70+BGkVpdfQbu942v4fAGzx+pIL8+QnQhzUmcU0HbNkI0vYliMWfzz7ka9CHgbijUI/ANKA319zgKtvA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz", + "integrity": "sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-base64-browser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.52.0.tgz", - "integrity": "sha512-xjv/cQ4goWXAiGEC/AIL/GtlHg4p4RkQKs6/zxn9jOxo1OnbppLMJ0LjCtv4/JVYIVGHrx0VJ8Exyod7Ln+NeA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz", + "integrity": "sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-base64-node": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.52.0.tgz", - "integrity": "sha512-V96YIXBuIiVu7Zk72Y9dly7Io9cYOT30Hjf77KAkBeizlFgT5gWklWYGcytPY8FxLuEy4dPLeHRmgwQnlDwgPA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz", + "integrity": "sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w==", "requires": { - "@aws-sdk/util-buffer-from": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-browser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.52.0.tgz", - "integrity": "sha512-8omOgIGmopUtwg3XaeyvqacxrIrCsDKUVQp5n+8iLmyYt5mQM70vXbUC273GJzKDtibGDfxiN4FqSLBlo9F/oQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz", + "integrity": "sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-node": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.52.0.tgz", - "integrity": "sha512-1WWsGh0hip4y1uvOLFV2v3Nvq3W35dmW5YniCi0gQDBLc5JHES8Zka7yoCDYOfaYFUodVH5mC/jFBjGRQ3TpDw==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz", + "integrity": "sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-buffer-from": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.52.0.tgz", - "integrity": "sha512-hsG0lMlHjJUFoXIy59QLn6x4QU/vp/e0t3EjdD0t8aymB9iuJ43UeLjYTZdrOgtbWb8MXEF747vwg+P6n+4Lxw==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz", + "integrity": "sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ==", "requires": { - "@aws-sdk/is-array-buffer": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/is-array-buffer": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-config-provider": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.52.0.tgz", - "integrity": "sha512-1wonBNkOOLJpMZnz2Kn69ToFgSoTTyGzJInir8WC5sME3zpkb5j41kTuEVbImNJhVv9MKjmGYrMeZbBVniLRPw==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz", + "integrity": "sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ==", "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-credentials": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.53.0.tgz", - "integrity": "sha512-XP/3mYOmSn5KpWv+PnBTP2UExXb+hx1ugbH4Gkveshdq9KBlVnpV5eVgIwSAnKBsplScfsNMJ5EOtHjz5Cvu5A==", - "requires": { - "@aws-sdk/shared-ini-file-loader": "3.52.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.53.0.tgz", - "integrity": "sha512-ubOcZT3rkVXSTwCHeIJevgBVV5GHnejz3hd+dFY9OcuK53oMZnFPS8SfJLgGG6PHfg30P8EurKv1VhWrbuuJDw==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz", + "integrity": "sha512-XGq/RUuhqnLlApETBmBWDszNG4TR3FCOSNwFvok1UIPgFXxjh0JOzNc5mAX1St2hfx1IDb9Ja4BmTkYKix7byg==", "requires": { - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", "bowser": "^2.11.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.53.0.tgz", - "integrity": "sha512-84nczaF0eZMRkZ7chJh7OZd4ekV31eWmw8LOTJ4RQeeRy+0eY8th23yKyt5TU+YgmMLrY0BVK7103BQAI/6ccQ==", - "requires": { - "@aws-sdk/config-resolver": "3.53.0", - "@aws-sdk/credential-provider-imds": "3.53.0", - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/property-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz", + "integrity": "sha512-ch9VR4OKYGEaNbLhX/EyZDpNZst5T+/VYsFyqMA47J0YyMbg7GWyn2FjjhZ7qOV3XU6W8YEBNdd7U/LFFVp8uA==", + "requires": { + "@aws-sdk/config-resolver": "3.178.0", + "@aws-sdk/credential-provider-imds": "3.178.0", + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/property-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.52.0.tgz", - "integrity": "sha512-YYMZg8odn/hBURgL/w82ay2mvPqXHMdujlSndT1ddUSTRoZX67N3hfYYf36nOalDOjNcanIvFHe4Fe8nw+8JiA==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz", + "integrity": "sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-locate-window": { @@ -10242,122 +8847,136 @@ "tslib": "^2.3.0" } }, + "@aws-sdk/util-middleware": { + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz", + "integrity": "sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA==", + "requires": { + "tslib": "^2.3.1" + } + }, "@aws-sdk/util-stream-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.53.0.tgz", - "integrity": "sha512-oh+PVTeo7nvkuXwlrAy6TErTpzTRrtxaL+2ErTFiLFPPFKK2/0X0E12zoNB0DMaY48sRdkJmrlLbOtxGDS1rNg==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz", + "integrity": "sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/fetch-http-handler": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-hex-encoding": "3.170.0", + "@aws-sdk/util-utf8-browser": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-stream-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.53.0.tgz", - "integrity": "sha512-Hubb2cvn2idlNsHkJ5v46wW+cvodLySGJCqTat5kUAoOxR20ZFG3P3R6InU85PAh54zZTRvURuD0UM0uPtIQYQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz", + "integrity": "sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA==", "requires": { - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/node-http-handler": "3.178.0", + "@aws-sdk/types": "3.178.0", + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-uri-escape": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.52.0.tgz", - "integrity": "sha512-W9zw5tE8syjg17jiCYtyF99F0FgDIekQdLg+tQGobw9EtCxlUdg48UYhifPfnjvVyADRX2ntclHF9NmhusOQaQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz", + "integrity": "sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.53.0.tgz", - "integrity": "sha512-fJsxzjo4UMv2o6KYSvw8cwfDhAQiao3X+iY1lGNVKrcY2bnI4zW5pWYge94oIJXMyFjjg6k6Ek+JIvGLMFY0XA==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz", + "integrity": "sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug==", "requires": { - "@aws-sdk/types": "3.53.0", + "@aws-sdk/types": "3.178.0", "bowser": "^2.11.0", - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.53.0.tgz", - "integrity": "sha512-YbrqMpTi+ArL9qG+NIXPInmnjGwYu0lohiH5uyEMHAHolqg4vqdKBlXyZ7Pjls2Nka7px2UUfX/Ba2RIssBBMQ==", + "version": "3.178.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz", + "integrity": "sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw==", "requires": { - "@aws-sdk/node-config-provider": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/node-config-provider": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-browser": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.52.0.tgz", - "integrity": "sha512-LuOMa9ajWu5fQuYkmvTlQZfHaITkSle+tM/vhbU4JquRN44VUKACjRGT7UEhoU3lCL1BD0JFGMQGHI+5Mmuwfg==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz", + "integrity": "sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-node": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.52.0.tgz", - "integrity": "sha512-fujr7zeobZ2y5nnOnQZrCPPc+lCAhtNF/LEVslsQfd+AQ0bYWiosrKNetodQVWlfh10E2+i6/5g+1SBJ5kjsLw==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz", + "integrity": "sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg==", "requires": { - "@aws-sdk/util-buffer-from": "3.52.0", - "tslib": "^2.3.0" + "@aws-sdk/util-buffer-from": "3.170.0", + "tslib": "^2.3.1" } }, "@aws-sdk/util-waiter": { - "version": "3.53.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.53.0.tgz", - "integrity": "sha512-WyiyHOzmiapbbwB8dtu7axRqu9u5+Mnp1/+k2Ia7cm0UMUTKLjdixPsaM89HNre3EMa8WHrDBnwyVmo/Khbq3w==", + "version": "3.180.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz", + "integrity": "sha512-fDBGplYp6pIIfrB7073tUhU4zppRaSiPjBCCT00yth9woWwZPUCIg7iQZKEqkBmvCzcJSYn0jRopLhf3Y7i5Wg==", "requires": { - "@aws-sdk/abort-controller": "3.53.0", - "@aws-sdk/types": "3.53.0", - "tslib": "^2.3.0" + "@aws-sdk/abort-controller": "3.178.0", + "@aws-sdk/types": "3.178.0", + "tslib": "^2.3.1" } }, "@aws-sdk/xml-builder": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.52.0.tgz", - "integrity": "sha512-GMdcxdwDZuIMlGnewdB48bpj8eqA3nubs3biy6vRFX8zhv8OqD+m5fMinoEwD8/MGqWE3WD7VZlbbdwYtNVWzQ==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz", + "integrity": "sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", "dev": true }, "@babel/core": { - "version": "7.17.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", - "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.2", - "@babel/parser": "^7.17.3", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.1", "semver": "^6.3.0" }, "dependencies": { @@ -10370,33 +8989,38 @@ } }, "@babel/generator": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", - "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", "dev": true, "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } } } }, "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", "semver": "^6.3.0" }, "dependencies": { @@ -10409,122 +9033,115 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-transforms": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz", - "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "dev": true }, "@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "dev": true }, "@babel/helpers": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz", - "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -10561,19 +9178,19 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { @@ -10588,9 +9205,9 @@ } }, "@babel/parser": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", - "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -10638,6 +9255,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -10702,39 +9328,39 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" } }, "@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -10748,12 +9374,13 @@ } }, "@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, @@ -10764,50 +9391,26 @@ "dev": true }, "@eslint/eslintrc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", - "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", + "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "espree": "^9.4.0", + "globals": "^13.15.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } - } - }, - "@httptoolkit/websocket-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@httptoolkit/websocket-stream/-/websocket-stream-6.0.0.tgz", - "integrity": "sha512-EC8m9JbhpGX2okfvLakqrmy4Le0VyNKR7b3IdvFZR/BfFO4ruh/XceBvXhCFHkykchnFxuOSlRwFiqNSXlwcGA==", - "peer": true, - "requires": { - "@types/ws": "*", - "duplexify": "^3.5.1", - "inherits": "^2.0.1", - "isomorphic-ws": "^4.0.1", - "readable-stream": "^2.3.3", - "safe-buffer": "^5.1.2", - "ws": "*", - "xtend": "^4.0.0" } }, "@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", + "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -10815,6 +9418,18 @@ "minimatch": "^3.0.4" } }, + "@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "dev": true + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -10843,6 +9458,16 @@ "sprintf-js": "~1.0.2" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", @@ -10853,6 +9478,33 @@ "esprima": "^4.0.0" } }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -10868,212 +9520,258 @@ "dev": true }, "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz", + "integrity": "sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", "slash": "^3.0.0" } }, "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz", + "integrity": "sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A==", "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.1.0", + "@jest/reporters": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-resolve-dependencies": "^29.1.1", + "jest-runner": "^29.1.1", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "jest-watcher": "^29.1.0", "micromatch": "^4.0.4", - "rimraf": "^3.0.0", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" } }, "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz", + "integrity": "sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ==", "dev": true, "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", "@types/node": "*", - "jest-mock": "^27.5.1" + "jest-mock": "^29.1.1" + } + }, + "@jest/expect": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw==", + "dev": true, + "requires": { + "expect": "^29.1.0", + "jest-snapshot": "^29.1.0" + } + }, + "@jest/expect-utils": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz", + "integrity": "sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA==", + "dev": true, + "requires": { + "jest-get-type": "^29.0.0" } }, "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz", + "integrity": "sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", + "@jest/types": "^29.1.0", + "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" } }, "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz", + "integrity": "sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/types": "^29.1.0", + "jest-mock": "^29.1.1" } }, "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz", + "integrity": "sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", - "glob": "^7.1.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", "slash": "^3.0.0", - "source-map": "^0.6.0", "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" } }, "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.15", "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" + "graceful-fs": "^4.2.9" } }, "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz", + "integrity": "sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g==", "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.1.0", + "@jest/types": "^29.1.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz", + "integrity": "sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA==", "dev": true, "requires": { - "@jest/test-result": "^27.5.1", + "@jest/test-result": "^29.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" + "jest-haste-map": "^29.1.0", + "slash": "^3.0.0" } }, "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz", + "integrity": "sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q==", "dev": true, "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "write-file-atomic": "^4.0.1" } }, "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz", + "integrity": "sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ==", "dev": true, "requires": { + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", + "@types/yargs": "^17.0.8", "chalk": "^4.0.0" } }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", - "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -11081,23 +9779,16 @@ } }, "@kubernetes/client-node": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.16.3.tgz", - "integrity": "sha512-L7IckuyuPfhd+/Urib8MRas9D6sfKEq8IaITYcaE6LlU+Y8MeD7MTbuW6Yb2WdeRuFN8HPSS47mxPnOUNYBXEg==", - "requires": { - "@types/js-yaml": "^4.0.1", - "@types/node": "^10.12.0", - "@types/request": "^2.47.1", - "@types/stream-buffers": "^3.0.3", - "@types/tar": "^4.0.3", - "@types/underscore": "^1.8.9", - "@types/ws": "^6.0.1", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.17.1.tgz", + "integrity": "sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ==", + "requires": { "byline": "^5.0.0", "execa": "5.0.0", "isomorphic-ws": "^4.0.1", "js-yaml": "^4.1.0", "jsonpath-plus": "^0.19.0", - "openid-client": "^4.1.1", + "openid-client": "^5.1.6", "request": "^2.88.0", "rfc4648": "^1.3.0", "shelljs": "^0.8.5", @@ -11142,15 +9833,11 @@ "fastq": "^1.6.0" } }, - "@panva/asn1.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", - "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==" - }, - "@sindresorhus/is": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", - "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" + "@sinclair/typebox": { + "version": "0.24.43", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", + "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "dev": true }, "@sinonjs/commons": { "version": "1.8.3", @@ -11162,32 +9849,18 @@ } }, "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" } }, - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "requires": { - "defer-to-connect": "^2.0.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, "@types/babel__core": { - "version": "7.1.18", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", - "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -11217,30 +9890,24 @@ } }, "@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, - "@types/cacheable-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", - "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "@types/glob": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", + "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", + "dev": true, "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "*", - "@types/node": "*", - "@types/responselike": "*" + "@types/minimatch": "*", + "@types/node": "*" } }, - "@types/caseless": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", - "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" - }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -11250,11 +9917,6 @@ "@types/node": "*" } }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" - }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -11282,57 +9944,46 @@ "@types/js-yaml": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" + "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", + "dev": true }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "@types/keyv": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", - "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", - "requires": { - "@types/node": "*" - } - }, - "@types/minipass": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.1.0.tgz", - "integrity": "sha512-b2yPKwCrB8x9SB65kcCistMoe3wrYnxxt5rJSZ1kprw0uOXvhuKi9kTQ746Y+Pbqoh+9C0N4zt0ztmTnG9yg7A==", - "requires": { - "@types/node": "*" - } + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true }, "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "dev": true }, - "@types/prettier": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", - "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", + "@types/npm-package-arg": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz", + "integrity": "sha512-452/1Kp9IdM/oR10AyqAgZOxUt7eLbm+EMJ194L6oarMYdZNiFIFAOJ7IIr0OrZXTySgfHjJezh2oiyk2kc3ag==", "dev": true }, - "@types/request": { - "version": "2.48.7", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.7.tgz", - "integrity": "sha512-GWP9AZW7foLd4YQxyFZDBepl0lPsWLMEXDZUjQ/c1gqVPDPECrRZyEzuhJdnPWioFCq3Tv0qoGpMD6U+ygd4ZA==", - "requires": { - "@types/caseless": "*", - "@types/node": "*", - "@types/tough-cookie": "*", - "form-data": "^2.5.0" - } + "@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true }, - "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "@types/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==", + "dev": true, "requires": { + "@types/glob": "*", "@types/node": "*" } }, @@ -11342,45 +9993,10 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "@types/stream-buffers": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.4.tgz", - "integrity": "sha512-qU/K1tb2yUdhXkLIATzsIPwbtX6BpZk0l3dPW6xqWyhfzzM1ECaQ/8faEnu3CNraLiQ9LHyQQPBGp7N9Fbs25w==", - "requires": { - "@types/node": "*" - } - }, - "@types/tar": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-4.0.5.tgz", - "integrity": "sha512-cgwPhNEabHaZcYIy5xeMtux2EmYBitfqEceBUi2t5+ETy4dW6kswt6WX4+HqLeiiKOo42EXbGiDmVJ2x+vi37Q==", - "requires": { - "@types/minipass": "*", - "@types/node": "*" - } - }, - "@types/tough-cookie": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", - "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" - }, - "@types/underscore": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" - }, - "@types/ws": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", - "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", - "requires": { - "@types/node": "*" - } - }, "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -11392,73 +10008,41 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "@typescript-eslint/experimental-utils": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.0.tgz", - "integrity": "sha512-KN5FvNH71bhZ8fKtL+lhW7bjm7cxs1nt+hrDZWIqb6ViCffQcWyLunGrgvISgkRojIDcXIsH+xlFfI4RCDA0xA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.8.0", - "@typescript-eslint/types": "5.8.0", - "@typescript-eslint/typescript-estree": "5.8.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, "@typescript-eslint/scope-manager": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.0.tgz", - "integrity": "sha512-x82CYJsLOjPCDuFFEbS6e7K1QEWj7u5Wk1alw8A+gnJiYwNnDJk0ib6PCegbaPMjrfBvFKa7SxE3EOnnIQz2Gg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", + "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.8.0", - "@typescript-eslint/visitor-keys": "5.8.0" + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1" } }, "@typescript-eslint/types": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.0.tgz", - "integrity": "sha512-LdCYOqeqZWqCMOmwFnum6YfW9F3nKuxJiR84CdIRN5nfHJ7gyvGpXWqL/AaW0k3Po0+wm93ARAsOdzlZDPCcXg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", + "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.0.tgz", - "integrity": "sha512-srfeZ3URdEcUsSLbkOFqS7WoxOqn8JNil2NSLO9O+I2/Uyc85+UlfpEvQHIpj5dVts7KKOZnftoJD/Fdv0L7nQ==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", + "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", "dev": true, "requires": { - "@typescript-eslint/types": "5.8.0", - "@typescript-eslint/visitor-keys": "5.8.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "dependencies": { "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -11466,46 +10050,54 @@ } } }, - "@typescript-eslint/visitor-keys": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.0.tgz", - "integrity": "sha512-+HDIGOEMnqbxdAHegxvnOqESUH6RWFRR2b8qxP1W9CZnnYh4Usz6MBL+2KMAgPk/P0o9c1HqnYtwzVH6GTIqug==", + "@typescript-eslint/utils": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", + "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.8.0", - "eslint-visitor-keys": "^3.0.0" - } - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "@typescript-eslint/visitor-keys": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", + "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } + "@typescript-eslint/types": "5.38.1", + "eslint-visitor-keys": "^3.3.0" } }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -11513,25 +10105,11 @@ "dev": true, "requires": {} }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -11548,12 +10126,6 @@ "uri-js": "^4.2.2" } }, - "ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", - "peer": true - }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -11585,9 +10157,9 @@ } }, "ansicolor": { - "version": "1.1.95", - "resolved": "https://registry.npmjs.org/ansicolor/-/ansicolor-1.1.95.tgz", - "integrity": "sha512-R4yTmrfQZ2H9Wr5TZoM2iOz0+T6TNHqztpld7ZToaN8EaUj/06NG4r5UHQfegA9/+K/OY3E+WumprcglbcTMRA==" + "version": "1.1.100", + "resolved": "https://registry.npmjs.org/ansicolor/-/ansicolor-1.1.100.tgz", + "integrity": "sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw==" }, "anymatch": { "version": "3.1.2", @@ -11599,16 +10171,6 @@ "picomatch": "^2.0.4" } }, - "are-we-there-yet": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", - "integrity": "sha1-otKMkxAqpsyWJFomy5VN4G7FPww=", - "peer": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.0 || ^1.1.13" - } - }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -11660,22 +10222,6 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "aws-crt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.11.0.tgz", - "integrity": "sha512-qIBDRLOKRFuPTjkOAt3Al5zbcR6YyjfEl3TUc0R/xZ64aDxWGGXDStfDpkGCLSgV7jH+o7KQ47U9PM3URiFNFg==", - "peer": true, - "requires": { - "@httptoolkit/websocket-stream": "^6.0.0", - "axios": "^0.24.0", - "cmake-js": "6.3.0", - "crypto-js": "^4.0.0", - "fastestsmallesttextencoderdecoder": "^1.0.22", - "mqtt": "^4.3.4", - "tar": "^6.1.11", - "ws": "^7.5.5" - } - }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -11687,24 +10233,24 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "requires": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz", + "integrity": "sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ==", "dev": true, "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/transform": "^29.1.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", + "babel-preset-jest": "^29.0.2", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -11724,14 +10270,14 @@ } }, "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", "dev": true, "requires": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", + "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" } }, @@ -11756,12 +10302,12 @@ } }, "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^27.5.1", + "babel-plugin-jest-hoist": "^29.0.2", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -11770,12 +10316,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "peer": true - }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -11784,51 +10324,6 @@ "tweetnacl": "^0.14.3" } }, - "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "peer": true - }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "peer": true, - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "peer": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, "bowser": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", @@ -11852,23 +10347,16 @@ "fill-range": "^7.0.1" } }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, "browserslist": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz", - "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001312", - "electron-to-chromium": "^1.4.71", - "escalade": "^3.1.1", - "node-releases": "^2.0.2", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" } }, "bser": { @@ -11880,78 +10368,35 @@ "node-int64": "^0.4.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "peer": true - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", - "peer": true - }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "peer": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" - }, - "byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" - }, - "cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "semver": "^7.0.0" }, "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "requires": { - "pump": "^3.0.0" + "lru-cache": "^6.0.0" } } } }, + "byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -11965,9 +10410,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001312", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", - "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==", + "version": "1.0.30001412", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", + "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", "dev": true }, "caseless": { @@ -11975,15 +10420,6 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "peer": true, - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -12011,9 +10447,9 @@ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", "dev": true }, "cjs-module-lexer": { @@ -12025,7 +10461,8 @@ "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true }, "cli-cursor": { "version": "3.1.0", @@ -12078,199 +10515,10 @@ } } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "cmake-js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.3.0.tgz", - "integrity": "sha512-1uqTOmFt6BIqKlrX+39/aewU/JVhyZWDqwAL+6psToUwxj3yWPJiwxiZFmV0XdcoWmqGs7peZTxTbJtAcH8hxw==", - "peer": true, - "requires": { - "axios": "^0.21.1", - "debug": "^4", - "fs-extra": "^5.0.0", - "is-iojs": "^1.0.1", - "lodash": "^4", - "memory-stream": "0", - "npmlog": "^1.2.0", - "rc": "^1.2.7", - "semver": "^5.0.3", - "splitargs": "0", - "tar": "^4", - "unzipper": "^0.8.13", - "url-join": "0", - "which": "^1.0.9", - "yargs": "^3.6.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "peer": true - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "peer": true, - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "peer": true - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "peer": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "peer": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "peer": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "peer": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "peer": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "peer": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "peer": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "peer": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "peer": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "peer": true, - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "peer": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "peer": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "peer": true - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "peer": true, - "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" - } - } - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "code-point-at": { @@ -12298,9 +10546,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, "combined-stream": { @@ -12312,64 +10560,21 @@ } }, "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", "dev": true }, - "commist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", - "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", - "peer": true, - "requires": { - "leven": "^2.1.0", - "minimist": "^1.1.0" - }, - "dependencies": { - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "peer": true - } - } - }, "compare-versions": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.2.tgz", - "integrity": "sha512-LAfbAbAgjnIwPsr2fvJLfrSyqAhK5nj/ffIg7a5aigry9RXJfNzVnOu0Egw8Z+G8LMDu1Qig2q48bpBzjyjZoQ==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz", + "integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "peer": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -12390,7 +10595,8 @@ "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "cross-spawn": { "version": "7.0.3", @@ -12412,35 +10618,6 @@ } } }, - "crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", - "peer": true - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -12449,21 +10626,11 @@ "assert-plus": "^1.0.0" } }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -12473,31 +10640,10 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - }, - "dependencies": { - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - } - } - }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "deep-extend": { @@ -12517,22 +10663,11 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "peer": true - }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -12540,9 +10675,9 @@ "dev": true }, "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", "dev": true }, "dir-glob": { @@ -12556,55 +10691,17 @@ }, "doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "peer": true, + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, "requires": { - "readable-stream": "^2.0.2" + "esutils": "^2.0.2" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "peer": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } + "dotenv": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==" }, "ecc-jsbn": { "version": "0.1.2", @@ -12616,15 +10713,15 @@ } }, "electron-to-chromium": { - "version": "1.4.75", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz", - "integrity": "sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q==", + "version": "1.4.265", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.265.tgz", + "integrity": "sha512-38KaYBNs0oCzWCpr6j7fY/W9vF0vSp4tKFIshQTgdZMhUpkxgotkQgjJP6iGMdmlsgMs3i0/Hkko4UXLTrkYVQ==", "dev": true }, "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "dev": true }, "emoji-regex": { @@ -12633,14 +10730,6 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -12665,68 +10754,16 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "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" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, "eslint": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", - "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.2.0", - "@humanwhocodes/config-array": "^0.9.2", + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -12736,46 +10773,48 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", + "find-up": "^5.0.0", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" } }, "eslint-config-prettier": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", - "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true, "requires": {} }, "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz", + "integrity": "sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" + "@typescript-eslint/utils": "^5.10.0" } }, "eslint-scope": { @@ -12812,13 +10851,13 @@ "dev": true }, "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "dev": true, "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } }, @@ -12877,19 +10916,20 @@ "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "@jest/expect-utils": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0" } }, "extend": { @@ -12908,9 +10948,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -12947,12 +10987,6 @@ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" }, - "fastestsmallesttextencoderdecoder": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz", - "integrity": "sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==", - "peer": true - }, "fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -12963,9 +10997,9 @@ } }, "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -12990,12 +11024,12 @@ } }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, @@ -13016,9 +11050,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "forever-agent": { "version": "0.6.1", @@ -13026,26 +11060,15 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "peer": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -13066,62 +11089,11 @@ "dev": true, "optional": true }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "peer": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "peer": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "peer": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gauge": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", - "peer": true, - "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" - } - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -13175,51 +11147,39 @@ } }, "globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" } }, - "got": { - "version": "11.8.3", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", - "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -13248,74 +11208,27 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "peer": true - }, - "help-me": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", - "integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==", - "peer": true, + "hosted-git-info": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", + "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", "requires": { - "glob": "^7.1.6", - "readable-stream": "^3.6.0" + "lru-cache": "^7.5.1" }, "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "lru-cache": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", + "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==" } } }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, "html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -13326,49 +11239,11 @@ "sshpk": "^1.7.0" } }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, - "i": { - "version": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", - "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "peer": true - }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -13404,7 +11279,8 @@ "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true }, "inflight": { "version": "1.0.6", @@ -13475,24 +11351,12 @@ "is-extglob": "^2.1.1" } }, - "is-iojs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-iojs/-/is-iojs-1.1.0.tgz", - "integrity": "sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=", - "peer": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -13511,7 +11375,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isexe": { "version": "2.0.0", @@ -13536,9 +11401,9 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -13579,9 +11444,9 @@ } }, "istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -13589,148 +11454,100 @@ } }, "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==", "dev": true, "requires": { - "@jest/core": "^27.5.1", + "@jest/core": "^29.1.1", + "@jest/types": "^29.1.0", "import-local": "^3.0.2", - "jest-cli": "^27.5.1" + "jest-cli": "^29.1.1" } }, "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", "dev": true, "requires": { - "@jest/types": "^27.5.1", "execa": "^5.0.0", - "throat": "^6.0.1" + "p-limit": "^3.1.0" } }, "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz", + "integrity": "sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", - "expect": "^27.5.1", "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", + "jest-each": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.1.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "stack-utils": "^2.0.3" } }, "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz", + "integrity": "sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q==", "dev": true, "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/core": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-config": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } + "yargs": "^17.3.1" } }, "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz", + "integrity": "sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg==", "dev": true, "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.1.0", + "@jest/types": "^29.1.0", + "babel-jest": "^29.1.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", - "glob": "^7.1.1", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-circus": "^29.1.1", + "jest-environment-node": "^29.1.1", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-runner": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -13750,167 +11567,127 @@ } }, "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz", + "integrity": "sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" } }, "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz", + "integrity": "sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" + "jest-get-type": "^29.0.0", + "jest-util": "^29.1.0", + "pretty-format": "^29.1.0" } }, "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz", + "integrity": "sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw==", "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" } }, "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", "dev": true }, "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz", + "integrity": "sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", + "@jest/types": "^29.1.0", + "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" + "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz", + "integrity": "sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q==", "dev": true, "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" } }, "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz", + "integrity": "sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" } }, "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz", + "integrity": "sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz", + "integrity": "sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-util": "^29.1.0" } }, "jest-pnp-resolver": { @@ -13921,143 +11698,133 @@ "requires": {} }, "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", "dev": true }, "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz", + "integrity": "sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA==", "dev": true, "requires": { - "@jest/types": "^27.5.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", + "jest-haste-map": "^29.1.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz", + "integrity": "sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q==", "dev": true, "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.1.0" } }, "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz", + "integrity": "sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ==", "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.1.0", + "@jest/environment": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-leak-detector": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-resolve": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-util": "^29.1.0", + "jest-watcher": "^29.1.0", + "jest-worker": "^29.1.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" } }, "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz", + "integrity": "sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg==", + "dev": true, + "requires": { + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/globals": "^29.1.1", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz", + "integrity": "sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g==", "dev": true, "requires": { - "@babel/core": "^7.7.2", + "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^27.5.1", + "expect": "^29.1.0", "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" + "pretty-format": "^29.1.0", + "semver": "^7.3.5" }, "dependencies": { "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -14066,12 +11833,12 @@ } }, "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz", + "integrity": "sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -14080,17 +11847,17 @@ } }, "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz", + "integrity": "sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA==", "dev": true, "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.1.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", + "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "pretty-format": "^29.1.0" }, "dependencies": { "camelcase": { @@ -14102,24 +11869,25 @@ } }, "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz", + "integrity": "sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg==", "dev": true, "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^27.5.1", + "emittery": "^0.10.2", + "jest-util": "^29.1.0", "string-length": "^4.0.1" } }, "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz", + "integrity": "sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ==", "dev": true, "requires": { "@types/node": "*", @@ -14139,18 +11907,16 @@ } }, "jose": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz", - "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==", - "requires": { - "@panva/asn1.js": "^1.0.0" - } + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.10.0.tgz", + "integrity": "sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw==", + "optional": true }, "js-sdsl": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-2.1.4.tgz", - "integrity": "sha512-/Ew+CJWHNddr7sjwgxaVeIORIH4AMVC9dy0hPf540ZGMVgS9d3ajwuVdyhDt6/QUvT8ATjR3yuYBKsS79F+H4A==", - "peer": true + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", + "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", + "dev": true }, "js-tokens": { "version": "4.0.0", @@ -14171,65 +11937,12 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -14258,22 +11971,10 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "peer": true, - "requires": { - "graceful-fs": "^4.1.6" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true }, "jsonpath-plus": { "version": "0.19.0", @@ -14291,14 +11992,6 @@ "verror": "1.10.0" } }, - "keyv": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", - "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", - "requires": { - "json-buffer": "3.0.1" - } - }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -14330,9 +12023,9 @@ } }, "lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "dev": true }, "lines-and-columns": { @@ -14342,61 +12035,97 @@ "dev": true }, "lint-staged": { - "version": "12.3.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.3.4.tgz", - "integrity": "sha512-yv/iK4WwZ7/v0GtVkNb3R82pdL9M+ScpIbJLJNyCXkJ1FGaXvRCOg/SeL59SZtPpqZhE7BD6kPKFLIDUhDx2/w==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", + "integrity": "sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==", "dev": true, "requires": { "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", - "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", + "colorette": "^2.0.17", + "commander": "^9.3.0", + "debug": "^4.3.4", + "execa": "^6.1.0", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", + "pidtree": "^0.6.0", "string-argv": "^0.3.1", - "supports-color": "^9.2.1", - "yaml": "^1.10.2" + "yaml": "^2.1.1" }, "dependencies": { "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", + "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", "dev": true, "requires": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.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" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" } }, - "supports-color": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", - "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", + "human-signals": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", + "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "dev": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true } } }, - "listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", - "peer": true - }, "listr2": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.4.tgz", - "integrity": "sha512-vJOm5KD6uZXjSsrwajr+mNacIjf87gWvlBEltPWLbTkslUscWAzquyK4xfe9Zd4RDgO5nnwFyV06FC+uVR+5mg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", + "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", "dev": true, "requires": { "cli-truncate": "^2.1.0", @@ -14404,7 +12133,7 @@ "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.4", + "rxjs": "^7.5.5", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, @@ -14478,12 +12207,12 @@ } }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -14502,24 +12231,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=", - "peer": true - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", - "peer": true - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", - "peer": true - }, "log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", @@ -14579,11 +12290,6 @@ } } }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -14609,11 +12315,6 @@ } } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, "makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -14623,41 +12324,6 @@ "tmpl": "1.0.5" } }, - "memory-stream": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/memory-stream/-/memory-stream-0.0.3.tgz", - "integrity": "sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=", - "peer": true, - "requires": { - "readable-stream": "~1.0.26-2" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "peer": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "peer": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "peer": true - } - } - }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -14670,13 +12336,13 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mime-db": { @@ -14697,15 +12363,10 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } @@ -14737,71 +12398,11 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, - "mqtt": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-4.3.6.tgz", - "integrity": "sha512-1dgQbkbh1Bba9iAGDNIrhSZ4nLDjbhmNHjOEvsmKI1Bb+2orj0gHwjqUKJ5CKUMKBYbkQYRM1fy+N1/2iZOj5w==", - "peer": true, - "requires": { - "commist": "^1.0.0", - "concat-stream": "^2.0.0", - "debug": "^4.1.1", - "duplexify": "^4.1.1", - "help-me": "^3.0.0", - "inherits": "^2.0.3", - "lru-cache": "^6.0.0", - "minimist": "^1.2.5", - "mqtt-packet": "^6.8.0", - "number-allocator": "^1.0.9", - "pump": "^3.0.0", - "readable-stream": "^3.6.0", - "reinterval": "^1.1.0", - "rfdc": "^1.3.0", - "split2": "^3.1.0", - "ws": "^7.5.5", - "xtend": "^4.0.2" - }, - "dependencies": { - "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "peer": true, - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "mqtt-packet": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", - "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==", - "peer": true, - "requires": { - "bl": "^4.0.2", - "debug": "^4.1.1", - "process-nextick-args": "^2.0.1" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "natural-compare": { "version": "1.4.0", @@ -14812,13 +12413,13 @@ "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", "dev": true }, "normalize-package-data": { @@ -14845,19 +12446,15 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz", + "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==", "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "dependencies": { "semver": { @@ -15021,38 +12618,11 @@ "path-key": "^3.0.0" } }, - "npmlog": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", - "integrity": "sha1-KOe+YZYJtT960d0wChDWTXFiaLY=", - "peer": true, - "requires": { - "ansi": "~0.3.0", - "are-we-there-yet": "~1.0.0", - "gauge": "~1.2.0" - } - }, - "number-allocator": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.10.tgz", - "integrity": "sha512-K4AvNGKo9lP6HqsZyfSr9KDaqnwFzW203inhQEOwFrmFaYevpdX4VNwdOLk197aHujzbT//z6pCBrCOUYSM5iw==", - "peer": true, - "requires": { - "debug": "^4.3.1", - "js-sdsl": "^2.1.2" - } - }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -15061,18 +12631,20 @@ "object-hash": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "optional": true }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true }, "oidc-token-hash": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", - "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==" + "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", + "optional": true }, "once": { "version": "1.4.0", @@ -15091,15 +12663,13 @@ } }, "openid-client": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-4.9.1.tgz", - "integrity": "sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.9.tgz", + "integrity": "sha512-o/11Xos2fRPpK1zQrPfSIhIusFrAkqGSPwkD0UlUB+CCuRzd7zrrBJwIjgnVv3VUSif9ZGXh2d3GSJNH2Koh5g==", + "optional": true, "requires": { - "aggregate-error": "^3.1.0", - "got": "^11.8.0", - "jose": "^2.0.5", + "jose": "^4.1.4", "lru-cache": "^6.0.0", - "make-error": "^1.3.6", "object-hash": "^2.0.1", "oidc-token-hash": "^5.0.1" } @@ -15132,27 +12702,22 @@ "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" - }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" } }, "p-map": { @@ -15187,12 +12752,6 @@ "error-ex": "^1.2.0" } }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -15232,9 +12791,15 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true }, "pify": { @@ -15268,6 +12833,45 @@ "dev": true, "requires": { "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } } }, "pre-commit": { @@ -15341,20 +12945,20 @@ "dev": true }, "prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true }, "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz", + "integrity": "sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ==", "dev": true, "requires": { - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "react-is": "^18.0.0" }, "dependencies": { "ansi-styles": { @@ -15370,10 +12974,16 @@ "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", "integrity": "sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g=" }, + "proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==" + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "prompts": { "version": "2.4.2", @@ -15396,15 +13006,6 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -15421,11 +13022,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -15445,9 +13041,9 @@ } }, "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, "read-pkg": { @@ -15504,6 +13100,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -15517,7 +13114,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -15543,12 +13141,6 @@ "rc": "^1.0.1" } }, - "reinterval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", - "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=", - "peer": true - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -15616,11 +13208,6 @@ "path-parse": "^1.0.6" } }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - }, "resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", @@ -15650,14 +13237,6 @@ "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", "dev": true }, - "responselike": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", - "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", - "requires": { - "lowercase-keys": "^2.0.0" - } - }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -15682,7 +13261,8 @@ "rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true }, "rimraf": { "version": "3.0.2", @@ -15702,9 +13282,9 @@ } }, "rxjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz", - "integrity": "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", "dev": true, "requires": { "tslib": "^2.1.0" @@ -15720,15 +13300,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -15739,12 +13310,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "peer": true - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -15769,9 +13334,9 @@ } }, "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "sisteransi": { "version": "1.0.5", @@ -15810,9 +13375,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -15871,38 +13436,10 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "peer": true, - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "splitargs": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz", - "integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs=", - "peer": true - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "sshpk": { @@ -15943,16 +13480,11 @@ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz", "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==" }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "peer": true - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" }, @@ -15960,7 +13492,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -16043,21 +13576,15 @@ } }, "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" } }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, "system-commands": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz", @@ -16103,16 +13630,10 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "tmp": { @@ -16140,7 +13661,7 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-regex-range": { @@ -16152,32 +13673,6 @@ "is-number": "^7.0.0" } }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "peer": true - }, "treeify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", @@ -16242,84 +13737,28 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", - "dev": true, - "peer": true + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true }, "underscore": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==" }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unzipper": { - "version": "0.8.14", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.8.14.tgz", - "integrity": "sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==", - "peer": true, - "requires": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "~1.0.10", - "listenercount": "~1.0.1", - "readable-stream": "~2.1.5", - "setimmediate": "~1.0.4" - }, - "dependencies": { - "bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", - "peer": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "peer": true - }, - "readable-stream": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", - "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", - "peer": true, - "requires": { - "buffer-shims": "^1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "peer": true - } + "update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, "uri-js": { @@ -16330,45 +13769,26 @@ "punycode": "^2.1.0" } }, - "url-join": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz", - "integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=", - "peer": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } + "convert-source-map": "^1.6.0" } }, "validate-npm-package-license": { @@ -16381,11 +13801,11 @@ } }, "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", "requires": { - "builtins": "^1.0.3" + "builtins": "^5.0.0" } }, "verror": { @@ -16405,24 +13825,6 @@ } } }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -16432,53 +13834,6 @@ "makeerror": "1.0.12" } }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", - "peer": true - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -16523,15 +13878,13 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" } }, "ws": { @@ -16540,24 +13893,6 @@ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", "requires": {} }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "peer": true - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -16569,15 +13904,15 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", + "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", "dev": true }, "yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -16611,9 +13946,15 @@ } }, "yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==" + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 36b9828..d22f5d6 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "argopm", - "version": "0.8.5", + "version": "1.0.0", "description": "Argo package manager", - "main": "./lib/index.js", + "main": "./lib/index.ts", "scripts": { "test": "jest --detectOpenHandles", "prettier": "prettier --write .", @@ -12,34 +12,43 @@ "author": "Atlan", "license": "MIT", "dependencies": { - "@aws-sdk/client-s3": "^3.45.0", - "@kubernetes/client-node": "^0.16.1", - "ansicolor": "^1.1.95", + "@aws-sdk/client-s3": "^3.180.0", + "@kubernetes/client-node": "^0.17.1", + "ansicolor": "^1.1.100", "as-table": "^1.0.55", - "axios": "^0.24.0", - "bluebird": "^3.7.2", - "compare-versions": "^4.1.2", - "dotenv": "^10.0.0", + "axios": "^0.27.2", + "compare-versions": "^5.0.1", + "dotenv": "^16.0.2", "js-yaml": "^4.1.0", - "npm-package-arg": "^8.1.5", + "npm-package-arg": "^9.1.0", "npm-remote-ls": "^1.3.2", "rimraf": "^3.0.2", "stream-buffers": "^3.0.2", "system-commands": "^1.1.7", - "yargs": "^17.3.1", - "yargs-parser": ">=21.0.0" + "yargs": "^17.5.1", + "yargs-parser": ">=21.1.1" }, "devDependencies": { - "eslint": "^8.6.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-jest": "^25.3.4", - "jest": "^27.4.6", - "lint-staged": "^12.1.5", + "@types/jest": "^29.0.3", + "@types/js-yaml": "^4.0.5", + "@types/node": "^18.7.23", + "@types/npm-package-arg": "^6.1.1", + "@types/rimraf": "^3.0.2", + "@types/yargs": "^17.0.13", + "@typescript-eslint/eslint-plugin": "^5.38.1", + "@typescript-eslint/parser": "^5.38.1", + "eslint": "^8.24.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-jest": "^27.0.4", + "jest": "^29.1.0", + "lint-staged": "^13.0.3", "pre-commit": "^1.2.2", - "prettier": "^2.5.1" + "prettier": "^2.7.1", + "ts-jest": "^29.0.2", + "typescript": "^4.8.4" }, "lint-staged": { - "*.js": [ + "*.ts": [ "eslint --fix", "prettier --write" ] @@ -48,7 +57,7 @@ "lint-staged" ], "bin": { - "argopm": "./bin/install.js" + "argopm": "./bin/install.ts" }, "preferGlobal": true -} \ No newline at end of file +} diff --git a/tests/base.test.js b/tests/base.test.ts similarity index 79% rename from tests/base.test.js rename to tests/base.test.ts index f924ea8..240a7db 100644 --- a/tests/base.test.js +++ b/tests/base.test.ts @@ -1,6 +1,5 @@ -const { uninstall } = require("../lib/index"); -const { install, installGlobal } = require("../lib/install.js"); -const { getPackageName, MOCK_PACKAGE_PATH, REGISTRY } = require("./test-utils"); +import { install } from "../lib/install"; +import { MOCK_PACKAGE_PATH, REGISTRY } from "./test-utils"; describe.skip("simulate package install", () => { const namespace = "default"; diff --git a/tests/fixtures/mock-package/index.js b/tests/fixtures/mock-package/index.ts similarity index 51% rename from tests/fixtures/mock-package/index.js rename to tests/fixtures/mock-package/index.ts index fbecdc9..62bca30 100644 --- a/tests/fixtures/mock-package/index.js +++ b/tests/fixtures/mock-package/index.ts @@ -1,4 +1,3 @@ -function dummy() { +export function dummy() { console.log("don't call this dummy."); } -module.exports = dummy; diff --git a/tests/test-utils.js b/tests/test-utils.js deleted file mode 100644 index 7f1f257..0000000 --- a/tests/test-utils.js +++ /dev/null @@ -1,15 +0,0 @@ -const fs = require("fs"); -const os = require("os"); - -module.exports = { - MOCK_PACKAGE_PATH: __dirname + "/fixtures/mock-package", - // TODO: use the username to ensure tests don't collide between different users of same cluster - USERNAME: os.userInfo().username, - REGISTRY: "https://packages.atlan.com", - - getPackageName: function (path) { - const packageJSONFilePath = `${path}/package.json`; - const packageObject = JSON.parse(fs.readFileSync(packageJSONFilePath, "utf-8")); - return packageObject.name; - }, -}; diff --git a/tests/test-utils.ts b/tests/test-utils.ts new file mode 100644 index 0000000..344fc85 --- /dev/null +++ b/tests/test-utils.ts @@ -0,0 +1,15 @@ +import { readFileSync } from "fs"; +import { userInfo } from "os"; + +export const MOCK_PACKAGE_PATH = `${__dirname}/fixtures/mock-package`; + +// TODO: use the username to ensure tests don't collide between different users of same cluster +export const USERNAME = userInfo().username; + +export const REGISTRY = "https://packages.atlan.com"; + +export const getPackageName = (path: string) => { + const packageJSONFilePath = `${path}/package.json`; + const packageObject = JSON.parse(readFileSync(packageJSONFilePath, "utf-8")); + return packageObject.name; +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..5ffafd1 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "outDir": "./built", + "allowJs": true, + "target": "es6", + "esModuleInterop": true + }, + "include": ["./lib/**/*", "./bin/**/*", "./tests/**/*"] +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..fe7022c --- /dev/null +++ b/yarn.lock @@ -0,0 +1,5028 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@aws-crypto/crc32@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz" + integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/crc32c@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz" + integrity sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/ie11-detection@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz" + integrity sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha1-browser@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz" + integrity sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz" + integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/sha256-js" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@2.0.0", "@aws-crypto/sha256-js@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz" + integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz" + integrity sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^2.0.0": + version "2.0.2" + resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz" + integrity sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA== + dependencies: + "@aws-sdk/types" "^3.110.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/abort-controller@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz" + integrity sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/chunked-blob-reader-native@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz" + integrity sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w== + dependencies: + "@aws-sdk/util-base64-browser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/chunked-blob-reader@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz" + integrity sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/client-s3@^3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz" + integrity sha512-0YuIHk0dNvROz3IVNt3BHRPMhmd4jKnL84nXFomBViU7L7S09Pu8EjnZOTxjsiI2aAndj42kRqZOl5NjAaoTvQ== + dependencies: + "@aws-crypto/sha1-browser" "2.0.0" + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.180.0" + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/credential-provider-node" "3.180.0" + "@aws-sdk/eventstream-serde-browser" "3.178.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.178.0" + "@aws-sdk/eventstream-serde-node" "3.178.0" + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/hash-blob-browser" "3.178.0" + "@aws-sdk/hash-node" "3.178.0" + "@aws-sdk/hash-stream-node" "3.178.0" + "@aws-sdk/invalid-dependency" "3.178.0" + "@aws-sdk/md5-js" "3.178.0" + "@aws-sdk/middleware-bucket-endpoint" "3.178.0" + "@aws-sdk/middleware-content-length" "3.178.0" + "@aws-sdk/middleware-expect-continue" "3.178.0" + "@aws-sdk/middleware-flexible-checksums" "3.178.0" + "@aws-sdk/middleware-host-header" "3.178.0" + "@aws-sdk/middleware-location-constraint" "3.178.0" + "@aws-sdk/middleware-logger" "3.178.0" + "@aws-sdk/middleware-recursion-detection" "3.178.0" + "@aws-sdk/middleware-retry" "3.178.0" + "@aws-sdk/middleware-sdk-s3" "3.178.0" + "@aws-sdk/middleware-serde" "3.178.0" + "@aws-sdk/middleware-signing" "3.179.0" + "@aws-sdk/middleware-ssec" "3.178.0" + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/middleware-user-agent" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4-multi-region" "3.180.0" + "@aws-sdk/smithy-client" "3.180.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-base64-node" "3.170.0" + "@aws-sdk/util-body-length-browser" "3.170.0" + "@aws-sdk/util-body-length-node" "3.170.0" + "@aws-sdk/util-defaults-mode-browser" "3.180.0" + "@aws-sdk/util-defaults-mode-node" "3.180.0" + "@aws-sdk/util-stream-browser" "3.178.0" + "@aws-sdk/util-stream-node" "3.178.0" + "@aws-sdk/util-user-agent-browser" "3.178.0" + "@aws-sdk/util-user-agent-node" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + "@aws-sdk/util-waiter" "3.180.0" + "@aws-sdk/xml-builder" "3.170.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.1" + +"@aws-sdk/client-sso@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz" + integrity sha512-wwhGa+Jksc4NE+4MZVv0Jkvt1C10/Gd5NATiv+hjcCY7DdxQ31UsbUrbZ38tBK8XX+vqFlcrP1AsoXNvrjBBVw== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/hash-node" "3.178.0" + "@aws-sdk/invalid-dependency" "3.178.0" + "@aws-sdk/middleware-content-length" "3.178.0" + "@aws-sdk/middleware-host-header" "3.178.0" + "@aws-sdk/middleware-logger" "3.178.0" + "@aws-sdk/middleware-recursion-detection" "3.178.0" + "@aws-sdk/middleware-retry" "3.178.0" + "@aws-sdk/middleware-serde" "3.178.0" + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/middleware-user-agent" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/smithy-client" "3.180.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-base64-node" "3.170.0" + "@aws-sdk/util-body-length-browser" "3.170.0" + "@aws-sdk/util-body-length-node" "3.170.0" + "@aws-sdk/util-defaults-mode-browser" "3.180.0" + "@aws-sdk/util-defaults-mode-node" "3.180.0" + "@aws-sdk/util-user-agent-browser" "3.178.0" + "@aws-sdk/util-user-agent-node" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/client-sts@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz" + integrity sha512-QSgbYPrZ1QZTaxV3fwziVPvctwaAjdTMxA4VSMDh2yTFPIDmA8IMi8doEAcRaJeUK5n9UR8O3oWOs+wAs9Mkpw== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/credential-provider-node" "3.180.0" + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/hash-node" "3.178.0" + "@aws-sdk/invalid-dependency" "3.178.0" + "@aws-sdk/middleware-content-length" "3.178.0" + "@aws-sdk/middleware-host-header" "3.178.0" + "@aws-sdk/middleware-logger" "3.178.0" + "@aws-sdk/middleware-recursion-detection" "3.178.0" + "@aws-sdk/middleware-retry" "3.178.0" + "@aws-sdk/middleware-sdk-sts" "3.179.0" + "@aws-sdk/middleware-serde" "3.178.0" + "@aws-sdk/middleware-signing" "3.179.0" + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/middleware-user-agent" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/smithy-client" "3.180.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-base64-node" "3.170.0" + "@aws-sdk/util-body-length-browser" "3.170.0" + "@aws-sdk/util-body-length-node" "3.170.0" + "@aws-sdk/util-defaults-mode-browser" "3.180.0" + "@aws-sdk/util-defaults-mode-node" "3.180.0" + "@aws-sdk/util-user-agent-browser" "3.178.0" + "@aws-sdk/util-user-agent-node" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.1" + +"@aws-sdk/config-resolver@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz" + integrity sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w== + dependencies: + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-config-provider" "3.170.0" + "@aws-sdk/util-middleware" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-env@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz" + integrity sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-imds@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz" + integrity sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA== + dependencies: + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-ini@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz" + integrity sha512-P4fqj0WRHoQ/eGhym/QJNl3AndDN9vyOuDSIyOWLky+ngy/pGznZyzQzhyq7Cju0mgnBeFDac6Evq0aHax1iOA== + dependencies: + "@aws-sdk/credential-provider-env" "3.178.0" + "@aws-sdk/credential-provider-imds" "3.178.0" + "@aws-sdk/credential-provider-sso" "3.180.0" + "@aws-sdk/credential-provider-web-identity" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-node@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz" + integrity sha512-M3vevtIcTAlROJEJo2WIVDVrL077vh1j3w0b5IwizCvcpHBiZ+2agWcFVR/NfCvFbdYjZd49otGnbCUMHWiRcA== + dependencies: + "@aws-sdk/credential-provider-env" "3.178.0" + "@aws-sdk/credential-provider-imds" "3.178.0" + "@aws-sdk/credential-provider-ini" "3.180.0" + "@aws-sdk/credential-provider-process" "3.178.0" + "@aws-sdk/credential-provider-sso" "3.180.0" + "@aws-sdk/credential-provider-web-identity" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-process@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz" + integrity sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-sso@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz" + integrity sha512-hv8qME1ISd6GN+YCa0WK73xL6p2Sx0JiSRTzgb5bvGcdxVGLzvIlFd0VAtVhP7d84Prf6EeGz0+sGEEYRusw2w== + dependencies: + "@aws-sdk/client-sso" "3.180.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-web-identity@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz" + integrity sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-codec@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz" + integrity sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-hex-encoding" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-browser@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz" + integrity sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-config-resolver@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz" + integrity sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-node@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz" + integrity sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-universal@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz" + integrity sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw== + dependencies: + "@aws-sdk/eventstream-codec" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/fetch-http-handler@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz" + integrity sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/querystring-builder" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/hash-blob-browser@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz" + integrity sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ== + dependencies: + "@aws-sdk/chunked-blob-reader" "3.170.0" + "@aws-sdk/chunked-blob-reader-native" "3.170.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/hash-node@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz" + integrity sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q== + dependencies: + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/hash-stream-node@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz" + integrity sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/invalid-dependency@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz" + integrity sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/is-array-buffer@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz" + integrity sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/md5-js@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz" + integrity sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw== + dependencies: + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-bucket-endpoint@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz" + integrity sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-arn-parser" "3.170.0" + "@aws-sdk/util-config-provider" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-content-length@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz" + integrity sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-expect-continue@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz" + integrity sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-flexible-checksums@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz" + integrity sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-crypto/crc32c" "2.0.0" + "@aws-sdk/is-array-buffer" "3.170.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-host-header@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz" + integrity sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-location-constraint@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz" + integrity sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-logger@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz" + integrity sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-recursion-detection@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz" + integrity sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-retry@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz" + integrity sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/service-error-classification" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-middleware" "3.178.0" + tslib "^2.3.1" + uuid "^8.3.2" + +"@aws-sdk/middleware-sdk-s3@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz" + integrity sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w== + dependencies: + "@aws-sdk/middleware-bucket-endpoint" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-arn-parser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-sdk-sts@3.179.0": + version "3.179.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz" + integrity sha512-uU9UdG9ornvblXdLLNsZNpgMOA9vgFMB93zo3DL/Q6MPmYprZYyK7dUiA06i1pe4HP2gR3N3hxXwzmKU6Bjt6A== + dependencies: + "@aws-sdk/middleware-signing" "3.179.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-serde@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz" + integrity sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-signing@3.179.0": + version "3.179.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz" + integrity sha512-rtB6t3w1Km3ngO1yoiEUqsobujcBk36oPs2fTUKTbmuTr+54YH3NF0zAwVJv08lpfAs56holtp+bYyAxZJIxSQ== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-middleware" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-ssec@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz" + integrity sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-stack@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz" + integrity sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/middleware-user-agent@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz" + integrity sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/node-config-provider@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz" + integrity sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/node-http-handler@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz" + integrity sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ== + dependencies: + "@aws-sdk/abort-controller" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/querystring-builder" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/property-provider@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz" + integrity sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/protocol-http@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz" + integrity sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-builder@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz" + integrity sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g== + dependencies: + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-uri-escape" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-parser@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz" + integrity sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/service-error-classification@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz" + integrity sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw== + +"@aws-sdk/shared-ini-file-loader@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz" + integrity sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/signature-v4-multi-region@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz" + integrity sha512-3IjwOy/x6UroV3TAbeCwpCRmt/8TW89JI1r8gtDbpQ42WiQ/1J+R5a78NP8bYa53kiDghW6pKlvLcbuoh3zWHQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-arn-parser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/signature-v4@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz" + integrity sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ== + dependencies: + "@aws-sdk/is-array-buffer" "3.170.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-hex-encoding" "3.170.0" + "@aws-sdk/util-middleware" "3.178.0" + "@aws-sdk/util-uri-escape" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/smithy-client@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz" + integrity sha512-1vWafiUdn6RvOsD4CyNjMeDtDujuPi4Iq4Db6HrFmVPpJAutOLlCg52Dt7k96KCcIKgxVAs6Br0Waef+pcoGNA== + dependencies: + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/types@3.178.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.110.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.178.0.tgz" + integrity sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ== + +"@aws-sdk/url-parser@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz" + integrity sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ== + dependencies: + "@aws-sdk/querystring-parser" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/util-arn-parser@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz" + integrity sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-base64-browser@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz" + integrity sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-base64-node@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz" + integrity sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w== + dependencies: + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-body-length-browser@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz" + integrity sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-body-length-node@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz" + integrity sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-buffer-from@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz" + integrity sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ== + dependencies: + "@aws-sdk/is-array-buffer" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-config-provider@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz" + integrity sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-browser@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz" + integrity sha512-XGq/RUuhqnLlApETBmBWDszNG4TR3FCOSNwFvok1UIPgFXxjh0JOzNc5mAX1St2hfx1IDb9Ja4BmTkYKix7byg== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-node@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz" + integrity sha512-ch9VR4OKYGEaNbLhX/EyZDpNZst5T+/VYsFyqMA47J0YyMbg7GWyn2FjjhZ7qOV3XU6W8YEBNdd7U/LFFVp8uA== + dependencies: + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/credential-provider-imds" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/util-hex-encoding@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz" + integrity sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.52.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.52.0.tgz" + integrity sha512-l10U2cLko6070A9DYLJG4NMtwYH8JBG2J/E+RH8uY3lad2o6fGEIkJU0jQbWbUeHYLG3IWuCxT47V4gxYrFj7g== + dependencies: + tslib "^2.3.0" + +"@aws-sdk/util-middleware@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz" + integrity sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-stream-browser@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz" + integrity sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg== + dependencies: + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-hex-encoding" "3.170.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-stream-node@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz" + integrity sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA== + dependencies: + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-uri-escape@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz" + integrity sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-browser@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz" + integrity sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug== + dependencies: + "@aws-sdk/types" "3.178.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-node@3.178.0": + version "3.178.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz" + integrity sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw== + dependencies: + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/util-utf8-browser@3.170.0", "@aws-sdk/util-utf8-browser@^3.0.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz" + integrity sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-utf8-node@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz" + integrity sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg== + dependencies: + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-waiter@3.180.0": + version "3.180.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz" + integrity sha512-fDBGplYp6pIIfrB7073tUhU4zppRaSiPjBCCT00yth9woWwZPUCIg7iQZKEqkBmvCzcJSYn0jRopLhf3Y7i5Wg== + dependencies: + "@aws-sdk/abort-controller" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/xml-builder@3.170.0": + version "3.170.0" + resolved "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz" + integrity sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g== + dependencies: + tslib "^2.3.1" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.19.3": + version "7.19.3" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz" + integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.19.3" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz" + integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helpers" "^7.19.0" + "@babel/parser" "^7.19.3" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.3" + "@babel/types" "^7.19.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.19.3", "@babel/generator@^7.7.2": + version "7.19.3" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz" + integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== + dependencies: + "@babel/types" "^7.19.3" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.19.3": + version "7.19.3" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz" + integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== + dependencies: + "@babel/compat-data" "^7.19.3" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz" + integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== + +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.18.10": + version "7.18.10" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" + integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helpers@^7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz" + integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3": + version "7.19.3" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz" + integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" + integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/template@^7.18.10", "@babel/template@^7.3.3": + version "7.18.10" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.3", "@babel/traverse@^7.7.2": + version "7.19.3" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz" + integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.19.3" + "@babel/types" "^7.19.3" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.19.3" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz" + integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== + dependencies: + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@eslint/eslintrc@^1.3.2": + version "1.3.2" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz" + integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.0" + globals "^13.15.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.10.5": + version "0.10.5" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz" + integrity sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + 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" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz" + integrity sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw== + dependencies: + "@jest/types" "^29.1.0" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.1.0" + jest-util "^29.1.0" + slash "^3.0.0" + +"@jest/core@^29.1.1": + version "29.1.1" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz" + integrity sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A== + dependencies: + "@jest/console" "^29.1.0" + "@jest/reporters" "^29.1.0" + "@jest/test-result" "^29.1.0" + "@jest/transform" "^29.1.0" + "@jest/types" "^29.1.0" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.0.0" + jest-config "^29.1.1" + jest-haste-map "^29.1.0" + jest-message-util "^29.1.0" + jest-regex-util "^29.0.0" + jest-resolve "^29.1.0" + jest-resolve-dependencies "^29.1.1" + jest-runner "^29.1.1" + jest-runtime "^29.1.1" + jest-snapshot "^29.1.0" + jest-util "^29.1.0" + jest-validate "^29.1.0" + jest-watcher "^29.1.0" + micromatch "^4.0.4" + pretty-format "^29.1.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.1.1": + version "29.1.1" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz" + integrity sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ== + dependencies: + "@jest/fake-timers" "^29.1.1" + "@jest/types" "^29.1.0" + "@types/node" "*" + jest-mock "^29.1.1" + +"@jest/expect-utils@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz" + integrity sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA== + dependencies: + jest-get-type "^29.0.0" + +"@jest/expect@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz" + integrity sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw== + dependencies: + expect "^29.1.0" + jest-snapshot "^29.1.0" + +"@jest/fake-timers@^29.1.1": + version "29.1.1" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz" + integrity sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g== + dependencies: + "@jest/types" "^29.1.0" + "@sinonjs/fake-timers" "^9.1.2" + "@types/node" "*" + jest-message-util "^29.1.0" + jest-mock "^29.1.1" + jest-util "^29.1.0" + +"@jest/globals@^29.1.1": + version "29.1.1" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz" + integrity sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q== + dependencies: + "@jest/environment" "^29.1.1" + "@jest/expect" "^29.1.0" + "@jest/types" "^29.1.0" + jest-mock "^29.1.1" + +"@jest/reporters@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz" + integrity sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.1.0" + "@jest/test-result" "^29.1.0" + "@jest/transform" "^29.1.0" + "@jest/types" "^29.1.0" + "@jridgewell/trace-mapping" "^0.3.15" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.1.0" + jest-util "^29.1.0" + jest-worker "^29.1.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + terminal-link "^2.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.0.0": + version "29.0.0" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz" + integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/source-map@^29.0.0": + version "29.0.0" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz" + integrity sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ== + dependencies: + "@jridgewell/trace-mapping" "^0.3.15" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz" + integrity sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g== + dependencies: + "@jest/console" "^29.1.0" + "@jest/types" "^29.1.0" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz" + integrity sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA== + dependencies: + "@jest/test-result" "^29.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.1.0" + slash "^3.0.0" + +"@jest/transform@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz" + integrity sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.1.0" + "@jridgewell/trace-mapping" "^0.3.15" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.1.0" + jest-regex-util "^29.0.0" + jest-util "^29.1.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.1" + +"@jest/types@^29.1.0": + version "29.1.0" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz" + integrity sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ== + dependencies: + "@jest/schemas" "^29.0.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.15" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz" + integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@kubernetes/client-node@^0.17.1": + version "0.17.1" + resolved "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.17.1.tgz" + integrity sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ== + dependencies: + byline "^5.0.0" + execa "5.0.0" + isomorphic-ws "^4.0.1" + js-yaml "^4.1.0" + jsonpath-plus "^0.19.0" + request "^2.88.0" + rfc4648 "^1.3.0" + shelljs "^0.8.5" + stream-buffers "^3.0.2" + tar "^6.1.11" + tmp-promise "^3.0.2" + tslib "^1.9.3" + underscore "^1.9.1" + ws "^7.3.1" + optionalDependencies: + openid-client "^5.1.6" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@sinclair/typebox@^0.24.1": + version "0.24.43" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz" + integrity sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw== + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^9.1.2": + version "9.1.2" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.1.14": + version "7.1.19" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.18.2" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz" + integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== + dependencies: + "@babel/types" "^7.3.0" + +"@types/glob@*": + version "8.0.0" + resolved "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz" + integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.5" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.0.3": + version "29.0.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.0.3.tgz#b61a5ed100850686b8d3c5e28e3a1926b2001b59" + integrity sha512-F6ukyCTwbfsEX5F2YmVYmM5TcTHy1q9P5rWlRbrk56KyMh3v9xRGUO3aa8+SkvMi0SHXtASJv1283enXimC0Og== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/js-yaml@^4.0.5": + version "4.0.5" + resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz" + integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== + +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/node@*", "@types/node@^18.7.23": + version "18.7.23" + resolved "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz" + integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== + +"@types/npm-package-arg@^6.1.1": + version "6.1.1" + resolved "https://registry.npmjs.org/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz" + integrity sha512-452/1Kp9IdM/oR10AyqAgZOxUt7eLbm+EMJ194L6oarMYdZNiFIFAOJ7IIr0OrZXTySgfHjJezh2oiyk2kc3ag== + +"@types/prettier@^2.1.5": + version "2.7.1" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz" + integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== + +"@types/rimraf@^3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== + dependencies: + "@types/glob" "*" + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^17.0.13", "@types/yargs@^17.0.8": + version "17.0.13" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz#9f05d42fa8fb9f62304cc2f5c2805e03c01c2620" + integrity sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ== + dependencies: + "@typescript-eslint/scope-manager" "5.38.1" + "@typescript-eslint/type-utils" "5.38.1" + "@typescript-eslint/utils" "5.38.1" + debug "^4.3.4" + ignore "^5.2.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.38.1.tgz#c577f429f2c32071b92dff4af4f5fbbbd2414bd0" + integrity sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw== + dependencies: + "@typescript-eslint/scope-manager" "5.38.1" + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/typescript-estree" "5.38.1" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.38.1": + version "5.38.1" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz" + integrity sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ== + dependencies: + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/visitor-keys" "5.38.1" + +"@typescript-eslint/type-utils@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz#7f038fcfcc4ade4ea76c7c69b2aa25e6b261f4c1" + integrity sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw== + dependencies: + "@typescript-eslint/typescript-estree" "5.38.1" + "@typescript-eslint/utils" "5.38.1" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.38.1": + version "5.38.1" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz" + integrity sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg== + +"@typescript-eslint/typescript-estree@5.38.1": + version "5.38.1" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz" + integrity sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g== + dependencies: + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/visitor-keys" "5.38.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.38.1", "@typescript-eslint/utils@^5.10.0": + version "5.38.1" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz" + integrity sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.38.1" + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/typescript-estree" "5.38.1" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.38.1": + version "5.38.1" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz" + integrity sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA== + dependencies: + "@typescript-eslint/types" "5.38.1" + eslint-visitor-keys "^3.3.0" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.8.0: + version "8.8.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" + integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz" + integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + +ansicolor@^1.1.100: + version "1.1.100" + resolved "https://registry.npmjs.org/ansicolor/-/ansicolor-1.1.100.tgz" + integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== + +anymatch@^3.0.3: + version "3.1.2" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +as-table@^1.0.55: + version "1.0.55" + resolved "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz" + integrity sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ== + dependencies: + printable-characters "^1.0.42" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@^2.0.0-rc.3: + version "2.6.3" + resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + +babel-jest@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz" + integrity sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ== + dependencies: + "@jest/transform" "^29.1.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.0.2" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + 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" + +babel-plugin-jest-hoist@^29.0.2: + version "29.0.2" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz" + integrity sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + 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" + +babel-preset-jest@^29.0.2: + version "29.0.2" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz" + integrity sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA== + dependencies: + babel-plugin-jest-hoist "^29.0.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.3: + version "4.21.4" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +byline@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz" + integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" + integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001400: + version "1.0.30001412" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz" + integrity sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +char-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz" + integrity sha1-5upnvSR+EHESmDt6sEee02KAAIE= + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +ci-info@^3.2.0: + version "3.4.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz" + integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.0" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.16, colorette@^2.0.17: + version "2.0.19" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^9.3.0: + version "9.4.0" + resolved "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz" + integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== + +compare-versions@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz" + integrity sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.4.7: + version "1.6.2" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^29.0.0: + version "29.0.0" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz" + integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dotenv@^16.0.2: + version "16.0.2" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz" + integrity sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.4.251: + version "1.4.265" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.265.tgz" + integrity sha512-38KaYBNs0oCzWCpr6j7fY/W9vF0vSp4tKFIshQTgdZMhUpkxgotkQgjJP6iGMdmlsgMs3i0/Hkko4UXLTrkYVQ== + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +entities@2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^8.5.0: + version "8.5.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-plugin-jest@^27.0.4: + version "27.0.4" + resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz" + integrity sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA== + dependencies: + "@typescript-eslint/utils" "^5.10.0" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.24.0: + version "8.24.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz" + integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== + dependencies: + "@eslint/eslintrc" "^1.3.2" + "@humanwhocodes/config-array" "^0.10.5" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + "@humanwhocodes/module-importer" "^1.0.1" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.1" + globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.4.0: + version "9.4.0" + resolved "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz" + integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +execa@5.0.0, execa@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz" + integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== + 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" + +execa@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz" + integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^3.0.1" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz" + integrity sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w== + dependencies: + "@jest/expect-utils" "^29.1.0" + jest-get-type "^29.0.0" + jest-matcher-utils "^29.1.0" + jest-message-util "^29.1.0" + jest-util "^29.1.0" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0, extsprintf@^1.2.0: + version "1.3.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fast-xml-parser@3.19.0: + version "3.19.0" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz" + integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.4" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + +follow-redirects@^1.14.9: + version "1.15.2" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + 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" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.15.0: + version "13.17.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz" + integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== + dependencies: + type-fest "^0.20.2" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4, hosted-git-info@^2.1.5: + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz" + integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q== + dependencies: + lru-cache "^7.5.1" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +human-signals@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz" + integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== + +ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + 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" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.5" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^29.0.0: + version "29.0.0" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz" + integrity sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ== + dependencies: + execa "^5.0.0" + p-limit "^3.1.0" + +jest-circus@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz" + integrity sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ== + dependencies: + "@jest/environment" "^29.1.1" + "@jest/expect" "^29.1.0" + "@jest/test-result" "^29.1.0" + "@jest/types" "^29.1.0" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^29.1.0" + jest-matcher-utils "^29.1.0" + jest-message-util "^29.1.0" + jest-runtime "^29.1.1" + jest-snapshot "^29.1.0" + jest-util "^29.1.0" + p-limit "^3.1.0" + pretty-format "^29.1.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz" + integrity sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q== + dependencies: + "@jest/core" "^29.1.1" + "@jest/test-result" "^29.1.0" + "@jest/types" "^29.1.0" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^29.1.1" + jest-util "^29.1.0" + jest-validate "^29.1.0" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz" + integrity sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.1.0" + "@jest/types" "^29.1.0" + babel-jest "^29.1.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.1.1" + jest-environment-node "^29.1.1" + jest-get-type "^29.0.0" + jest-regex-util "^29.0.0" + jest-resolve "^29.1.0" + jest-runner "^29.1.1" + jest-util "^29.1.0" + jest-validate "^29.1.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.1.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz" + integrity sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.0.0" + jest-get-type "^29.0.0" + pretty-format "^29.1.0" + +jest-docblock@^29.0.0: + version "29.0.0" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz" + integrity sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz" + integrity sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA== + dependencies: + "@jest/types" "^29.1.0" + chalk "^4.0.0" + jest-get-type "^29.0.0" + jest-util "^29.1.0" + pretty-format "^29.1.0" + +jest-environment-node@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz" + integrity sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw== + dependencies: + "@jest/environment" "^29.1.1" + "@jest/fake-timers" "^29.1.1" + "@jest/types" "^29.1.0" + "@types/node" "*" + jest-mock "^29.1.1" + jest-util "^29.1.0" + +jest-get-type@^29.0.0: + version "29.0.0" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz" + integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== + +jest-haste-map@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz" + integrity sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g== + dependencies: + "@jest/types" "^29.1.0" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.0.0" + jest-util "^29.1.0" + jest-worker "^29.1.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz" + integrity sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q== + dependencies: + jest-get-type "^29.0.0" + pretty-format "^29.1.0" + +jest-matcher-utils@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz" + integrity sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA== + dependencies: + chalk "^4.0.0" + jest-diff "^29.1.0" + jest-get-type "^29.0.0" + pretty-format "^29.1.0" + +jest-message-util@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz" + integrity sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.1.0" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.1.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz" + integrity sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q== + dependencies: + "@jest/types" "^29.1.0" + "@types/node" "*" + jest-util "^29.1.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^29.0.0: + version "29.0.0" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz" + integrity sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug== + +jest-resolve-dependencies@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz" + integrity sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q== + dependencies: + jest-regex-util "^29.0.0" + jest-snapshot "^29.1.0" + +jest-resolve@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz" + integrity sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.1.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.1.0" + jest-validate "^29.1.0" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz" + integrity sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ== + dependencies: + "@jest/console" "^29.1.0" + "@jest/environment" "^29.1.1" + "@jest/test-result" "^29.1.0" + "@jest/transform" "^29.1.0" + "@jest/types" "^29.1.0" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.10.2" + graceful-fs "^4.2.9" + jest-docblock "^29.0.0" + jest-environment-node "^29.1.1" + jest-haste-map "^29.1.0" + jest-leak-detector "^29.1.0" + jest-message-util "^29.1.0" + jest-resolve "^29.1.0" + jest-runtime "^29.1.1" + jest-util "^29.1.0" + jest-watcher "^29.1.0" + jest-worker "^29.1.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz" + integrity sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg== + dependencies: + "@jest/environment" "^29.1.1" + "@jest/fake-timers" "^29.1.1" + "@jest/globals" "^29.1.1" + "@jest/source-map" "^29.0.0" + "@jest/test-result" "^29.1.0" + "@jest/transform" "^29.1.0" + "@jest/types" "^29.1.0" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.1.0" + jest-message-util "^29.1.0" + jest-mock "^29.1.1" + jest-regex-util "^29.0.0" + jest-resolve "^29.1.0" + jest-snapshot "^29.1.0" + jest-util "^29.1.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz" + integrity sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.1.0" + "@jest/transform" "^29.1.0" + "@jest/types" "^29.1.0" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.1.0" + graceful-fs "^4.2.9" + jest-diff "^29.1.0" + jest-get-type "^29.0.0" + jest-haste-map "^29.1.0" + jest-matcher-utils "^29.1.0" + jest-message-util "^29.1.0" + jest-util "^29.1.0" + natural-compare "^1.4.0" + pretty-format "^29.1.0" + semver "^7.3.5" + +jest-util@^29.0.0, jest-util@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz" + integrity sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ== + dependencies: + "@jest/types" "^29.1.0" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz" + integrity sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA== + dependencies: + "@jest/types" "^29.1.0" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.0.0" + leven "^3.1.0" + pretty-format "^29.1.0" + +jest-watcher@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz" + integrity sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg== + dependencies: + "@jest/test-result" "^29.1.0" + "@jest/types" "^29.1.0" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.10.2" + jest-util "^29.1.0" + string-length "^4.0.1" + +jest-worker@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz" + integrity sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.1.0: + version "29.1.1" + resolved "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz" + integrity sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ== + dependencies: + "@jest/core" "^29.1.1" + "@jest/types" "^29.1.0" + import-local "^3.0.2" + jest-cli "^29.1.1" + +jose@^4.1.4: + version "4.10.0" + resolved "https://registry.yarnpkg.com/jose/-/jose-4.10.0.tgz#2e0b7bcc80dd0775f8a4588e55beb9460c37d60a" + integrity sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw== + +js-sdsl@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz" + integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +jsonpath-plus@^0.19.0: + version "0.19.0" + resolved "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz" + integrity sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg== + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz" + integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lint-staged@^13.0.3: + version "13.0.3" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz" + integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug== + dependencies: + cli-truncate "^3.1.0" + colorette "^2.0.17" + commander "^9.3.0" + debug "^4.3.4" + execa "^6.1.0" + lilconfig "2.0.5" + listr2 "^4.0.5" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-inspect "^1.12.2" + pidtree "^0.6.0" + string-argv "^0.3.1" + yaml "^2.1.1" + +listr2@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz" + integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.5" + through "^2.3.8" + wrap-ansi "^7.0.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.assign@^4.0.3, lodash.assign@^4.0.6: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz" + integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= + +lodash.memoize@4.x: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.10.0, lodash@^4.17.14: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.5.1: + version "7.14.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz" + integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.34" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +minimatch@^3.0.4, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0: + version "1.2.5" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minipass@^3.0.0: + version "3.1.6" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz" + integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + dependencies: + yallist "^4.0.0" + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-package-arg@^4.2.0: + version "4.2.1" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz" + integrity sha1-WTMD/eqF98Qid18X+et2cPaA4+w= + dependencies: + hosted-git-info "^2.1.5" + semver "^5.1.0" + +npm-package-arg@^9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz" + integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== + dependencies: + hosted-git-info "^5.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + +npm-remote-ls@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/npm-remote-ls/-/npm-remote-ls-1.3.2.tgz" + integrity sha1-GT6ZBGoP2EUnnmxha6+RsuXguDA= + dependencies: + async "^2.0.0-rc.3" + char-spinner "^1.0.1" + lodash "^4.10.0" + npm-package-arg "^4.2.0" + once "^1.3.3" + registry-url "^3.0.3" + request "^2.37.0" + semver "^5.1.0" + treeify "^1.0.1" + yargs "^4.6.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-hash@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" + integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== + +object-inspect@^1.12.2: + version "1.12.2" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +oidc-token-hash@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz#ae6beec3ec20f0fd885e5400d175191d6e2f10c6" + integrity sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ== + +once@^1.3.0, once@^1.3.3: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +openid-client@^5.1.6: + version "5.1.10" + resolved "https://registry.yarnpkg.com/openid-client/-/openid-client-5.1.10.tgz#add6044878b9be75ffdd09abfcaae6feff376b1f" + integrity sha512-KYAtkxTuUwTvjAmH0QMFFP3i9l0+XhP2/blct6Q9kn+DUJ/lu8/g/bI8ghSgxz9dJLm/9cpB/1uLVGTcGGY0hw== + dependencies: + jose "^4.1.4" + lru-cache "^6.0.0" + object-hash "^2.0.1" + oidc-token-hash "^5.0.1" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + +os-shim@^0.1.2: + version "0.1.3" + resolved "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" + integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pre-commit@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz" + integrity sha1-287g7p3nI15X95xW186UZBpp7sY= + dependencies: + cross-spawn "^5.0.1" + spawn-sync "^1.0.15" + which "1.2.x" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.7.1: + version "2.7.1" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== + +pretty-format@^29.0.0, pretty-format@^29.1.0: + version "29.1.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz" + integrity sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ== + dependencies: + "@jest/schemas" "^29.0.0" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +printable-characters@^1.0.42: + version "1.0.42" + resolved "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz" + integrity sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g= + +proc-log@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz" + integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +rc@^1.0.1: + version "1.2.8" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@^2.2.2: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz" + integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= + dependencies: + rc "^1.0.1" + +request@^2.37.0, request@^2.88.0: + version "2.88.2" + resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfc4648@^1.3.0: + version "1.5.0" + resolved "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.0.tgz" + integrity sha512-FA6W9lDNeX8WbMY31io1xWg+TpZCbeDKsBo0ocwACZiWnh9TUAyk9CCuBQuOPmYnwwdEQZmraQ2ZK7yJsxErBg== + +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^7.5.5: + version "7.5.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz" + integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== + dependencies: + tslib "^2.1.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +"semver@2 || 3 || 4 || 5", semver@^5.1.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.x, semver@^7.0.0, semver@^7.3.5, semver@^7.3.7: + version "7.3.7" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spawn-sync@^1.0.15: + version "1.0.15" + resolved "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz" + integrity sha1-sAeZVX63+wyDdsKdROih6mfldHY= + dependencies: + concat-stream "^1.4.7" + os-shim "^0.1.2" + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +stream-buffers@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz" + integrity sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ== + +string-argv@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.0.1.tgz" + integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g== + dependencies: + emoji-regex "^9.2.2" + is-fullwidth-code-point "^4.0.0" + strip-ansi "^7.0.1" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +system-commands@^1.1.7: + version "1.1.7" + resolved "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz" + integrity sha512-PfswB3P+qrSZcm7nIOJzKMe0qMp7wGVM7B+UYBkaduS6z2n+iM2sk4kw3G4+zY1aRI32+ZgKTUUAlhc3YSneJA== + +tar@^6.1.11: + version "6.1.11" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + 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" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tmp-promise@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +treeify@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== + +ts-jest@^29.0.2: + version "29.0.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.2.tgz#0c45a1ac45d14f8b3bf89bca9048a2840c7bd5ad" + integrity sha512-P03IUItnAjG6RkJXtjjD5pu0TryQFOwcb1YKmW63rO19V0UFqL3wiXZrmR5D7qYjI98btzIOAcYafLZ0GHAcQg== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.1" + lodash.memoize "4.x" + make-error "1.x" + semver "7.x" + yargs-parser "^21.0.1" + +tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^4.8.4: + version "4.8.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + +underscore@^1.9.1: + version "1.13.2" + resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz" + integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g== + +update-browserslist-db@^1.0.9: + version "1.0.9" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz" + integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz" + integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz" + integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== + dependencies: + builtins "^5.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" + integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + +which@1.2.x, which@^1.2.9: + version "1.2.14" + resolved "https://registry.npmjs.org/which/-/which-1.2.14.tgz" + integrity sha1-mofEN48D6CfOyvGs31bHNsAcFOU= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz" + integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU= + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^7.3.1: + version "7.5.6" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz" + integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz" + integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== + +yargs-parser@>=21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.0.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz" + integrity sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ= + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.0.6" + +yargs@^17.3.1, yargs@^17.5.1: + version "17.5.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + +yargs@^4.6.0: + version "4.8.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz" + integrity sha1-wMQpJMpKqmsObaFznfshZDn53cA= + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + lodash.assign "^4.0.3" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.1" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^2.4.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From d876d09247760966f3870b040aabd24d5b886df4 Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Thu, 29 Sep 2022 17:58:10 +0800 Subject: [PATCH 02/11] Improved dockerizing; Resolved ESLint errors and recommendations --- .eslintrc.json | 2 +- .github/workflows/npm-publish.yml | 10 +- Dockerfile | 14 +- bin/install.ts | 220 +- lib/dashboard.ts | 57 +- lib/index.ts | 10 +- lib/init.ts | 13 +- lib/install.ts | 57 +- lib/k8s.ts | 142 +- lib/models/info.ts | 68 +- lib/models/input.ts | 11 +- lib/models/package.ts | 202 +- lib/models/parameter.ts | 5 +- lib/models/resource.ts | 7 +- lib/models/template.ts | 54 +- lib/s3.ts | 60 +- lib/static/package/package.json | 10 +- lib/utils.ts | 30 +- package.json | 5 +- tests/base.test.ts | 20 +- .../mock-package/{index.ts => index.js} | 4 +- tests/fixtures/mock-package/package.json | 5 +- tsconfig.json | 15 +- yarn.lock | 2063 ++++++++--------- 24 files changed, 1526 insertions(+), 1558 deletions(-) rename tests/fixtures/mock-package/{index.ts => index.js} (50%) diff --git a/.eslintrc.json b/.eslintrc.json index 43fb1e9..62ad4b5 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,6 +1,6 @@ { "parserOptions": { - "ecmaVersion": 2020, + "ecmaVersion": 2022, "sourceType": "module", "ecmaFeatures": { "jsx": true, diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index d338f39..38d64e5 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -10,10 +10,12 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@master + - name: Set up Node.js uses: actions/setup-node@master with: - node-version: 10.0.0 + node-version: 18 + - name: Publish if version has been updated uses: pascalgn/npm-publish-action@06e0830ea83eea10ed4a62654eeaedafb8bf50fc with: # All of theses inputs are optional @@ -24,14 +26,18 @@ jobs: env: # More info about the environment variables in the README GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings - - uses: actions/checkout@v2.2.0 + + - uses: actions/checkout@v3 with: fetch-depth: 0 + - name: 'Get Previous tag' id: previoustag uses: "WyriHaximus/github-action-get-previous-tag@master" + - run: echo "REPOSITORY_NAME=`echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//"`" >> $GITHUB_ENV shell: bash + - name: Set up Buildx id: buildx uses: docker/setup-buildx-action@v1 diff --git a/Dockerfile b/Dockerfile index 86fb39a..33fb66e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ -FROM node:16-alpine - -RUN mkdir /app - +FROM node:18-bullseye-slim as builder WORKDIR /app - COPY . /app +RUN npm install && npm build + +FROM node:18-bullseye-slim as runtime +WORKDIR /app -RUN npm link +COPY --from=builder /app/dist/install.js /app -ENTRYPOINT ["argopm"] \ No newline at end of file +CMD ["./install.js"] diff --git a/bin/install.ts b/bin/install.ts index 68e5535..3bcac73 100755 --- a/bin/install.ts +++ b/bin/install.ts @@ -1,104 +1,106 @@ -#!/usr/bin/env node +#!/usr/bin/env -S npx ts-node import { install, installGlobal } from "../lib/install"; import { initHelp, installHelp } from "../lib/help"; import { uninstall, run } from "../lib/index"; import { init } from "../lib/init"; -import { command as yargsCommand } from "yargs"; +import yargs from "yargs"; +import { hideBin } from "yargs/helpers"; import { cyan, dim, bright } from "ansicolor"; import { Package } from "../lib/models/package"; -import asTableLib = require("as-table"); +import { configure } from "as-table"; +import { K8sInstallerOptionsType } from "../lib/k8s"; -const asTable = asTableLib.configure({ +configure({ title: (x) => bright(x), delimiter: dim(cyan(" | ")), dash: bright(cyan("-")), }); -yargsCommand({ - command: "install ", - aliases: ["i"], - describe: "Install a package. Package name can be of the format package@version", - builder: (yargs) => - yargs - .option("save", { - alias: "s", - type: "boolean", - description: "Save the package as a dependency in the current project.", - default: true, - }) - .option("force", { - alias: "f", - type: "boolean", - description: "Force install package ignoring version in cluster", - default: false, - }) - .option("global", { - alias: "g", - type: "boolean", - description: "Install the package globally", - default: false, - }) - .option("cron-string", { - alias: "cs", - type: "string", - description: "Cron String", - demandOption: false, - }) - .option("time-zone", { - alias: "tz", - type: "string", - description: "Time Zone", - demandOption: false, - default: Intl.DateTimeFormat().resolvedOptions().timeZone, - }), - handler: async (argv) => { - let packageName; - const options = { - force: argv["f"], - cronString: argv["cs"], - timeZone: argv["tz"], - }; - if (argv.global) { - packageName = await installGlobal( - argv.package as string, - argv.registry as string, - argv.namespace as string, - argv.cluster as boolean, - options - ); - } else { - packageName = await install( - argv.package as string, - argv.registry as string, - argv.namespace as string, - argv.save, - argv.cluster as boolean, - options - ); - } +yargs(hideBin(process.argv)) + .command({ + command: "install ", + aliases: ["i"], + describe: "Install a package. Package name can be of the format package@version", + builder: (yargs) => + yargs + .option("save", { + alias: "s", + type: "boolean", + description: "Save the package as a dependency in the current project.", + default: true, + }) + .option("force", { + alias: "f", + type: "boolean", + description: "Force install package ignoring version in cluster", + default: false, + }) + .option("global", { + alias: "g", + type: "boolean", + description: "Install the package globally", + default: false, + }) + .option("cron-string", { + alias: "cs", + type: "string", + description: "Cron String", + demandOption: false, + }) + .option("time-zone", { + alias: "tz", + type: "string", + description: "Time Zone", + demandOption: false, + default: Intl.DateTimeFormat().resolvedOptions().timeZone, + }), + handler: async (argv) => { + let packageName; + const options: K8sInstallerOptionsType = { + force: argv.force, + cronString: argv.cronString, + timeZone: argv.timeZone, + }; + if (argv.global) { + packageName = await installGlobal( + argv.package as string, + argv.registry as string, + argv.namespace as string, + argv.cluster as boolean, + options as K8sInstallerOptionsType + ); + } else { + packageName = await install( + argv.package as string, + argv.registry as string, + argv.namespace as string, + argv.save, + argv.cluster as boolean, + options + ); + } - const re = new RegExp("NAME", "g"); - if (packageName) { - console.log(installHelp.replace(re, packageName)); - } else { - console.error(`No packageName on ${installHelp}.`); - } - }, -}) + const re = new RegExp("NAME", "g"); + if (packageName) { + console.log(installHelp.replace(re, packageName)); + } else { + console.error(`No packageName on ${installHelp}.`); + } + }, + }) .command({ command: "info [template]", describe: "Get info of the installed package or a specific template in the package", - handler: (argv) => { - Package.info(argv.namespace as string, argv.package as string, argv.cluster as boolean) - .then((argoPackage: { templateInfo }) => { - if (argv.template) { - return argoPackage.templateInfo(argv.template); - } - return argoPackage.packageInfo(argv.namespace); - }) - .then((info: any) => { - console.log(info); - }); + handler: async (argv) => { + const argoPackage = await Package.info( + argv.namespace as string, + argv.package as string, + argv.cluster as boolean + ); + const info = argv.template + ? argoPackage.templateInfo(argv.template as string) + : argoPackage.packageInfo(argv.namespace as string); + console.log(info); }, }) .command({ @@ -118,27 +120,25 @@ yargsCommand({ description: "Image Pull secrets", demandOption: false, }), - handler: (argv) => { - run( + handler: async (argv) => { + await run( argv.namespace as string, argv.package as string, argv.template as string, - argv["san"] as string, - argv["ips"] as string, + argv.serviceAccountName as string, + argv.imagePullSecrets as string, argv.cluster as boolean - ).then((_: any) => { - console.log(`Package run successful`); - }); + ); + console.log(`Package run successful`); }, }) .command({ command: "uninstall ", aliases: ["u", "r"], describe: "Uninstall a package. Uninstalls all dependencies associated with the package.", - handler: (argv) => { - uninstall(argv.namespace as string, argv.package as string, argv.cluster as string).then((_: any) => { - console.log(`Successfully deleted package ${argv.package}`); - }); + handler: async (argv) => { + await uninstall(argv.namespace as string, argv.package as string, argv.cluster as boolean); + console.log(`Successfully deleted package ${argv.package}`); }, }) .command({ @@ -151,30 +151,22 @@ yargsCommand({ description: "Force the command", default: true, }), - handler: (argv) => { - init(argv.force, argv.package_name).then((packageName: string) => { - const re = new RegExp("NAME", "g"); - console.log(initHelp.replace(re, packageName)); - }); + handler: async (argv) => { + const packageName = await init(argv.force, argv.package_name as string); + const re = new RegExp("NAME", "g"); + console.log(initHelp.replace(re, packageName)); }, }) .command({ command: "list", aliases: ["l"], describe: "List all the packages installed in the namespace", - handler: (argv) => { - Package.list(argv.namespace as string, argv.cluster as boolean).then((argoPackages: any[]) => { - if (argoPackages.length === 0) { - console.log("No packages found"); - return; - } - - const packageInfos: any[] = []; - argoPackages.forEach(({ info }) => { - packageInfos.push(info); - }); - console.log(asTable(packageInfos)); - }); + handler: async (argv) => { + const argoPackages = await Package.list(argv.namespace as string, argv.cluster as boolean); + if (argoPackages.length === 0) { + console.log("No packages found"); + return; + } }, }) .option("namespace", { diff --git a/lib/dashboard.ts b/lib/dashboard.ts index 957d6e8..e888ad3 100644 --- a/lib/dashboard.ts +++ b/lib/dashboard.ts @@ -1,19 +1,21 @@ import axios from "axios"; -import fs from "fs"; -import dotenv from "dotenv"; +import * as dotenv from "dotenv"; +import { existsSync } from "node:fs"; +import { readdir, readFile } from "node:fs/promises"; +import { PackageObjectType } from "./models/info"; dotenv.config(); export class DashboardInstaller { - argoPackage: any; - packagePath: any; + argoPackage: PackageObjectType; + packagePath: string; /** * Installs the dashboards for the package * @param {Package} argoPackage - * @param {String} packagePath Argo package path + * @param {string} packagePath Argo package path */ - constructor(argoPackage: any, packagePath: any) { + constructor(argoPackage: PackageObjectType, packagePath: string) { this.argoPackage = argoPackage; this.packagePath = packagePath; } @@ -36,7 +38,7 @@ export class DashboardInstaller { } const dirPath = `${this.packagePath}/dashboards/grafana/`; - if (!fs.existsSync(dirPath)) { + if (!existsSync(dirPath)) { return Promise.resolve(true); } @@ -45,26 +47,25 @@ export class DashboardInstaller { Authorization: `Bearer ${GRAFANA_API_TOKEN}`, }; - return await fs.readdir(dirPath, (files: any) => - files.map((fileName: string) => { - if (!fileName || !fileName.endsWith(".json")) return Promise.resolve(false); - return fs.readFile(dirPath + fileName, { encoding: "utf8" }, async (_err: any, data: string) => { - console.debug(`STARTING upload for ${fileName} - POST ${GRAFANA_URL}`); - try { - await axios.post(GRAFANA_URL, JSON.parse(data), { headers: headers }); - console.debug(`DONE Uploading ${fileName} - POST ${GRAFANA_URL}`); - } catch (err) { - if (err.isAxiosError) { - const message_1 = `FAILED Uploading ${fileName} - POST ${GRAFANA_URL}. HTTP Code: ${err.response.status}. ERROR: ${err.response.statusText}`; - console.error(message_1); - throw message_1; - } - throw err; - } - }); - }) - ); + const files = await readdir(dirPath); + + return files.map(async (fileName: string) => { + if (!fileName || !fileName.endsWith(".json")) { + return; + } + const data = await readFile(dirPath + fileName, { encoding: "utf8" }); + console.debug(`STARTING upload for ${fileName} - POST ${GRAFANA_URL}`); + try { + await axios.post(GRAFANA_URL, JSON.parse(data), { headers: headers }); + console.debug(`DONE Uploading ${fileName} - POST ${GRAFANA_URL}`); + } catch (err) { + if (err.isAxiosError) { + const message_1 = `FAILED Uploading ${fileName} - POST ${GRAFANA_URL}. HTTP Code: ${err.response.status}. ERROR: ${err.response.statusText}`; + console.error(message_1); + throw message_1; + } + throw err; + } + }); } } - -exports.DashboardInstaller = DashboardInstaller; diff --git a/lib/index.ts b/lib/index.ts index 44b6d69..e86ca72 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -3,11 +3,11 @@ import { generateArguments } from "./utils"; /** * Delete a package - * @param {String} namespace - * @param {String} name - * @param {String} cluster + * @param {string} namespace + * @param {string} name + * @param {string} cluster */ -export async function uninstall(namespace: string, name: string, cluster: string) { +export async function uninstall(namespace: string, name: string, cluster: boolean) { const argoPackage = await Package.info(namespace, name, cluster); return argoPackage.delete(cluster, namespace); } @@ -19,7 +19,7 @@ export async function uninstall(namespace: string, name: string, cluster: string * @param {string} templateName * @param {string} serviceAccountName * @param {string} imagePullSecrets - * @param {Boolean} cluster + * @param {boolean} cluster */ export async function run( namespace: string, diff --git a/lib/init.ts b/lib/init.ts index 8dc9d9a..a936224 100644 --- a/lib/init.ts +++ b/lib/init.ts @@ -13,11 +13,11 @@ import { walk } from "./utils"; * 4. Change name to the folder name * @param {boolean} force */ -export const init = async (force: boolean, inputPackageName: unknown) => { +export const init = async (force: boolean, inputPackageName: string) => { // const dirPath = "/tmp/test-package"; const dirPath = process.cwd(); const pathComponents = dirPath.split("/"); - const packageName = inputPackageName != "." || pathComponents[pathComponents.length - 1]; + const packageName = inputPackageName != "." ? inputPackageName : pathComponents[pathComponents.length - 1]; const files = await readdir(dirPath); if (!force && (files.length !== 0 || files.includes("package.json"))) { @@ -34,10 +34,9 @@ export const init = async (force: boolean, inputPackageName: unknown) => { return packageName; }; -function replaceInFile(filePath: PathLike | FileHandle, searchText: string | RegExp, replaceText: string) { +async function replaceInFile(filePath: PathLike | FileHandle, searchText: string | RegExp, replaceText: string) { const re = new RegExp(searchText, "g"); - return readFile(filePath, "utf-8").then((data) => { - const result = data.replace(re, replaceText); - return writeFile(filePath, result, "utf8"); - }); + const data = await readFile(filePath, "utf-8"); + const result = data.replace(re, replaceText); + return await writeFile(filePath, result, "utf8"); } diff --git a/lib/install.ts b/lib/install.ts index dce6ebc..951124d 100644 --- a/lib/install.ts +++ b/lib/install.ts @@ -1,4 +1,4 @@ -import { K8sInstaller } from "./k8s"; +import { K8sInstaller, K8sInstallerOptionsType } from "./k8s"; import { S3 } from "./s3"; import { listDirs, deleteDir } from "./utils"; import { readFileSync, existsSync } from "fs"; @@ -11,32 +11,34 @@ import npa = require("npm-package-arg"); /** * Downloads the given package * - * @param {String} prefixPath Directory to install - * @param {String} packageName Argo package name - * @param {String} registry Argo Package registry - * @param {String} saveParam Save parameter + * @param {string} prefixPath Directory to install + * @param {string} packageName Argo package name + * @param {string} registry Argo Package registry + * @param {string} saveParam Save parameter */ -const npmInstall = function (prefixPath: string, packageName: string, registry: string, saveParam: string) { +const npmInstall = async function (prefixPath: string, packageName: string, registry: string, saveParam: string) { if (packageName === ".") { - return system(`NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`); + return await system(`NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`); } - return system(`NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force`); + return await system( + `NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force` + ); }; /** * Install a global package - * - * @param {string} packageName - * @param {string} registry - * @param {string} namespace - * @param {boolean} cluster + * @param {string} packageName + * @param {string} registry + * @param {string} namespace + * @param {boolean} cluster + * @param {K8sInstallerOptionsType} options */ export const installGlobal = async function ( packageName: string, registry: string, namespace: string, cluster: boolean, - options + options: K8sInstallerOptionsType ) { let dirPath = `/tmp/argopm/${packageName}`; dirPath = dirPath.split("@").slice(0, -1).join("@"); @@ -48,22 +50,31 @@ export const installGlobal = async function ( /** * Get Package name from path - * @param path - * @returns {string} + * @param {string} path + * @returns string */ -const packageNameFromPath = function (path): string { +const packageNameFromPath = function (path: string): string { const packageJSONFilePath = `${path}/package.json`; const packageObject = JSON.parse(readFileSync(packageJSONFilePath, "utf-8")); return `${packageObject.name}@${packageObject.version}`; }; +/** + * Execute k8sInstaller and dashboardInstaller. + * @param {string} dir + * @param {boolean} cluster + * @param {string} namespace + * @param {string} parentPackageName + * @param {string} registry + * @param {K8sInstallerOptionsType} options + */ const processInstallers = ( dir: string, cluster: boolean, namespace: string, parentPackageName: string, registry: string, - options: any + options: K8sInstallerOptionsType ) => { // Upload Static Files const s3Uploader = new S3( @@ -100,7 +111,7 @@ export const install = async function ( namespace: string, save: boolean, cluster: boolean, - options, + options: K8sInstallerOptionsType, dirPath: string = process.cwd() ) { // dirPath = "/Users/amit/Documents/marketplace-packages/atlan-atlas"; @@ -144,14 +155,10 @@ export const install = async function ( if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { const innerDirs = await listDirs(dir); innerDirs.forEach((innerDir) => { - if (innerDir) { - processInstallers(innerDir, cluster, namespace, parentPackageName, registry, options); - } + processInstallers(innerDir, cluster, namespace, parentPackageName, registry, options); }); } else { - if (dir) { - processInstallers(dir, cluster, namespace, parentPackageName, registry, options); - } + processInstallers(dir, cluster, namespace, parentPackageName, registry, options); } }); diff --git a/lib/k8s.ts b/lib/k8s.ts index 36b6f29..29b6f42 100644 --- a/lib/k8s.ts +++ b/lib/k8s.ts @@ -1,11 +1,11 @@ -// ./lib/js -import { constants } from "./constants"; -import { readdir, readFile } from "node:fs/promises"; -import { readFileSync, existsSync } from "node:fs"; +import { CoreV1Api, CustomObjectsApi, KubeConfig } from "@kubernetes/client-node"; import { load } from "js-yaml"; -import { PackageInfo } from "./models/info"; +import { existsSync, readFileSync } from "node:fs"; +import { readdir, readFile } from "node:fs/promises"; +import { IncomingMessage } from "node:http"; +import { constants } from "./constants"; +import { PackageInfo, PackageObjectType } from "./models/info"; import { Resource } from "./models/resource"; -import { CoreV1Api, CustomObjectsApi, KubeConfig } from "@kubernetes/client-node"; const kc = new KubeConfig(); kc.loadFromDefault(); @@ -20,18 +20,29 @@ export type GenericK8sSpecType = { spec?: any; }; +export type K8sApiResponse = { + response: IncomingMessage; + body: any; +}; + +export type K8sInstallerOptionsType = { + force?: boolean; + cronString?: string; + timeZone?: string; +}; + /** - * - * @param {string} name - * @returns + * Get Resource object by name. + * @param {GenericK8sSpecType[]} resources + * @param {string} name */ -function getResourceByName(resources: GenericK8sSpecType[], name: any) { +function getResourceByName(resources: GenericK8sSpecType[], name: string) { //TODO: Possible bottleneck if packages grow. return new Resource(resources.find(({ metadata }) => metadata.name === name)); } /** - * + * CHeck existing Resource object. * @param {Resource} resource * @param {string} name * @param {string} kind @@ -39,7 +50,13 @@ function getResourceByName(resources: GenericK8sSpecType[], name: any) { * @param {boolean} forceUpdate * @returns {{shouldUpdate: boolean, msgPrefix: string}} */ -function checkExistingResource(resource: Resource, name: any, kind: any, newVersion: any, forceUpdate: any) { +function checkExistingResource( + resource: Resource, + name: string, + kind: string, + newVersion: string, + forceUpdate: boolean +): { shouldUpdate: boolean; msgPrefix: string } { const needsUpdate = resource.needsUpdate(newVersion); const msgPrefix = `${name} ${kind} already present in the cluster.`; @@ -57,30 +74,30 @@ function checkExistingResource(resource: Resource, name: any, kind: any, newVers } export class K8sInstaller { - packagePath: any; - namespace: any; - forceUpdate: any; - parentPackage: any; - registry: any; - package: any; - cronString: any; - timeZone: any; + packagePath: string; + namespace: string; + forceUpdate: boolean; + parentPackage: string; + registry: string; + package: PackageObjectType; + cronString: string; + timeZone: string; /** * Installs the given package to Argo K8s deployment * - * @param {String} packagePath Argo package path - * @param {String} namespace Namespace to install the package in - * @param {String} parentPackage Parent package of the format @ - * @param {String} registry Package registry - * @param {Object} options + * @param {string} packagePath Argo package path + * @param {string} namespace Namespace to install the package in + * @param {string} parentPackage Parent package of the format @ + * @param {string} registry Package registry + * @param {K8sInstallerOptionsType} options */ constructor( - packagePath: unknown, - namespace: any, - parentPackage: any, + packagePath: string, + namespace: string, + parentPackage: string, registry: string, - options: { force: any; cronString: any; timeZone: any } + options: K8sInstallerOptionsType ) { this.packagePath = packagePath; this.namespace = namespace; @@ -96,7 +113,7 @@ export class K8sInstaller { * Installs the given package to Argo K8s deployment * @param {boolean} cluster */ - async install(cluster: any) { + async install(cluster: boolean) { console.log(`Installing package ${this.package.name}@${this.package.version}`); await this.installConfigs(); await this.installSecrets(); @@ -125,7 +142,7 @@ export class K8sInstaller { * Installs cron workflows * @param {boolean} cluster - determines whether the templateRef is from the cluster scope or a namespace */ - installCronWorkflows(cluster: any) { + installCronWorkflows(cluster: boolean) { const dirPath = `${this.packagePath}/cronworkflows/`; return this.installYamlInPath( dirPath, @@ -154,7 +171,7 @@ export class K8sInstaller { * Installs the templates * @param {boolean} cluster Determines if ClusterWorkflowTemplates or WorkflowTemplates are installed */ - installTemplates(cluster: any) { + installTemplates(cluster: boolean) { const dirPath = `${this.packagePath}/templates/`; let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; if (cluster) { @@ -171,11 +188,11 @@ export class K8sInstaller { /** * Install all YAML files in path - * @param {String} dirPath + * @param {string} dirPath * @param {boolean} cluster * @param {string} kind * @param {string} group - * @param {Function} fn + * @param */ async installYamlInPath(dirPath: string, cluster: boolean, kind: string, group: string, fn) { if (!existsSync(dirPath)) { @@ -208,7 +225,7 @@ export class K8sInstaller { * Installs the given package to Argo K8s deployment * @param {Object} yamlObject YAML object */ - addAPMLabels(yamlObject: GenericK8sSpecType, folder: any, fileName: any) { + addAPMLabels(yamlObject: GenericK8sSpecType, folder: string, fileName: string) { const metadata = yamlObject.metadata; if (!metadata.name) { metadata.name = this.package.name.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); @@ -251,16 +268,16 @@ export class K8sInstaller { * @param {object} yamlObject * @param {boolean} cluster * @param {boolean} forceUpdate - * @returns {Promise} + * @returns */ static async upsertConfigMap( - packageName: any, + packageName: string, namespace: string, - kind: any, - group: any, + kind: string, + group: string, yamlObject: GenericK8sSpecType, - cluster: any, - forceUpdate: any + cluster: boolean, + forceUpdate: boolean ) { const response = await coreK8sApi.listNamespacedConfigMap( namespace, @@ -311,16 +328,16 @@ export class K8sInstaller { * @param {object} yamlObject * @param {boolean} cluster * @param {boolean} forceUpdate - * @returns {Promise} + * @returns */ static async upsertSecret( - packageName: any, + packageName: string, namespace: string, - kind: any, - group: any, + kind: string, + group: string, yamlObject: GenericK8sSpecType, - cluster: any, - forceUpdate: any + cluster: boolean, + forceUpdate: boolean ) { const response = await coreK8sApi.listNamespacedSecret( namespace, @@ -373,16 +390,16 @@ export class K8sInstaller { * @param {boolean} forceUpdate */ static async upsertTemplate( - packageName: any, + packageName: string, namespace: string, kind: string, group: string, yamlObject: GenericK8sSpecType, - cluster: any, - forceUpdate: any + cluster: boolean, + forceUpdate: boolean ) { const plural = `${kind.toLowerCase()}s`; - let response; + let response: K8sApiResponse; if (!cluster) { response = await customK8sApi.listNamespacedCustomObject( @@ -418,7 +435,7 @@ export class K8sInstaller { } else { const templates = yamlObject["spec"]["templates"]; if (templates) { - templates.forEach((template: { [x: string]: { [x: string]: any } }) => { + templates.forEach((template: any) => { if (template["dag"]) { const tasks = template["dag"]["tasks"]; tasks.forEach((task: { [x: string]: { [x: string]: boolean } }) => { @@ -451,16 +468,16 @@ export class K8sInstaller { * @param {string} cluster * @param {string} apiGroup * @param {boolean} forceUpdate - * @returns {Promise} + * @returns */ static async handleUpsertWithTemplateResponse( - response: { body: { items: any } }, + response: K8sApiResponse, namespace: string, plural: string, yamlObject: GenericK8sSpecType, - cluster: any, + cluster: boolean, apiGroup: string, - forceUpdate: any + forceUpdate: boolean ) { const name = yamlObject.metadata.name; const items = response.body.items; @@ -513,7 +530,7 @@ export class K8sInstaller { namespace: string, plural: string, yamlObject: GenericK8sSpecType, - cluster: any, + cluster: boolean, apiGroup: string ) { if (cluster) { @@ -549,7 +566,7 @@ export class K8sInstaller { namespace: string, plural: string, yamlObject: GenericK8sSpecType, - cluster: any, + cluster: boolean, apiGroup: string ) { if (cluster) { @@ -590,7 +607,14 @@ export class K8sInstaller { * @param {string} apiGroup * @returns {Promise} k8s response */ - static async recreateCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup) { + static async recreateCustomResource( + name: string, + namespace: string, + plural: string, + yamlObject: object, + cluster: boolean, + apiGroup: string + ): Promise { if (cluster) { await customK8sApi.deleteClusterCustomObject( constants.ARGO_K8S_API_GROUP, diff --git a/lib/models/info.ts b/lib/models/info.ts index 31c9a97..8c3251e 100644 --- a/lib/models/info.ts +++ b/lib/models/info.ts @@ -3,7 +3,7 @@ import { constants } from "../constants"; /** * Encode a string - * @param {String} str + * @param {string} str */ const encode = function (str: string) { return str.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); @@ -11,7 +11,7 @@ const encode = function (str: string) { /** * Special encode a string - * @param {String} str + * @param {string} str */ const specialEncode = function (str: string) { if (str === ".") return ""; @@ -20,7 +20,7 @@ const specialEncode = function (str: string) { /** * Decode a string - * @param {String} str + * @param {string} str */ const decode = function (str: string) { return str @@ -29,17 +29,32 @@ const decode = function (str: string) { .replace(/c-o-l-o-n/g, ":"); }; +export type PackageObjectType = { + config: { + annotations: { [key: string]: string }; + labels: { [key: string]: string }; + }; + name: string; + version: string; + description: string; + homepage: string; + bugs: { email: string }; + author: { name: string }; + repository: { url: string }; + keywords: string[]; +}; + export class PackageInfo { - name: any; - version: any; - parent: any; - registry: any; + name: string; + version: string; + parent: string; + registry: string; /** * Create package info object * @param {Object} labels K8s labels */ - constructor(labels: { [x: string]: any }) { + constructor(labels: { [x: string]: string }) { if (labels[constants.ARGOPM_INSTALLER_LABEL] !== constants.ARGOPM_INSTALLER_LABEL_VALUE) { throw "Not a ArgoPM package"; } @@ -62,7 +77,7 @@ export class PackageInfo { * Get Dependency label * @returns {string} */ - getDependencyLabel() { + getDependencyLabel(): string { const parentName = encode(`${this.name}@${this.version}`); return `${constants.ARGOPM_LIBRARY_PARENT_LABEL}=${parentName}`; } @@ -71,18 +86,18 @@ export class PackageInfo { * Get Package label * @returns {string} */ - getPackageLabel() { + getPackageLabel(): string { return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${encode(this.name)}`; } /** * Create the K8s labels object - * @param {String} name - * @param {String} version - * @param {String} parent - * @param {String} registry + * @param {string} name + * @param {string} version + * @param {string} parent + * @param {string} registry */ - static createK8sLabels = function (name: any, version: any, parent: any, registry: any) { + static createK8sLabels = function (name: string, version: string, parent: string, registry: string) { const labels = {}; labels[constants.ARGOPM_INSTALLER_LABEL] = encode(constants.ARGOPM_INSTALLER_LABEL_VALUE); labels[constants.ARGOPM_LIBRARY_NAME_LABEL] = specialEncode(name); @@ -99,9 +114,9 @@ export class PackageInfo { * @param {string} registry */ static createK8sLabelsForPackage = function ( - packageObject: { config: { labels: any }; name: any; version: any }, - parentPackageName: any, - registry: any + packageObject: PackageObjectType, + parentPackageName: string, + registry: string ) { let labels = {}; if (packageObject.config && packageObject.config.labels) { @@ -123,18 +138,9 @@ export class PackageInfo { * @param {string} registry */ static createK8sAnnotationsForPackage = function ( - packageObject: { - config: { annotations: any }; - name: any; - description: any; - homepage: string; - bugs: { email: string }; - author: { name: any }; - repository: { url: any }; - keywords: any; - }, - parentPackageName: any, - registry: any + packageObject: PackageObjectType, + parentPackageName: string, + registry: string ) { let annotations = {}; if (packageObject.config && packageObject.config.annotations) { @@ -172,7 +178,7 @@ export class PackageInfo { * @param {string} packageName * @returns {string} */ - static getPackageLabel = function (packageName: string) { + static getPackageLabel = function (packageName: string): string { return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${specialEncode(packageName)}`; }; } diff --git a/lib/models/input.ts b/lib/models/input.ts index 8df8871..3f4566f 100644 --- a/lib/models/input.ts +++ b/lib/models/input.ts @@ -1,13 +1,18 @@ import { Parameter } from "./parameter"; import { yellow } from "ansicolor"; +export type InputObjectType = { + parameters?: any; + artifacts?: any; +}; + export class Input { parameters: Parameter[]; /** * @param {Object} inputsObj */ - constructor(inputsObj) { + constructor(inputsObj: InputObjectType) { if (!inputsObj) { inputsObj = { parameters: undefined, @@ -31,7 +36,7 @@ export class Input { * Check the requirement parameters to run * @param {Input} input */ - checkRequiredArgs(input) { + checkRequiredArgs(input: Input) { this.parameters.forEach((parameter) => { if (parameter.isRequired && input.getParameterValue(parameter.name) === undefined) { throw new Error(`Required parameter missing '${parameter.name}'`); @@ -45,7 +50,7 @@ export class Input { * @param {string} key * @returns {string} */ - getParameterValue(key) { + getParameterValue(key: string): string { let value = undefined; this.parameters.forEach((parameter) => { if (parameter.name === key) value = parameter.value; diff --git a/lib/models/package.ts b/lib/models/package.ts index 49520c0..b2b984e 100644 --- a/lib/models/package.ts +++ b/lib/models/package.ts @@ -1,11 +1,13 @@ -import { yellow, blue, bright, lightCyan } from "ansicolor"; +import { CoreV1Api, CustomObjectsApi, KubeConfig, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; +import { blue, bright, lightCyan, yellow } from "ansicolor"; +import { load } from "js-yaml"; import { readFile } from "node:fs/promises"; -import { PackageInfo } from "./info"; +import { constants } from "../constants"; +import { K8sApiResponse as K8sApiListResponse } from "../k8s"; import { Argument } from "./argument"; +import { PackageInfo } from "./info"; +import { Parameter } from "./parameter"; import { Template } from "./template"; -import { constants } from "../constants"; -import { load } from "js-yaml"; -import { KubeConfig, CoreV1Api, CustomObjectsApi, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; const kc = new KubeConfig(); kc.loadFromDefault(); @@ -25,7 +27,7 @@ export class Package { * Create an Argo Package object * @param {Object} k8sYaml */ - constructor(k8sYaml) { + constructor(k8sYaml: { metadata: any; spec: any }) { this.metadata = k8sYaml.metadata; this.spec = k8sYaml.spec; this.info = new PackageInfo(this.metadata.labels); @@ -36,9 +38,9 @@ export class Package { /** * Get package info - * @returns {Promise} + * @returns */ - packageInfo(namespace) { + async packageInfo(namespace: string) { let info = `${this.info.info()}\n`; info += `${yellow("Executable:")} ${lightCyan(`${this.isExecutable}`)}\n`; @@ -51,60 +53,58 @@ export class Package { }); info += templatesInfo; - return this.pipelines(namespace) - .then((pipelines) => { - let pipelinesInfo = blue(bright("\nPipelines: \n")); - pipelines.forEach((pipeline) => { - pipelinesInfo += `- ${yellow(pipeline.metadata.name)}\n`; - }); - info += pipelinesInfo; - return this.configMaps(namespace); - }) - .then((configMaps) => { - let configMapInfo = blue(bright("\nConfig Maps: \n")); - configMaps.forEach((configMap) => { - configMapInfo += `- ${yellow(configMap.metadata?.name)}\n`; - }); - info += configMapInfo; - return this.secrets(namespace); - }) - .then((secrets) => { - if (secrets.length != 0) { - let secretInfo = blue(bright("\nSecrets: \n")); - secrets.forEach((secret) => { - secretInfo += `- ${yellow(secret.metadata?.name)}\n`; - }); - info += secretInfo; - } - return this.cronWorkflows(namespace); - }) - .then((cronWorkflows) => { - let cronWorkflowInfo = blue(bright("\nCron Workflows: \n")); - cronWorkflows.forEach((cronWorkflow) => { - const cronString = cronWorkflow.spec.schedule; - const cronTimezone = cronWorkflow.spec.timezone; - cronWorkflowInfo += `- Name: ${yellow(cronWorkflow.metadata.name)}, Schedule: ${lightCyan( - cronString - )}, Timezone: ${lightCyan(cronTimezone)}\n`; - }); - info += cronWorkflowInfo; - return info; + const pipelines = await this.pipelines(namespace); + let pipelinesInfo = blue(bright("\nPipelines: \n")); + pipelines.forEach((pipeline: { metadata: { name: string | number } }) => { + pipelinesInfo += `- ${yellow(pipeline.metadata.name)}\n`; + }); + info += pipelinesInfo; + + const configMaps = await this.configMaps(namespace); + let configMapInfo = blue(bright("\nConfig Maps: \n")); + configMaps.forEach((configMap) => { + configMapInfo += `- ${yellow(configMap.metadata?.name)}\n`; + }); + info += configMapInfo; + + const secrets = await this.secrets(namespace); + if (secrets.length != 0) { + let secretInfo = blue(bright("\nSecrets: \n")); + secrets.forEach((secret) => { + secretInfo += `- ${yellow(secret.metadata?.name)}\n`; }); + info += secretInfo; + } + + const cronWorkflows = await this.cronWorkflows(namespace); + let cronWorkflowInfo = blue(bright("\nCron Workflows: \n")); + cronWorkflows.forEach( + (cronWorkflow: { spec: { schedule: any; timezone: any }; metadata: { name: string | number } }) => { + const cronString = cronWorkflow.spec.schedule; + const cronTimezone = cronWorkflow.spec.timezone; + cronWorkflowInfo += `- Name: ${yellow(cronWorkflow.metadata.name)}, Schedule: ${lightCyan( + cronString + )}, Timezone: ${lightCyan(cronTimezone)}\n`; + } + ); + info += cronWorkflowInfo; + + return info; } /** * @param {string} templateName */ - templateInfo(templateName) { + templateInfo(templateName: string) { return this.templateForName(templateName).info(); } /** * * @param name - * @returns {Promise<{Template}>} + * @returns */ - templateForName(name) { + templateForName(name: string) { const chosenTemplate = this.templates.find((template) => template.name === name); if (!chosenTemplate) { @@ -120,12 +120,12 @@ export class Package { * 1. Delete all dependencies * 2. Delete the workflow template * 3. Delete the config maps - * @returns {Promise<{response: http.IncomingMessage, body: object}>} + * @returns */ - async delete(cluster, namespace) { + async delete(cluster: boolean, namespace: string) { for (const dependencyPackage of await this.dependencies(cluster)) { console.log(`Deleting dependent package ${dependencyPackage.info.name}`); - dependencyPackage.delete(cluster, namespace); + await dependencyPackage.delete(cluster, namespace); } console.log(`Deleting config maps for package ${this.metadata.name}`); @@ -166,13 +166,13 @@ export class Package { /** * Get all dependencies of the packages installed - * @param {Boolean} cluster + * @param {boolean} cluster * @returns */ async dependencies(cluster: boolean) { let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; let plural = `${kind.toLowerCase()}s`; - let response; + let response: K8sApiListResponse; if (cluster) { kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; @@ -205,11 +205,11 @@ export class Package { /** * Get all dependencies - * @returns {Promise<[Package]>} + * @returns */ - getDependentPackagesFromListResponse(response) { + getDependentPackagesFromListResponse(response: K8sApiListResponse) { const packages: Package[] = []; - response.body.items.forEach((template) => { + response.body.items.forEach((template: any) => { const argoPackage = new Package(template); if (argoPackage.info.name !== this.info.name) { packages.push(new Package(template)); @@ -222,7 +222,7 @@ export class Package { * Returns all config maps associated with the package * @returns */ - async configMaps(namespace): Promise { + async configMaps(namespace: string): Promise { const response = await coreK8sApi.listNamespacedConfigMap( namespace, undefined, @@ -238,7 +238,7 @@ export class Package { * Deletes all configmaps associated with the package * @returns */ - async deleteConfigMaps(namespace) { + async deleteConfigMaps(namespace: any) { const configMaps = await this.configMaps(namespace); for (const configMap of configMaps) { const metadata = configMap.metadata; @@ -252,9 +252,9 @@ export class Package { /** * Returns all secrets associated with the package - * @returns {Promise>} + * @returns */ - async secrets(namespace): Promise { + async secrets(namespace: string): Promise { const response = await coreK8sApi.listNamespacedSecret( namespace, undefined, @@ -268,9 +268,9 @@ export class Package { /** * Deletes all secrets associated with the package - * @returns {Promise} + * @returns */ - async deleteSecrets(namespace) { + async deleteSecrets(namespace: any) { const secrets = await this.secrets(namespace); for (const secret of secrets) { const metadata = secret.metadata; @@ -283,9 +283,9 @@ export class Package { /** * Returns all piplines associated with the package - * @returns {Promise>} + * @returns */ - async pipelines(namespace) { + async pipelines(namespace: string) { const plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; const response = await customK8sApi.listNamespacedCustomObject( constants.ARGO_DATAFLOW_K8S_API_GROUP, @@ -303,9 +303,9 @@ export class Package { /** * Deletes all pipelines associated with the package - * @returns {Promise} + * @returns */ - async deletePipelines(namespace) { + async deletePipelines(namespace: any) { const plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; for (const pipeline of await this.pipelines(namespace)) { const metadata = pipeline.metadata; @@ -321,9 +321,9 @@ export class Package { /** * Returns all cron workflows associated with the package - * @returns {Promise>} + * @returns */ - async cronWorkflows(namespace) { + async cronWorkflows(namespace: string) { const plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; const response = await customK8sApi.listNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, @@ -341,9 +341,9 @@ export class Package { /** * Deletes cronworkflows associated with the package - * @returns {Promise} + * @returns */ - async deleteCronWorkflows(namespace) { + async deleteCronWorkflows(namespace: any) { const plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; for (const cronWorkflow of await this.cronWorkflows(namespace)) { const metadata = cronWorkflow.metadata; @@ -362,11 +362,17 @@ export class Package { * @param {Object} args * @param {string} serviceAccountName * @param {string} imagePullSecrets - * @param {Boolean} cluster + * @param {boolean} cluster * @param {string} namespace - * @returns {PromiseLike<{response: http.IncomingMessage, body: object}>} + * @returns */ - async run(args, serviceAccountName, imagePullSecrets, cluster, namespace) { + async run( + args: { parameters: Parameter[] }, + serviceAccountName: string, + imagePullSecrets: string, + cluster: boolean, + namespace: string + ) { if (!this.isExecutable) { throw "Package is not runnable"; } @@ -399,11 +405,18 @@ export class Package { * @param {Object} args * @param {string} serviceAccountName * @param {string} imagePullSecrets - * @param {Boolean} cluster + * @param {boolean} cluster * @param {string} namespace - * @returns {Promise<{response: http.IncomingMessage, body: object}>} + * @returns */ - async runTemplate(templateName, args, serviceAccountName, imagePullSecrets, cluster, namespace) { + async runTemplate( + templateName: string, + args: object, + serviceAccountName: string, + imagePullSecrets: string, + cluster: boolean, + namespace: string + ) { const template = this.templateForName(templateName); const workflow = template.generateWorkflow( this.metadata.name, @@ -431,14 +444,15 @@ export class Package { /** * Get install package - * @param {String} namespace - * @param {String} packageName - * @param {Boolean} cluster - * @returns {Promise} + * @param {string} namespace + * @param {string} packageName + * @param {boolean} cluster + * @returns */ - static async info(namespace, packageName, cluster) { - let response; + static async info(namespace: string, packageName: string, cluster: boolean) { + let response: K8sApiListResponse; let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + if (cluster) { plural = `${constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; response = await customK8sApi.listClusterCustomObject( @@ -473,12 +487,12 @@ export class Package { /** * Get all installed packages in the namespace - * @param {String} namespace - * @param {Boolean} cluster - * @returns {Promise<[Package]>} + * @param {string} namespace + * @param {boolean} cluster + * @returns */ - static async list(namespace, cluster) { - let response; + static async list(namespace: string, cluster: boolean) { + let response: K8sApiListResponse; let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; if (cluster) { @@ -494,7 +508,7 @@ export class Package { Package.getInstallerLabel() ); } else { - response = customK8sApi.listNamespacedCustomObject( + response = await customK8sApi.listNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, namespace, @@ -506,14 +520,6 @@ export class Package { Package.getInstallerLabel() ); } - return handleListResponse(response); + return response.body.items.map((template: any) => new Package(template)); } } - -/** - * Handle k8s list response - * @returns {Promise<[Package]>} - */ -function handleListResponse(response): Package[] { - return response.body.items.map((template) => new Package(template)); -} diff --git a/lib/models/parameter.ts b/lib/models/parameter.ts index 18f61fc..9e0e37a 100644 --- a/lib/models/parameter.ts +++ b/lib/models/parameter.ts @@ -1,9 +1,9 @@ import { cyan, green, lightCyan } from "ansicolor"; export class Parameter { - name: any; + name: string; value: any; - isRequired: boolean; + isRequired = false; /** * @param @@ -11,7 +11,6 @@ export class Parameter { constructor({ name, value }) { this.name = name; this.value = value; - this.isRequired = false; if (this.value === undefined) { this.isRequired = true; } diff --git a/lib/models/resource.ts b/lib/models/resource.ts index 28643e3..db3796a 100644 --- a/lib/models/resource.ts +++ b/lib/models/resource.ts @@ -1,10 +1,11 @@ import { constants } from "../constants"; import { compare } from "compare-versions"; +import { GenericK8sSpecType } from "../k8s"; export class Resource { - resource: any; - version: any; - resourceVersion: any; + resource: GenericK8sSpecType; + version: string; + resourceVersion: string; metadata: any; /** diff --git a/lib/models/template.ts b/lib/models/template.ts index 16b81f9..b6f05b5 100644 --- a/lib/models/template.ts +++ b/lib/models/template.ts @@ -4,34 +4,47 @@ import { load } from "js-yaml"; import { blue, bright } from "ansicolor"; import { GenericK8sSpecType } from "../k8s"; -export class Template { +type TemplateObjectType = { name: string; inputs: any; +}; + +export class Template { + name: string; + inputs: Input; /** * @param {Object} templateObj */ - constructor(templateObj: { name: any; inputs: any }) { + constructor(templateObj: TemplateObjectType) { this.name = templateObj.name; this.inputs = new Input(templateObj.inputs); } - - info() { + /** + * Get template info. + * @returns string + */ + info(): string { let templateHelp = blue(`Template: ${bright(this.name)}\n`); templateHelp += `${this.inputs.info()}`; return templateHelp; } /** - * Run the template - * @param {string} packageName - * @param {Object} args - * @param {string} serviceAccountName - * @param {string} imagePullSecrets - * @param {Boolean} cluster - * @returns {PromiseLike<{Object}>} + * Generate the Workflow manifest + * @param {string} packageName + * @param {object} args + * @param {string} serviceAccountName + * @param {string} imagePullSecrets + * @param {boolean} cluster */ - async generateWorkflow(packageName: any, args: any, serviceAccountName: any, imagePullSecrets: any, cluster: any) { + async generateWorkflow( + packageName: string, + args: object, + serviceAccountName: string, + imagePullSecrets: string, + cluster: boolean + ) { const runtimeInputs = new Input(args); this.inputs.checkRequiredArgs(runtimeInputs); @@ -39,9 +52,15 @@ export class Template { const workflow: GenericK8sSpecType = load(data.toString()); workflow.metadata.generateName = `${this.name}-`; - if (serviceAccountName) workflow.spec.serviceAccountName = serviceAccountName; + if (serviceAccountName) { + workflow.spec.serviceAccountName = serviceAccountName; + } + workflow.spec.entrypoint = this.name; - if (imagePullSecrets) workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; + if (imagePullSecrets) { + workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; + } + workflow.spec.templates[0].name = this.name; workflow.spec.templates[0].dag.tasks[0].name = `call-${this.name}`; workflow.spec.templates[0].dag.tasks[0].templateRef.name = packageName; @@ -53,11 +72,10 @@ export class Template { } /** - * Generate Templates - * @param {[Object]} templateArray - * @returns + * Generate a list of templates + * @param {TemplateObjectType[]} templateArray */ - static generate(templateArray: any[]) { + static generate(templateArray: TemplateObjectType[]) { return templateArray.map((templateObj: any) => new Template(templateObj)); } } diff --git a/lib/s3.ts b/lib/s3.ts index 0e7ea55..163f8c3 100644 --- a/lib/s3.ts +++ b/lib/s3.ts @@ -1,14 +1,14 @@ -import { S3Client } from "@aws-sdk/client-s3"; -import { PutObjectCommand } from "@aws-sdk/client-s3"; -import yaml from "js-yaml"; +import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; +import { CoreV1Api, KubeConfig } from "@kubernetes/client-node"; +import { load } from "js-yaml"; +import { readFileSync } from "node:fs"; +import { Result } from "npm-package-arg"; import { walk } from "./utils"; -import k8s from "@kubernetes/client-node"; -import fs from "fs"; export class S3 { configMapName: string; argoNamespace: string; - package: any; + package: Result; client: S3Client; bucketName: string; s3KeyPrefix: string; @@ -16,11 +16,11 @@ export class S3 { /** * Provides functionality to upload files in the `static` sub directory to AWS S3 * - * @param {String} configMapName Name of the configmap with bucket and region data in the Argo instance - * @param {String} argoNamespace K8s namespace where theh configmap exists - * @param {String} package Package info + * @param {string} configMapName Name of the configmap with bucket and region data in the Argo instance + * @param {string} argoNamespace K8s namespace where theh configmap exists + * @param {string} package Package info */ - constructor(configMapName, argoNamespace, packageConfig) { + constructor(configMapName: string, argoNamespace: string, packageConfig: Result) { this.configMapName = configMapName; this.argoNamespace = argoNamespace; this.package = packageConfig; @@ -40,18 +40,18 @@ export class S3 { /** * Fetch the workflow controller configmap and return the artifactory (S3) bucket name and region * - * @param {String} configMapName Name of the configmap with bucket and region data in the Argo instance - * @param {String} argoNamespace K8s namespace where theh workflow controller configmap exists + * @param {string} configMapName Name of the configmap with bucket and region data in the Argo instance + * @param {string} argoNamespace K8s namespace where theh workflow controller configmap exists */ - async getS3ConfigFromArgo(configMapName, argoNamespace) { - const kc = new k8s.KubeConfig(); + async getS3ConfigFromArgo(configMapName: string, argoNamespace: string) { + const kc = new KubeConfig(); kc.loadFromDefault(); - const coreK8sApi = kc.makeApiClient(k8s.CoreV1Api); + const coreK8sApi = kc.makeApiClient(CoreV1Api); const argoWorkflowControllerConfigMap = await coreK8sApi.readNamespacedConfigMap(configMapName, argoNamespace); if (argoWorkflowControllerConfigMap.body.data) { - const bucket: string = yaml.load(argoWorkflowControllerConfigMap.body.data["bucket"]) as string; - const region: string = yaml.load(argoWorkflowControllerConfigMap.body.data["region"]) as string; + const bucket: string = load(argoWorkflowControllerConfigMap.body.data["bucket"]) as string; + const region: string = load(argoWorkflowControllerConfigMap.body.data["region"]) as string; return { bucket, region, @@ -63,11 +63,10 @@ export class S3 { /** * Upload a given file to S3 - * - * @param {String} path Absolute path of file + * @param {string} path */ - uploadFile(path) { - const fileContent = fs.readFileSync(path, { + async uploadFile(path: string) { + const fileContent = readFileSync(path, { encoding: "utf-8", flag: "r", }); @@ -86,27 +85,20 @@ export class S3 { Body: fileContent, }; - return this.client.send(new PutObjectCommand(params)).catch((err) => { - throw err; - }); + return await this.client.send(new PutObjectCommand(params)); } /** * Accepts a directory path and recursively uploads all the files in the `static` folder * - * @param {String} dirPath Absolute path of the directory + * @param {string} dirPath Absolute path of the directory */ - uploadStaticFiles(dirPath) { - try { - const dirs = walk(`${dirPath}/static`).filter((dir) => !dir.endsWith(".md")); - return dirs.map((dir) => this.uploadFile(dir)); - } catch (err) { + async uploadStaticFiles(dirPath: string) { + const dirs = await walk(`${dirPath}/static`).filter((dir: string) => !dir.endsWith(".md")); + return await Promise.all(dirs.map((dir: any) => this.uploadFile(dir))).catch((err) => { if (err.code !== "ENOENT") { throw err; } - return; - } + }); } } - -exports.S3 = S3; diff --git a/lib/static/package/package.json b/lib/static/package/package.json index c212e06..e00db3a 100644 --- a/lib/static/package/package.json +++ b/lib/static/package/package.json @@ -7,12 +7,13 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ - "sample", "something" + "sample", + "something" ], "homepage": "https://github.com/owner/project#readme", "bugs": { - "url" : "https://github.com/owner/project/issues", - "email" : "project@hostname.com" + "url": "https://github.com/owner/project/issues", + "email": "project@hostname.com" }, "author": "Author", "license": "MIT", @@ -29,6 +30,5 @@ "com.atlan.packages/logo": "https://1amiydhcmj36tz3733v94f15-wpengine.netdna-ssl.com/wp-content/themes/snowflake/assets/img/logo-blue.svg" } }, - "dependencies": { - } + "dependencies": {} } diff --git a/lib/utils.ts b/lib/utils.ts index edab6b1..d6efdd0 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -1,12 +1,15 @@ -import { readdir, stat } from "node:fs/promises"; import { join } from "path"; +import { readdir, stat, access } from "node:fs/promises"; +import { promisify } from "node:util"; import rimraf = require("rimraf"); +import { Parameter } from "./models/parameter"; +const rimrafPromise = promisify(rimraf); /** * Recursively walk through the folder and return all file paths * @param dir - * @returns {Promise<[string]>} + * @returns */ export async function walk(dir: string) { const files = await readdir(dir); @@ -19,7 +22,7 @@ export async function walk(dir: string) { }) ); - return filesWalked.reduce((all: string | any[], folderContents: any) => all.concat(folderContents), []); + return filesWalked.reduce((all: string[], folderContents: string[]) => all.concat(folderContents), []); } /** @@ -27,7 +30,7 @@ export async function walk(dir: string) { * @param dir * @returns */ -export async function listDirs(dir: string): Promise<(string | undefined)[]> { +export async function listDirs(dir: string) { const paths = await readdir(dir); return await Promise.all( paths.map(async (file: string) => { @@ -43,9 +46,10 @@ export async function listDirs(dir: string): Promise<(string | undefined)[]> { * @param dir * @returns */ -export function deleteDir(dir: any) { +export async function deleteDir(dir: string) { // TODO - return rimraf(dir); + await access(dir); + return await rimrafPromise(dir); } /** @@ -55,19 +59,21 @@ export function deleteDir(dir: any) { */ export function generateArguments(args: string[]) { const index = args.indexOf("--"); - const parameters: { name: string; value: any }[] = []; + const parameters: Parameter[] = []; if (index === -1) return { parameters: parameters }; - let key; + let key: string; args.slice(index + 1).forEach((arg) => { if (!key) { key = arg.replace("--", ""); } else { - parameters.push({ - name: key, - value: arg, - }); + parameters.push( + new Parameter({ + name: key, + value: arg, + }) + ); key = undefined; } }); diff --git a/package.json b/package.json index d22f5d6..98f9988 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "Argo package manager", "main": "./lib/index.ts", "scripts": { + "build": "esbuild ./bin/install.ts --bundle --platform=node --outfile=./dist/install.js", "test": "jest --detectOpenHandles", "prettier": "prettier --write .", "eslint": "eslint --fix .", @@ -21,9 +22,7 @@ "dotenv": "^16.0.2", "js-yaml": "^4.1.0", "npm-package-arg": "^9.1.0", - "npm-remote-ls": "^1.3.2", "rimraf": "^3.0.2", - "stream-buffers": "^3.0.2", "system-commands": "^1.1.7", "yargs": "^17.5.1", "yargs-parser": ">=21.1.1" @@ -37,6 +36,7 @@ "@types/yargs": "^17.0.13", "@typescript-eslint/eslint-plugin": "^5.38.1", "@typescript-eslint/parser": "^5.38.1", + "esbuild": "^0.15.9", "eslint": "^8.24.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-jest": "^27.0.4", @@ -45,6 +45,7 @@ "pre-commit": "^1.2.2", "prettier": "^2.7.1", "ts-jest": "^29.0.2", + "ts-node": "^10.9.1", "typescript": "^4.8.4" }, "lint-staged": { diff --git a/tests/base.test.ts b/tests/base.test.ts index 240a7db..0255573 100644 --- a/tests/base.test.ts +++ b/tests/base.test.ts @@ -1,7 +1,7 @@ import { install } from "../lib/install"; import { MOCK_PACKAGE_PATH, REGISTRY } from "./test-utils"; -describe.skip("simulate package install", () => { +describe("simulate package install", () => { const namespace = "default"; const cluster = false; @@ -12,15 +12,15 @@ describe.skip("simulate package install", () => { }); it("must install local package", async () => { - const result = await install(".", REGISTRY, namespace, false, cluster, { force: false }, MOCK_PACKAGE_PATH) - .then(() => { - console.log(`Argopm finished installing package`); - return true; - }) - .catch((err) => { - console.error(err); - throw err; - }); + let result: boolean; + try { + await install(".", REGISTRY, namespace, false, cluster, { force: false }, MOCK_PACKAGE_PATH); + console.log(`Argopm finished installing package`); + result = true; + } catch (err) { + console.error(err); + throw err; + } expect(result).toBeTruthy(); }); }); diff --git a/tests/fixtures/mock-package/index.ts b/tests/fixtures/mock-package/index.js similarity index 50% rename from tests/fixtures/mock-package/index.ts rename to tests/fixtures/mock-package/index.js index 62bca30..1d6bd4e 100644 --- a/tests/fixtures/mock-package/index.ts +++ b/tests/fixtures/mock-package/index.js @@ -1,3 +1,5 @@ -export function dummy() { +function dummy() { console.log("don't call this dummy."); } + +module.exports = dummy; diff --git a/tests/fixtures/mock-package/package.json b/tests/fixtures/mock-package/package.json index 7741351..c4ab7f2 100644 --- a/tests/fixtures/mock-package/package.json +++ b/tests/fixtures/mock-package/package.json @@ -2,12 +2,11 @@ "name": "@atlan/mock-package-delete-me", "version": "0.0.1", "description": "I should never be published", - "main": "index.js", + "main": "index.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Atlan", "license": "MIT", - "dependencies": { - } + "dependencies": {} } diff --git a/tsconfig.json b/tsconfig.json index 5ffafd1..7e33b04 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,16 @@ { "compilerOptions": { - "outDir": "./built", + "outDir": "./dist", + "module": "commonjs", + "target": "esnext", "allowJs": true, - "target": "es6", - "esModuleInterop": true + "esModuleInterop": true, + "moduleResolution": "Node" }, - "include": ["./lib/**/*", "./bin/**/*", "./tests/**/*"] + "ts-node": { + "compilerOptions": { + "module": "CommonJS" + } + }, + "include": ["./lib/**/*", "./bin/**/*"] } diff --git a/yarn.lock b/yarn.lock index fe7022c..4b4b882 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,7 +4,7 @@ "@ampproject/remapping@^2.1.0": version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: "@jridgewell/gen-mapping" "^0.1.0" @@ -12,7 +12,7 @@ "@aws-crypto/crc32@2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-2.0.0.tgz#4ad432a3c03ec3087c5540ff6e41e6565d2dc153" integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== dependencies: "@aws-crypto/util" "^2.0.0" @@ -21,7 +21,7 @@ "@aws-crypto/crc32c@2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz#4235336ef78f169f6a05248906703b9b78da676e" integrity sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg== dependencies: "@aws-crypto/util" "^2.0.0" @@ -29,15 +29,15 @@ tslib "^1.11.1" "@aws-crypto/ie11-detection@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz" - integrity sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz#9c39f4a5558196636031a933ec1b4792de959d6a" + integrity sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw== dependencies: tslib "^1.11.1" "@aws-crypto/sha1-browser@2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz#71e735df20ea1d38f59259c4b1a2e00ca74a0eea" integrity sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA== dependencies: "@aws-crypto/ie11-detection" "^2.0.0" @@ -49,7 +49,7 @@ "@aws-crypto/sha256-browser@2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz#741c9024df55ec59b51e5b1f5d806a4852699fb5" integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== dependencies: "@aws-crypto/ie11-detection" "^2.0.0" @@ -61,25 +61,34 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-crypto/sha256-js@2.0.0", "@aws-crypto/sha256-js@^2.0.0": +"@aws-crypto/sha256-js@2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz#f1f936039bdebd0b9e2dd834d65afdc2aac4efcb" integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== dependencies: "@aws-crypto/util" "^2.0.0" "@aws-sdk/types" "^3.1.0" tslib "^1.11.1" +"@aws-crypto/sha256-js@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.2.tgz#c81e5d378b8a74ff1671b58632779986e50f4c99" + integrity sha512-iXLdKH19qPmIC73fVCrHWCSYjN/sxaAvZ3jNNyw6FclmHyjLKg0f69WlC9KTnyElxCR5MO9SKaG00VwlJwyAkQ== + dependencies: + "@aws-crypto/util" "^2.0.2" + "@aws-sdk/types" "^3.110.0" + tslib "^1.11.1" + "@aws-crypto/supports-web-crypto@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz" - integrity sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz#9f02aafad8789cac9c0ab5faaebb1ab8aa841338" + integrity sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ== dependencies: tslib "^1.11.1" -"@aws-crypto/util@^2.0.0": +"@aws-crypto/util@^2.0.0", "@aws-crypto/util@^2.0.2": version "2.0.2" - resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-2.0.2.tgz#adf5ff5dfbc7713082f897f1d01e551ce0edb9c0" integrity sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA== dependencies: "@aws-sdk/types" "^3.110.0" @@ -88,7 +97,7 @@ "@aws-sdk/abort-controller@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz#fd189d62a689add822c3f40b2827f887639f015c" integrity sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A== dependencies: "@aws-sdk/types" "3.178.0" @@ -96,7 +105,7 @@ "@aws-sdk/chunked-blob-reader-native@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz#a277f4aec88246c6de69d4f15e5fd5e262f0ac6b" integrity sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w== dependencies: "@aws-sdk/util-base64-browser" "3.170.0" @@ -104,14 +113,14 @@ "@aws-sdk/chunked-blob-reader@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz#059fd50c8ed7ddc9219f483258ec3a0cab6ca699" integrity sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ== dependencies: tslib "^2.3.1" "@aws-sdk/client-s3@^3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz#ceda4d11ce22279faba178e541e9ed45bdea3aad" integrity sha512-0YuIHk0dNvROz3IVNt3BHRPMhmd4jKnL84nXFomBViU7L7S09Pu8EjnZOTxjsiI2aAndj42kRqZOl5NjAaoTvQ== dependencies: "@aws-crypto/sha1-browser" "2.0.0" @@ -171,7 +180,7 @@ "@aws-sdk/client-sso@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz#b154ca4a815e4e2e75fffa31a9b5f88d3c58533f" integrity sha512-wwhGa+Jksc4NE+4MZVv0Jkvt1C10/Gd5NATiv+hjcCY7DdxQ31UsbUrbZ38tBK8XX+vqFlcrP1AsoXNvrjBBVw== dependencies: "@aws-crypto/sha256-browser" "2.0.0" @@ -208,7 +217,7 @@ "@aws-sdk/client-sts@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz#a804eceab7e706db7d44b0920aede2e9d27d23f8" integrity sha512-QSgbYPrZ1QZTaxV3fwziVPvctwaAjdTMxA4VSMDh2yTFPIDmA8IMi8doEAcRaJeUK5n9UR8O3oWOs+wAs9Mkpw== dependencies: "@aws-crypto/sha256-browser" "2.0.0" @@ -250,7 +259,7 @@ "@aws-sdk/config-resolver@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz#83a66f79bc1c25450b0ab4dffe48288dfb3df3bb" integrity sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w== dependencies: "@aws-sdk/signature-v4" "3.178.0" @@ -261,7 +270,7 @@ "@aws-sdk/credential-provider-env@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz#0f497bb9924eef70b070bc9c6acb0a7c55d6114d" integrity sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w== dependencies: "@aws-sdk/property-provider" "3.178.0" @@ -270,7 +279,7 @@ "@aws-sdk/credential-provider-imds@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz#e1ecb0df813e4f6c25deaa9e8266682ede6fdb8e" integrity sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA== dependencies: "@aws-sdk/node-config-provider" "3.178.0" @@ -281,7 +290,7 @@ "@aws-sdk/credential-provider-ini@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz#da1931bc6f989a7b2bd4dbe531fea69c1048f5b0" integrity sha512-P4fqj0WRHoQ/eGhym/QJNl3AndDN9vyOuDSIyOWLky+ngy/pGznZyzQzhyq7Cju0mgnBeFDac6Evq0aHax1iOA== dependencies: "@aws-sdk/credential-provider-env" "3.178.0" @@ -295,7 +304,7 @@ "@aws-sdk/credential-provider-node@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz#d77f448850ce24128ebae2311ebd689eac66c5a7" integrity sha512-M3vevtIcTAlROJEJo2WIVDVrL077vh1j3w0b5IwizCvcpHBiZ+2agWcFVR/NfCvFbdYjZd49otGnbCUMHWiRcA== dependencies: "@aws-sdk/credential-provider-env" "3.178.0" @@ -311,7 +320,7 @@ "@aws-sdk/credential-provider-process@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz#60fe3de1fb142cce563cdf1a582c9b7c670dfe5a" integrity sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw== dependencies: "@aws-sdk/property-provider" "3.178.0" @@ -321,7 +330,7 @@ "@aws-sdk/credential-provider-sso@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz#71d443e0012dd437483581cceaf321332b505933" integrity sha512-hv8qME1ISd6GN+YCa0WK73xL6p2Sx0JiSRTzgb5bvGcdxVGLzvIlFd0VAtVhP7d84Prf6EeGz0+sGEEYRusw2w== dependencies: "@aws-sdk/client-sso" "3.180.0" @@ -332,7 +341,7 @@ "@aws-sdk/credential-provider-web-identity@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz#5cb626980777a45496c478c6730d73a37de04396" integrity sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ== dependencies: "@aws-sdk/property-provider" "3.178.0" @@ -341,7 +350,7 @@ "@aws-sdk/eventstream-codec@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz#bcda3cd121625bd3cb09933af4ddeb816fb1162a" integrity sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA== dependencies: "@aws-crypto/crc32" "2.0.0" @@ -351,7 +360,7 @@ "@aws-sdk/eventstream-serde-browser@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz#b38638cbc65eee48d4dabdd8c24ac6017561d1c5" integrity sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw== dependencies: "@aws-sdk/eventstream-serde-universal" "3.178.0" @@ -360,7 +369,7 @@ "@aws-sdk/eventstream-serde-config-resolver@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz#24f683ab3e8839dd45906f9cd462e18f0cb38840" integrity sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw== dependencies: "@aws-sdk/types" "3.178.0" @@ -368,7 +377,7 @@ "@aws-sdk/eventstream-serde-node@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz#2cd1ece8523a8adefa5548d96e6de4eae146c70e" integrity sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ== dependencies: "@aws-sdk/eventstream-serde-universal" "3.178.0" @@ -377,7 +386,7 @@ "@aws-sdk/eventstream-serde-universal@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz#71887fa3c784cbd895d52d8a43b68f12c669abf5" integrity sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw== dependencies: "@aws-sdk/eventstream-codec" "3.178.0" @@ -386,7 +395,7 @@ "@aws-sdk/fetch-http-handler@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz#1d6489041d7334de4f924b24c909647b3c0b6d5f" integrity sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -397,7 +406,7 @@ "@aws-sdk/hash-blob-browser@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz#573f4ef6ce4cc824e15beda4986dca26bd137275" integrity sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ== dependencies: "@aws-sdk/chunked-blob-reader" "3.170.0" @@ -407,7 +416,7 @@ "@aws-sdk/hash-node@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz#140b716e40bbcb30aae16a6446b6c79e61e200ab" integrity sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q== dependencies: "@aws-sdk/types" "3.178.0" @@ -416,7 +425,7 @@ "@aws-sdk/hash-stream-node@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz#c14058ca153aed0877bc425fffd430b12e012365" integrity sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw== dependencies: "@aws-sdk/types" "3.178.0" @@ -424,7 +433,7 @@ "@aws-sdk/invalid-dependency@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz#0e4a4793a912bf67e0c484da666d2e047357cde2" integrity sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw== dependencies: "@aws-sdk/types" "3.178.0" @@ -432,14 +441,14 @@ "@aws-sdk/is-array-buffer@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz#a34b82b0d7c534544db001837785ed086d99344c" integrity sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q== dependencies: tslib "^2.3.1" "@aws-sdk/md5-js@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz#b3bdc6099361fa2d9f5838a442cc9cb4d08d3abc" integrity sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw== dependencies: "@aws-sdk/types" "3.178.0" @@ -449,7 +458,7 @@ "@aws-sdk/middleware-bucket-endpoint@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz#0d10257138387201a10b963a0f01f5f309ba87a2" integrity sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -460,7 +469,7 @@ "@aws-sdk/middleware-content-length@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz#53ed59ff542b86e7cfe1223572fb68e5223db6f0" integrity sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -469,7 +478,7 @@ "@aws-sdk/middleware-expect-continue@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz#7e6f927badb4f909b3edf9d298be405563c5fd0b" integrity sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -478,7 +487,7 @@ "@aws-sdk/middleware-flexible-checksums@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz#be52f7d364860e144b0a8875672d582c0e751259" integrity sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A== dependencies: "@aws-crypto/crc32" "2.0.0" @@ -490,7 +499,7 @@ "@aws-sdk/middleware-host-header@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz#1482cbbb7b83145b659f3504b83b998e26a2bbcc" integrity sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -499,7 +508,7 @@ "@aws-sdk/middleware-location-constraint@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz#81792cd114b8dc538124b62ebff3cce564e8b538" integrity sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg== dependencies: "@aws-sdk/types" "3.178.0" @@ -507,7 +516,7 @@ "@aws-sdk/middleware-logger@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz#c8547ba355d96cd942efcfb8cdcdae1211bbb861" integrity sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ== dependencies: "@aws-sdk/types" "3.178.0" @@ -515,7 +524,7 @@ "@aws-sdk/middleware-recursion-detection@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz#6c43015ea8a618f1c0ededcb9af17c53329578a2" integrity sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -524,7 +533,7 @@ "@aws-sdk/middleware-retry@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz#e787a93185ca72a346db93624da4f8d03f5f8f8b" integrity sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -536,7 +545,7 @@ "@aws-sdk/middleware-sdk-s3@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz#b692c76926e623f91bbe73df478255690120107a" integrity sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w== dependencies: "@aws-sdk/middleware-bucket-endpoint" "3.178.0" @@ -547,7 +556,7 @@ "@aws-sdk/middleware-sdk-sts@3.179.0": version "3.179.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz#9460fabca9657303bbc65e6dd57dad41136ec0d9" integrity sha512-uU9UdG9ornvblXdLLNsZNpgMOA9vgFMB93zo3DL/Q6MPmYprZYyK7dUiA06i1pe4HP2gR3N3hxXwzmKU6Bjt6A== dependencies: "@aws-sdk/middleware-signing" "3.179.0" @@ -559,7 +568,7 @@ "@aws-sdk/middleware-serde@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz#09bfdcf83782381078523db549734be837a087bc" integrity sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew== dependencies: "@aws-sdk/types" "3.178.0" @@ -567,7 +576,7 @@ "@aws-sdk/middleware-signing@3.179.0": version "3.179.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz#ff4e1ebdabe00fcd1105ece645ab13201addb0d2" integrity sha512-rtB6t3w1Km3ngO1yoiEUqsobujcBk36oPs2fTUKTbmuTr+54YH3NF0zAwVJv08lpfAs56holtp+bYyAxZJIxSQ== dependencies: "@aws-sdk/property-provider" "3.178.0" @@ -579,7 +588,7 @@ "@aws-sdk/middleware-ssec@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz#fdc1943fe3b813e8399ec7ce087bb69cb85a71cc" integrity sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw== dependencies: "@aws-sdk/types" "3.178.0" @@ -587,14 +596,14 @@ "@aws-sdk/middleware-stack@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz#42e92ef9aaa3c1fdaca159ac6c24c37629dd4aee" integrity sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw== dependencies: tslib "^2.3.1" "@aws-sdk/middleware-user-agent@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz#f212079c2691d27df665b6a88532cee1dc3a4f2d" integrity sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -603,7 +612,7 @@ "@aws-sdk/node-config-provider@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz#4b709f3c23a88c96eaf4e9941f501b149131693a" integrity sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ== dependencies: "@aws-sdk/property-provider" "3.178.0" @@ -613,7 +622,7 @@ "@aws-sdk/node-http-handler@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz#5b68f09b3b23f0c4cafd175b0013560050bcd90a" integrity sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ== dependencies: "@aws-sdk/abort-controller" "3.178.0" @@ -624,7 +633,7 @@ "@aws-sdk/property-provider@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz#5d322cc52b866c4d03469163a57d2fd2fe16271f" integrity sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw== dependencies: "@aws-sdk/types" "3.178.0" @@ -632,7 +641,7 @@ "@aws-sdk/protocol-http@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz#e6582feaab8cfbd6a278eb628e9d01f25ba2c631" integrity sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w== dependencies: "@aws-sdk/types" "3.178.0" @@ -640,7 +649,7 @@ "@aws-sdk/querystring-builder@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz#1d096111321e46a5eaa4ac1de56030d3e3c6de9e" integrity sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g== dependencies: "@aws-sdk/types" "3.178.0" @@ -649,7 +658,7 @@ "@aws-sdk/querystring-parser@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz#8a608fbb65b31ffd14d4d25b0851b0d5368d12a6" integrity sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ== dependencies: "@aws-sdk/types" "3.178.0" @@ -657,19 +666,19 @@ "@aws-sdk/service-error-classification@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz#a0887bd30e07fe5a0328c0b993a74bf55d8e7396" integrity sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw== "@aws-sdk/shared-ini-file-loader@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz#cd8f2bff7faf4111134ecbf76a8c3a2b395dcfc9" integrity sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA== dependencies: tslib "^2.3.1" "@aws-sdk/signature-v4-multi-region@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz#b51aba230a7a1d5940e296c39ee7a495b0097a8e" integrity sha512-3IjwOy/x6UroV3TAbeCwpCRmt/8TW89JI1r8gtDbpQ42WiQ/1J+R5a78NP8bYa53kiDghW6pKlvLcbuoh3zWHQ== dependencies: "@aws-sdk/protocol-http" "3.178.0" @@ -680,7 +689,7 @@ "@aws-sdk/signature-v4@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz#02f874021725c328a7b044cd71af118fba7d6b11" integrity sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ== dependencies: "@aws-sdk/is-array-buffer" "3.170.0" @@ -692,7 +701,7 @@ "@aws-sdk/smithy-client@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz#03953e5d4f0dc3607d422021550126f5a32c2423" integrity sha512-1vWafiUdn6RvOsD4CyNjMeDtDujuPi4Iq4Db6HrFmVPpJAutOLlCg52Dt7k96KCcIKgxVAs6Br0Waef+pcoGNA== dependencies: "@aws-sdk/middleware-stack" "3.178.0" @@ -701,12 +710,12 @@ "@aws-sdk/types@3.178.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.110.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.178.0.tgz#2b79d705be218f8c9b5829ec71284549c37733be" integrity sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ== "@aws-sdk/url-parser@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz#aee06f73313154d9d0e34e16a974a6d35bbf7d93" integrity sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ== dependencies: "@aws-sdk/querystring-parser" "3.178.0" @@ -715,21 +724,21 @@ "@aws-sdk/util-arn-parser@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz#42587a958fd892ae51a447606e34ab5614bcb616" integrity sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw== dependencies: tslib "^2.3.1" "@aws-sdk/util-base64-browser@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz#3352aeb2891f650fa0eda75d8be38ebdc6f98b43" integrity sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ== dependencies: tslib "^2.3.1" "@aws-sdk/util-base64-node@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz#434f719d467e04f553f3dc8991aec40483078607" integrity sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w== dependencies: "@aws-sdk/util-buffer-from" "3.170.0" @@ -737,21 +746,21 @@ "@aws-sdk/util-body-length-browser@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz#4f88ad2493e7088a8b22972d4ff512a64f02fc7b" integrity sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA== dependencies: tslib "^2.3.1" "@aws-sdk/util-body-length-node@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz#ef69fc0895338c2b15b5b4c9b201e72d4232cba1" integrity sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw== dependencies: tslib "^2.3.1" "@aws-sdk/util-buffer-from@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz#efa9e74cd6fda5d711a99dc8a6f288afabe3b9fe" integrity sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ== dependencies: "@aws-sdk/is-array-buffer" "3.170.0" @@ -759,14 +768,14 @@ "@aws-sdk/util-config-provider@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz#85ad4dfa8102fe44b737c0aee23e63ae37ff9022" integrity sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ== dependencies: tslib "^2.3.1" "@aws-sdk/util-defaults-mode-browser@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz#7705fece381857e4f867ed9f168da92aea78d4e6" integrity sha512-XGq/RUuhqnLlApETBmBWDszNG4TR3FCOSNwFvok1UIPgFXxjh0JOzNc5mAX1St2hfx1IDb9Ja4BmTkYKix7byg== dependencies: "@aws-sdk/property-provider" "3.178.0" @@ -776,7 +785,7 @@ "@aws-sdk/util-defaults-mode-node@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz#dd3d9528daa91b80ba877a09c1602c7230b3a5d5" integrity sha512-ch9VR4OKYGEaNbLhX/EyZDpNZst5T+/VYsFyqMA47J0YyMbg7GWyn2FjjhZ7qOV3XU6W8YEBNdd7U/LFFVp8uA== dependencies: "@aws-sdk/config-resolver" "3.178.0" @@ -788,28 +797,28 @@ "@aws-sdk/util-hex-encoding@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz#e81f0fd8c951e0da7ada8d3148ead9b15c57f2f8" integrity sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg== dependencies: tslib "^2.3.1" "@aws-sdk/util-locate-window@^3.0.0": - version "3.52.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.52.0.tgz" - integrity sha512-l10U2cLko6070A9DYLJG4NMtwYH8JBG2J/E+RH8uY3lad2o6fGEIkJU0jQbWbUeHYLG3IWuCxT47V4gxYrFj7g== + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.170.0.tgz#acc8717abe1e568de41d9b8ede33a49c6c1e108d" + integrity sha512-uQvn3ZaAokWcNSY+tNR71RGXPPncv5ejrpGa/MGOCioeBjkU5n5OJp7BdaTGouZu4fffeVpdZJ/ZNld8LWMgLw== dependencies: - tslib "^2.3.0" + tslib "^2.3.1" "@aws-sdk/util-middleware@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz#c628d6df8f5f1bc9391c07621d899213e41c8207" integrity sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA== dependencies: tslib "^2.3.1" "@aws-sdk/util-stream-browser@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz#a659b9b5af9efc936edd039cb8e6f8e639eb5665" integrity sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg== dependencies: "@aws-sdk/fetch-http-handler" "3.178.0" @@ -821,7 +830,7 @@ "@aws-sdk/util-stream-node@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz#a49f0c1332f446ed7b0b57a63908c294670544b7" integrity sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA== dependencies: "@aws-sdk/node-http-handler" "3.178.0" @@ -831,14 +840,14 @@ "@aws-sdk/util-uri-escape@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz#1121fb47a59dab0f732b881742e9871c3690367c" integrity sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w== dependencies: tslib "^2.3.1" "@aws-sdk/util-user-agent-browser@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz#c9e02d4cb7edee51cfdc36179036b01120e1b0c1" integrity sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug== dependencies: "@aws-sdk/types" "3.178.0" @@ -847,7 +856,7 @@ "@aws-sdk/util-user-agent-node@3.178.0": version "3.178.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz#45c4c90550bdf66092682abfea36a68504b1e433" integrity sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw== dependencies: "@aws-sdk/node-config-provider" "3.178.0" @@ -856,14 +865,14 @@ "@aws-sdk/util-utf8-browser@3.170.0", "@aws-sdk/util-utf8-browser@^3.0.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz#3fcea278e7a6fca4fef3d562300a3eea9a2f244f" integrity sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA== dependencies: tslib "^2.3.1" "@aws-sdk/util-utf8-node@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz#8f46d05bc887a7a8e3372a25e0f46035290a9aad" integrity sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg== dependencies: "@aws-sdk/util-buffer-from" "3.170.0" @@ -871,7 +880,7 @@ "@aws-sdk/util-waiter@3.180.0": version "3.180.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz#79def96db5b960ae99518cf3cfc05318a7a7686c" integrity sha512-fDBGplYp6pIIfrB7073tUhU4zppRaSiPjBCCT00yth9woWwZPUCIg7iQZKEqkBmvCzcJSYn0jRopLhf3Y7i5Wg== dependencies: "@aws-sdk/abort-controller" "3.178.0" @@ -880,26 +889,26 @@ "@aws-sdk/xml-builder@3.170.0": version "3.170.0" - resolved "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz#bee57bd55db4003bbd09ca3d2fa7a001b24ed21c" integrity sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g== dependencies: tslib "^2.3.1" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.19.3": version "7.19.3" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== "@babel/core@^7.11.6", "@babel/core@^7.12.3": version "7.19.3" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== dependencies: "@ampproject/remapping" "^2.1.0" @@ -920,7 +929,7 @@ "@babel/generator@^7.19.3", "@babel/generator@^7.7.2": version "7.19.3" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== dependencies: "@babel/types" "^7.19.3" @@ -929,7 +938,7 @@ "@babel/helper-compilation-targets@^7.19.3": version "7.19.3" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== dependencies: "@babel/compat-data" "^7.19.3" @@ -939,12 +948,12 @@ "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== "@babel/helper-function-name@^7.19.0": version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: "@babel/template" "^7.18.10" @@ -952,21 +961,21 @@ "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-imports@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.19.0": version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -980,41 +989,41 @@ "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== "@babel/helper-simple-access@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== dependencies: "@babel/types" "^7.18.6" "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.18.10": version "7.18.10" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helpers@^7.19.0": version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== dependencies: "@babel/template" "^7.18.10" @@ -1023,7 +1032,7 @@ "@babel/highlight@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" @@ -1032,110 +1041,110 @@ "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3": version "7.19.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/template@^7.18.10", "@babel/template@^7.3.3": version "7.18.10" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== dependencies: "@babel/code-frame" "^7.18.6" @@ -1144,7 +1153,7 @@ "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.3", "@babel/traverse@^7.7.2": version "7.19.3" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== dependencies: "@babel/code-frame" "^7.18.6" @@ -1160,7 +1169,7 @@ "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.19.3" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== dependencies: "@babel/helper-string-parser" "^7.18.10" @@ -1169,12 +1178,29 @@ "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@esbuild/android-arm@0.15.9": + version "0.15.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431" + integrity sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ== + +"@esbuild/linux-loong64@0.15.9": + version "0.15.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz#b658a97babf1f40783354af7039b84c3fdfc3fc3" + integrity sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA== + "@eslint/eslintrc@^1.3.2": version "1.3.2" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== dependencies: ajv "^6.12.4" @@ -1188,9 +1214,9 @@ strip-json-comments "^3.1.1" "@humanwhocodes/config-array@^0.10.5": - version "0.10.5" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz" - integrity sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug== + version "0.10.6" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.6.tgz#70b53559baf544dc2cc5eea6082bf90467ccb1dc" + integrity sha512-U/piU+VwXZsIgwnl+N+nRK12jCpHdc3s0UAc6zc1+HUgiESJxClpvYao/x9JwaN7onNeVb7kTlxlAvuEoaJ3ig== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1198,22 +1224,22 @@ "@humanwhocodes/gitignore-to-minimatch@^1.0.2": version "1.0.2" - resolved "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" @@ -1224,12 +1250,12 @@ "@istanbuljs/schema@^0.1.2": version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.1.0.tgz#3b8e9e86aef28af15fcadfd8df7321ed1327c3e7" integrity sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw== dependencies: "@jest/types" "^29.1.0" @@ -1241,7 +1267,7 @@ "@jest/core@^29.1.1": version "29.1.1" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.1.1.tgz#a7e5f86dd29fa9da1ca84752237735dc7bcda3d8" integrity sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A== dependencies: "@jest/console" "^29.1.0" @@ -1275,7 +1301,7 @@ "@jest/environment@^29.1.1": version "29.1.1" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.1.1.tgz#afeb66563d8d366a329908087b6697c3bfaed3cb" integrity sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ== dependencies: "@jest/fake-timers" "^29.1.1" @@ -1285,14 +1311,14 @@ "@jest/expect-utils@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.1.0.tgz#598cc7fea83b1bf84249b3b98683575cee888894" integrity sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA== dependencies: jest-get-type "^29.0.0" "@jest/expect@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.1.0.tgz#58956d38c22f42a2ec7ecf7adb9e0ddd9a9082a3" integrity sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw== dependencies: expect "^29.1.0" @@ -1300,7 +1326,7 @@ "@jest/fake-timers@^29.1.1": version "29.1.1" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.1.1.tgz#ae345e5ca51e9f72e0d861e17c65d9cb558f407b" integrity sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g== dependencies: "@jest/types" "^29.1.0" @@ -1312,7 +1338,7 @@ "@jest/globals@^29.1.1": version "29.1.1" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.1.1.tgz#017cffa0e79b35e7197b229d852c9ad35ed4be5c" integrity sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q== dependencies: "@jest/environment" "^29.1.1" @@ -1322,7 +1348,7 @@ "@jest/reporters@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.1.0.tgz#da488ddfb39a4cfb86abdc29fd94f84031acfd02" integrity sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w== dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -1353,14 +1379,14 @@ "@jest/schemas@^29.0.0": version "29.0.0" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== dependencies: "@sinclair/typebox" "^0.24.1" "@jest/source-map@^29.0.0": version "29.0.0" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.0.0.tgz#f8d1518298089f8ae624e442bbb6eb870ee7783c" integrity sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ== dependencies: "@jridgewell/trace-mapping" "^0.3.15" @@ -1369,7 +1395,7 @@ "@jest/test-result@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.1.0.tgz#da6b0062325a780c9e3c7262b6b89da57fba2dca" integrity sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g== dependencies: "@jest/console" "^29.1.0" @@ -1379,7 +1405,7 @@ "@jest/test-sequencer@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz#d3d34497e860a44f3f80e94958651f58d3ce64f8" integrity sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA== dependencies: "@jest/test-result" "^29.1.0" @@ -1389,7 +1415,7 @@ "@jest/transform@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.1.0.tgz#1b3e597681362f6164e786e6bc2826c34ecbf74f" integrity sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q== dependencies: "@babel/core" "^7.11.6" @@ -1410,7 +1436,7 @@ "@jest/types@^29.1.0": version "29.1.0" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.1.0.tgz#db23d727ce0a95500749551d8724fb3526d1e903" integrity sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ== dependencies: "@jest/schemas" "^29.0.0" @@ -1422,7 +1448,7 @@ "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== dependencies: "@jridgewell/set-array" "^1.0.0" @@ -1430,7 +1456,7 @@ "@jridgewell/gen-mapping@^0.3.2": version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: "@jridgewell/set-array" "^1.0.1" @@ -1439,22 +1465,30 @@ "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": version "0.3.15" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== dependencies: "@jridgewell/resolve-uri" "^3.0.3" @@ -1462,7 +1496,7 @@ "@kubernetes/client-node@^0.17.1": version "0.17.1" - resolved "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.17.1.tgz" + resolved "https://registry.yarnpkg.com/@kubernetes/client-node/-/client-node-0.17.1.tgz#a5740712848d77823e7d0eee70229936398b4142" integrity sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ== dependencies: byline "^5.0.0" @@ -1484,7 +1518,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -1492,39 +1526,59 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" "@sinclair/typebox@^0.24.1": - version "0.24.43" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz" - integrity sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw== + version "0.24.44" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.44.tgz#0a0aa3bf4a155a678418527342a3ee84bd8caa5c" + integrity sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg== "@sinonjs/commons@^1.7.0": version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^9.1.2": version "9.1.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== dependencies: "@sinonjs/commons" "^1.7.0" +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + "@types/babel__core@^7.1.14": version "7.1.19" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== dependencies: "@babel/parser" "^7.1.0" @@ -1535,14 +1589,14 @@ "@types/babel__generator@*": version "7.6.4" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.1" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" @@ -1550,14 +1604,14 @@ "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": version "7.18.2" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== dependencies: "@babel/types" "^7.3.0" "@types/glob@*": version "8.0.0" - resolved "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.0.tgz#321607e9cbaec54f687a0792b2d1d370739455d2" integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA== dependencies: "@types/minimatch" "*" @@ -1565,71 +1619,71 @@ "@types/graceful-fs@^4.1.3": version "4.1.5" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^29.0.3": - version "29.0.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.0.3.tgz#b61a5ed100850686b8d3c5e28e3a1926b2001b59" - integrity sha512-F6ukyCTwbfsEX5F2YmVYmM5TcTHy1q9P5rWlRbrk56KyMh3v9xRGUO3aa8+SkvMi0SHXtASJv1283enXimC0Og== + version "29.1.0" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.1.0.tgz#9cfbe1b0d4408f9732aaf37447460f10f2c71ce6" + integrity sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg== dependencies: expect "^29.0.0" pretty-format "^29.0.0" "@types/js-yaml@^4.0.5": version "4.0.5" - resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== "@types/json-schema@^7.0.9": version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/minimatch@*": version "5.1.2" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/node@*", "@types/node@^18.7.23": version "18.7.23" - resolved "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f" integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== "@types/npm-package-arg@^6.1.1": version "6.1.1" - resolved "https://registry.npmjs.org/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz#9e2d8adc04d39824a3d9f36f738010a3f7da3c1a" integrity sha512-452/1Kp9IdM/oR10AyqAgZOxUt7eLbm+EMJ194L6oarMYdZNiFIFAOJ7IIr0OrZXTySgfHjJezh2oiyk2kc3ag== "@types/prettier@^2.1.5": version "2.7.1" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== "@types/rimraf@^3.0.2": version "3.0.2" - resolved "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz#a63d175b331748e5220ad48c901d7bbf1f44eef8" integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== dependencies: "@types/glob" "*" @@ -1637,17 +1691,17 @@ "@types/stack-utils@^2.0.0": version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/yargs-parser@*": version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.13", "@types/yargs@^17.0.8": version "17.0.13" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== dependencies: "@types/yargs-parser" "*" @@ -1678,7 +1732,7 @@ "@typescript-eslint/scope-manager@5.38.1": version "5.38.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz#f87b289ef8819b47189351814ad183e8801d5764" integrity sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ== dependencies: "@typescript-eslint/types" "5.38.1" @@ -1696,12 +1750,12 @@ "@typescript-eslint/types@5.38.1": version "5.38.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.38.1.tgz#74f9d6dcb8dc7c58c51e9fbc6653ded39e2e225c" integrity sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg== "@typescript-eslint/typescript-estree@5.38.1": version "5.38.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz#657d858d5d6087f96b638ee383ee1cff52605a1e" integrity sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g== dependencies: "@typescript-eslint/types" "5.38.1" @@ -1714,7 +1768,7 @@ "@typescript-eslint/utils@5.38.1", "@typescript-eslint/utils@^5.10.0": version "5.38.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.38.1.tgz#e3ac37d7b33d1362bb5adf4acdbe00372fb813ef" integrity sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA== dependencies: "@types/json-schema" "^7.0.9" @@ -1726,7 +1780,7 @@ "@typescript-eslint/visitor-keys@5.38.1": version "5.38.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz#508071bfc6b96d194c0afe6a65ad47029059edbc" integrity sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA== dependencies: "@typescript-eslint/types" "5.38.1" @@ -1734,17 +1788,22 @@ acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.8.0: +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1, acorn@^8.8.0: version "8.8.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" @@ -1752,7 +1811,7 @@ aggregate-error@^3.0.0: ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -1762,129 +1821,122 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + version "6.1.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.1.tgz#63cd61c72283a71cb30bd881dbb60adada74bc70" + integrity sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg== ansicolor@^1.1.100: version "1.1.100" - resolved "https://registry.npmjs.org/ansicolor/-/ansicolor-1.1.100.tgz" + resolved "https://registry.yarnpkg.com/ansicolor/-/ansicolor-1.1.100.tgz#811f1afbf726edca3aafb942a14df8351996304a" integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== anymatch@^3.0.3: version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== as-table@^1.0.55: version "1.0.55" - resolved "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz" + resolved "https://registry.yarnpkg.com/as-table/-/as-table-1.0.55.tgz#dc984da3937745de902cea1d45843c01bdbbec4f" integrity sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ== dependencies: printable-characters "^1.0.42" asn1@~0.2.3: version "0.2.6" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async@^2.0.0-rc.3: - version "2.6.3" - resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== aws-sign2@~0.7.0: version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: version "1.11.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== axios@^0.27.2: version "0.27.2" - resolved "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== dependencies: follow-redirects "^1.14.9" @@ -1892,7 +1944,7 @@ axios@^0.27.2: babel-jest@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.1.0.tgz#945e45eb8a33e8ad8cb334f2b0f040d7306cffbf" integrity sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ== dependencies: "@jest/transform" "^29.1.0" @@ -1905,7 +1957,7 @@ babel-jest@^29.1.0: babel-plugin-istanbul@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -1916,7 +1968,7 @@ babel-plugin-istanbul@^6.1.1: babel-plugin-jest-hoist@^29.0.2: version "29.0.2" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz#ae61483a829a021b146c016c6ad39b8bcc37c2c8" integrity sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg== dependencies: "@babel/template" "^7.3.3" @@ -1926,7 +1978,7 @@ babel-plugin-jest-hoist@^29.0.2: babel-preset-current-node-syntax@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -1944,7 +1996,7 @@ babel-preset-current-node-syntax@^1.0.0: babel-preset-jest@^29.0.2: version "29.0.2" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz#e14a7124e22b161551818d89e5bdcfb3b2b0eac7" integrity sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA== dependencies: babel-plugin-jest-hoist "^29.0.2" @@ -1952,24 +2004,24 @@ babel-preset-jest@^29.0.2: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== bcrypt-pbkdf@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== dependencies: tweetnacl "^0.14.3" bowser@^2.11.0: version "2.11.0" - resolved "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -1977,14 +2029,14 @@ brace-expansion@^1.1.7: braces@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" browserslist@^4.21.3: version "4.21.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== dependencies: caniuse-lite "^1.0.30001400" @@ -2001,61 +2053,56 @@ bs-logger@0.x: bser@2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== builtins@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== dependencies: semver "^7.0.0" byline@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz" - integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= + resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" + integrity sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" - integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001400: version "1.0.30001412" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz#30f67d55a865da43e0aeec003f073ea8764d5d7c" integrity sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA== caseless@~0.12.0: version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== chalk@^2.0.0: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -2064,7 +2111,7 @@ chalk@^2.0.0: chalk@^4.0.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -2072,44 +2119,39 @@ chalk@^4.0.0: char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -char-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz" - integrity sha1-5upnvSR+EHESmDt6sEee02KAAIE= - chownr@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== ci-info@^3.2.0: version "3.4.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== cjs-module-lexer@^1.0.0: version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-truncate@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== dependencies: slice-ansi "^3.0.0" @@ -2117,24 +2159,15 @@ cli-truncate@^2.1.0: cli-truncate@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== dependencies: slice-ansi "^5.0.0" string-width "^5.0.0" -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - cliui@^7.0.2: version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" @@ -2143,73 +2176,68 @@ cliui@^7.0.2: co@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - collect-v8-coverage@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.16, colorette@^2.0.17: version "2.0.19" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commander@^9.3.0: version "9.4.0" - resolved "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== compare-versions@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-5.0.1.tgz#14c6008436d994c3787aba38d4087fabe858555e" integrity sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.4.7: version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" @@ -2219,25 +2247,30 @@ concat-stream@^1.4.7: convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" core-util-is@1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-spawn@^5.0.1: version "5.1.0" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== dependencies: lru-cache "^4.0.1" shebang-command "^1.2.0" @@ -2245,7 +2278,7 @@ cross-spawn@^5.0.1: cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -2254,152 +2287,280 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== dependencies: assert-plus "^1.0.0" debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -decamelize@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - dedent@^0.7.0: version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== detect-newline@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== diff-sequences@^29.0.0: version "29.0.0" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f" integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dotenv@^16.0.2: version "16.0.2" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.2.tgz#0b0f8652c016a3858ef795024508cddc4bffc5bf" integrity sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ecc-jsbn@~0.1.1: version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" electron-to-chromium@^1.4.251: - version "1.4.265" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.265.tgz" - integrity sha512-38KaYBNs0oCzWCpr6j7fY/W9vF0vSp4tKFIshQTgdZMhUpkxgotkQgjJP6iGMdmlsgMs3i0/Hkko4UXLTrkYVQ== + version "1.4.268" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.268.tgz#5a902075f0209a628837e508a66d40ace04d54ab" + integrity sha512-PO90Bv++vEzdln+eA9qLg1IRnh0rKETus6QkTzcFm5P3Wg3EQBZud5dcnzkpYXuIKWBjKe5CO8zjz02cicvn1g== emittery@^0.10.2: version "0.10.2" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== entities@2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" +esbuild-android-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz#4a7eb320ca8d3a305f14792061fd9614ccebb7c0" + integrity sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw== + +esbuild-android-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz#c948e5686df20857ad361ec67e070d40d7cab985" + integrity sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg== + +esbuild-darwin-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz#25f564fa4b39c1cec84dc46bce5634fdbce1d5e4" + integrity sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ== + +esbuild-darwin-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz#60faea3ed95d15239536aa88d06bb82b29278a86" + integrity sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw== + +esbuild-freebsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz#0339ef1c90a919175e7816788224517896657a0e" + integrity sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A== + +esbuild-freebsd-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz#32abfc0be3ae3dd38e5a86a9beadbbcf592f1b57" + integrity sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA== + +esbuild-linux-32@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz#93581348a4da7ed2b29bc5539f2605ad7fcee77b" + integrity sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg== + +esbuild-linux-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz#0d171e7946c95d0d3ed4826026af2c5632d7dcc4" + integrity sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ== + +esbuild-linux-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz#9838795a3720cbe736d3bc20621bd366eac22f24" + integrity sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ== + +esbuild-linux-arm@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz#dce96cd817bc7376f6af3967649c4ab1f2f79506" + integrity sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ== + +esbuild-linux-mips64le@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz#0335a0739e61aa97cb9b4a018e3facfcca9cdcfd" + integrity sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw== + +esbuild-linux-ppc64le@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz#18482afb95b8a705e2da0a59d7131bff221281f9" + integrity sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw== + +esbuild-linux-riscv64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz#03b6f9708272c117006b9ce1c9ae8aab91b5a5b6" + integrity sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA== + +esbuild-linux-s390x@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz#65fb645623d575780f155f0ee52935e62f9cca4f" + integrity sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw== + +esbuild-netbsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz#7894297bb9e11f3d2f6f31efecd1be4e181f0d54" + integrity sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw== + +esbuild-openbsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz#0f9d4c6b6772ae50d491d68ad4cc028300dda7c0" + integrity sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A== + +esbuild-sunos-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126" + integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ== + +esbuild-windows-32@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz#37a8f7cfccdb2177cd46613a1a1e1fcb419d36df" + integrity sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA== + +esbuild-windows-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz#5fe1e76fc13dd7f520febecaea110b6f1649c7b2" + integrity sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg== + +esbuild-windows-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce" + integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA== + +esbuild@^0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" + integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== + optionalDependencies: + "@esbuild/android-arm" "0.15.9" + "@esbuild/linux-loong64" "0.15.9" + esbuild-android-64 "0.15.9" + esbuild-android-arm64 "0.15.9" + esbuild-darwin-64 "0.15.9" + esbuild-darwin-arm64 "0.15.9" + esbuild-freebsd-64 "0.15.9" + esbuild-freebsd-arm64 "0.15.9" + esbuild-linux-32 "0.15.9" + esbuild-linux-64 "0.15.9" + esbuild-linux-arm "0.15.9" + esbuild-linux-arm64 "0.15.9" + esbuild-linux-mips64le "0.15.9" + esbuild-linux-ppc64le "0.15.9" + esbuild-linux-riscv64 "0.15.9" + esbuild-linux-s390x "0.15.9" + esbuild-netbsd-64 "0.15.9" + esbuild-openbsd-64 "0.15.9" + esbuild-sunos-64 "0.15.9" + esbuild-windows-32 "0.15.9" + esbuild-windows-64 "0.15.9" + esbuild-windows-arm64 "0.15.9" + escalade@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-config-prettier@^8.5.0: version "8.5.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== eslint-plugin-jest@^27.0.4: version "27.0.4" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz#ab9c7b3f48bfade4762c24c415a5d9bbc0174a61" integrity sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA== dependencies: "@typescript-eslint/utils" "^5.10.0" eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -2407,7 +2568,7 @@ eslint-scope@^5.1.1: eslint-scope@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== dependencies: esrecurse "^4.3.0" @@ -2415,24 +2576,24 @@ eslint-scope@^7.1.1: eslint-utils@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: eslint-visitor-keys "^2.0.0" eslint-visitor-keys@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-visitor-keys@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@^8.24.0: version "8.24.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8" integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== dependencies: "@eslint/eslintrc" "^1.3.2" @@ -2477,7 +2638,7 @@ eslint@^8.24.0: espree@^9.4.0: version "9.4.0" - resolved "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== dependencies: acorn "^8.8.0" @@ -2486,41 +2647,41 @@ espree@^9.4.0: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -execa@5.0.0, execa@^5.0.0: +execa@5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== dependencies: cross-spawn "^7.0.3" @@ -2533,9 +2694,24 @@ execa@5.0.0, execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + execa@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== dependencies: cross-spawn "^7.0.3" @@ -2550,12 +2726,12 @@ execa@^6.1.0: exit@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== expect@^29.0.0, expect@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.1.0.tgz#0e20a72cf4b2cfb8ca5e2ab138c23c5078c37460" integrity sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w== dependencies: "@jest/expect-utils" "^29.1.0" @@ -2566,22 +2742,27 @@ expect@^29.0.0, expect@^29.1.0: extend@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extsprintf@1.3.0, extsprintf@^1.2.0: +extsprintf@1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.9: version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -2592,58 +2773,50 @@ fast-glob@^3.2.9: fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-xml-parser@3.19.0: version "3.19.0" - resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== fastq@^1.6.0: version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" fb-watchman@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -2651,7 +2824,7 @@ find-up@^4.0.0, find-up@^4.1.0: find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -2659,30 +2832,30 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== follow-redirects@^1.14.9: version "1.15.2" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== form-data@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" @@ -2691,7 +2864,7 @@ form-data@^4.0.0: form-data@~2.3.2: version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" @@ -2700,99 +2873,94 @@ form-data@~2.3.2: fs-minipass@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.3.2: version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-package-type@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== getpass@^0.1.1: version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== dependencies: assert-plus "^1.0.0" glob-parent@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.1: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob@^7.0.0, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.15.0: version "13.17.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== dependencies: type-fest "^0.20.2" globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -2802,24 +2970,24 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== +graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== grapheme-splitter@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== har-schema@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== har-validator@~5.1.3: version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: ajv "^6.12.3" @@ -2827,42 +2995,37 @@ har-validator@~5.1.3: has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" -hosted-git-info@^2.1.4, hosted-git-info@^2.1.5: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - hosted-git-info@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.1.0.tgz#9786123f92ef3627f24abc3f15c20d98ec4a6594" integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q== dependencies: lru-cache "^7.5.1" html-escaper@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-signature@~1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" @@ -2870,22 +3033,22 @@ http-signature@~1.2.0: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== human-signals@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== ignore@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -2893,7 +3056,7 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: import-local@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" @@ -2901,141 +3064,119 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - interpret@^1.0.0: version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-core-module@^2.2.0: - version "2.8.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== +is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== dependencies: has "^1.0.3" is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-fullwidth-code-point@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== is-generator-fn@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-stream@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isomorphic-ws@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== isstream@~0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: version "5.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== dependencies: "@babel/core" "^7.12.3" @@ -3046,7 +3187,7 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: istanbul-lib-report@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: istanbul-lib-coverage "^3.0.0" @@ -3055,7 +3196,7 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" @@ -3064,7 +3205,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-reports@^3.1.3: version "3.1.5" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== dependencies: html-escaper "^2.0.0" @@ -3072,7 +3213,7 @@ istanbul-reports@^3.1.3: jest-changed-files@^29.0.0: version "29.0.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.0.0.tgz#aa238eae42d9372a413dd9a8dadc91ca1806dce0" integrity sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ== dependencies: execa "^5.0.0" @@ -3080,7 +3221,7 @@ jest-changed-files@^29.0.0: jest-circus@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.1.1.tgz#696e0b58351316f5fdb39d3480b4fffe8dbf0100" integrity sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ== dependencies: "@jest/environment" "^29.1.1" @@ -3105,7 +3246,7 @@ jest-circus@^29.1.1: jest-cli@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.1.1.tgz#6ff79c0b2d1d062f24216d2bcbf6c01a1e41db21" integrity sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q== dependencies: "@jest/core" "^29.1.1" @@ -3123,7 +3264,7 @@ jest-cli@^29.1.1: jest-config@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.1.1.tgz#52aaa6237a7b3eea5c640aad6a53b390dc76f49f" integrity sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg== dependencies: "@babel/core" "^7.11.6" @@ -3151,7 +3292,7 @@ jest-config@^29.1.1: jest-diff@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.1.0.tgz#952639cd73fcf4d34173e2d98a0cd1c20c71ba88" integrity sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw== dependencies: chalk "^4.0.0" @@ -3161,14 +3302,14 @@ jest-diff@^29.1.0: jest-docblock@^29.0.0: version "29.0.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.0.0.tgz#3151bcc45ed7f5a8af4884dcc049aee699b4ceae" integrity sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw== dependencies: detect-newline "^3.0.0" jest-each@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.1.0.tgz#d0962d04f4a28f5f048c2ff50965cab9ae2f524d" integrity sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA== dependencies: "@jest/types" "^29.1.0" @@ -3179,7 +3320,7 @@ jest-each@^29.1.0: jest-environment-node@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.1.1.tgz#10f1782b74e17fcf782ff51df79f2b0cee135851" integrity sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw== dependencies: "@jest/environment" "^29.1.1" @@ -3191,12 +3332,12 @@ jest-environment-node@^29.1.1: jest-get-type@^29.0.0: version "29.0.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.0.0.tgz#843f6c50a1b778f7325df1129a0fd7aa713aef80" integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== jest-haste-map@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.1.0.tgz#1cbdd30528b7b215523166cec3718600a3328ad1" integrity sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g== dependencies: "@jest/types" "^29.1.0" @@ -3215,7 +3356,7 @@ jest-haste-map@^29.1.0: jest-leak-detector@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz#6b7067d383dbf0804f21e16426d8562d84f19340" integrity sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q== dependencies: jest-get-type "^29.0.0" @@ -3223,7 +3364,7 @@ jest-leak-detector@^29.1.0: jest-matcher-utils@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz#60f53cc199921ece9170d3d20500ae0b93294928" integrity sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA== dependencies: chalk "^4.0.0" @@ -3233,7 +3374,7 @@ jest-matcher-utils@^29.1.0: jest-message-util@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.1.0.tgz#0bb50a8064aa49999a6c313827e43bf51bd71dd1" integrity sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A== dependencies: "@babel/code-frame" "^7.12.13" @@ -3248,7 +3389,7 @@ jest-message-util@^29.1.0: jest-mock@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.1.1.tgz#b5475d07a8db6d39fe73e960ca94a3ac761afe0d" integrity sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q== dependencies: "@jest/types" "^29.1.0" @@ -3257,17 +3398,17 @@ jest-mock@^29.1.1: jest-pnp-resolver@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== jest-regex-util@^29.0.0: version "29.0.0" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.0.0.tgz#b442987f688289df8eb6c16fa8df488b4cd007de" integrity sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug== jest-resolve-dependencies@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz#03104a866fb133cffd8a6fe7fc198b0de9a17232" integrity sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q== dependencies: jest-regex-util "^29.0.0" @@ -3275,7 +3416,7 @@ jest-resolve-dependencies@^29.1.1: jest-resolve@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.1.0.tgz#114d2a86f6ff07e1cc56dbe84deb9d6e058b4399" integrity sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA== dependencies: chalk "^4.0.0" @@ -3290,7 +3431,7 @@ jest-resolve@^29.1.0: jest-runner@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.1.1.tgz#4ababc79ec3ec654de33db093ca2ec78599fa7ad" integrity sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ== dependencies: "@jest/console" "^29.1.0" @@ -3317,7 +3458,7 @@ jest-runner@^29.1.1: jest-runtime@^29.1.1: version "29.1.1" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.1.1.tgz#54a4cc4665d5c86f072f3f8fe3f9ec83d3802c8b" integrity sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg== dependencies: "@jest/environment" "^29.1.1" @@ -3345,7 +3486,7 @@ jest-runtime@^29.1.1: jest-snapshot@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.1.0.tgz#9da20c1c504a41e79abcbfecced090325b3cdba1" integrity sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g== dependencies: "@babel/core" "^7.11.6" @@ -3375,7 +3516,7 @@ jest-snapshot@^29.1.0: jest-util@^29.0.0, jest-util@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.1.0.tgz#e8a971dfb900bb85f090c752aa321b6912e81002" integrity sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ== dependencies: "@jest/types" "^29.1.0" @@ -3387,7 +3528,7 @@ jest-util@^29.0.0, jest-util@^29.1.0: jest-validate@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.1.0.tgz#5e2ba89d7d6b3e4d3ece34024f317e956a5c85c0" integrity sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA== dependencies: "@jest/types" "^29.1.0" @@ -3399,7 +3540,7 @@ jest-validate@^29.1.0: jest-watcher@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.1.0.tgz#4a9f9d2c9bb9115f7b543c26f468d2c0c0202506" integrity sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg== dependencies: "@jest/test-result" "^29.1.0" @@ -3413,7 +3554,7 @@ jest-watcher@^29.1.0: jest-worker@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.1.0.tgz#374d741b976a868e39141d63fb401abacc07a8c9" integrity sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ== dependencies: "@types/node" "*" @@ -3422,7 +3563,7 @@ jest-worker@^29.1.0: jest@^29.1.0: version "29.1.1" - resolved "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.1.1.tgz#22d9d828f01335ec17225bcb267fe669319983be" integrity sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ== dependencies: "@jest/core" "^29.1.1" @@ -3437,17 +3578,17 @@ jose@^4.1.4: js-sdsl@^4.1.4: version "4.1.4" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -3455,59 +3596,59 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema@0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonpath-plus@^0.19.0: version "0.19.0" - resolved "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz" + resolved "https://registry.yarnpkg.com/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz#b901e57607055933dc9a8bef0cc25160ee9dd64c" integrity sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg== jsprim@^1.2.2: version "1.4.2" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: assert-plus "1.0.0" @@ -3517,24 +3658,17 @@ jsprim@^1.2.2: kleur@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - leven@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -3542,17 +3676,17 @@ levn@^0.4.1: lilconfig@2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@^13.0.3: version "13.0.3" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6" integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug== dependencies: cli-truncate "^3.1.0" @@ -3571,7 +3705,7 @@ lint-staged@^13.0.3: listr2@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== dependencies: cli-truncate "^2.1.0" @@ -3583,36 +3717,20 @@ listr2@^4.0.5: through "^2.3.8" wrap-ansi "^7.0.0" -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" -lodash.assign@^4.0.3, lodash.assign@^4.0.6: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz" - integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= - lodash.memoize@4.x: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -3620,17 +3738,12 @@ lodash.memoize@4.x: lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.10.0, lodash@^4.17.14: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - log-update@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== dependencies: ansi-escapes "^4.3.0" @@ -3640,7 +3753,7 @@ log-update@^4.0.0: lru-cache@^4.0.1: version "4.1.5" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" @@ -3648,97 +3761,92 @@ lru-cache@^4.0.1: lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" lru-cache@^7.5.1: version "7.14.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== make-dir@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" -make-error@1.x: +make-error@1.x, make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== makeerror@1.0.12: version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: tmpl "1.0.5" merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.34" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.51.0" + mime-db "1.52.0" mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-fn@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -minimatch@^3.0.4, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - minipass@^3.0.0: - version "3.1.6" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + version "3.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" + integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== dependencies: yallist "^4.0.0" minizlib@^2.1.1: version "2.1.2" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" @@ -3746,100 +3854,61 @@ minizlib@^2.1.1: mkdirp@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-releases@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - normalize-path@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -npm-package-arg@^4.2.0: - version "4.2.1" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz" - integrity sha1-WTMD/eqF98Qid18X+et2cPaA4+w= - dependencies: - hosted-git-info "^2.1.5" - semver "^5.1.0" - npm-package-arg@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz" - integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== + version "9.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" + integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== dependencies: hosted-git-info "^5.0.0" proc-log "^2.0.1" semver "^7.3.5" validate-npm-package-name "^4.0.0" -npm-remote-ls@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/npm-remote-ls/-/npm-remote-ls-1.3.2.tgz" - integrity sha1-GT6ZBGoP2EUnnmxha6+RsuXguDA= - dependencies: - async "^2.0.0-rc.3" - char-spinner "^1.0.1" - lodash "^4.10.0" - npm-package-arg "^4.2.0" - once "^1.3.3" - registry-url "^3.0.3" - request "^2.37.0" - semver "^5.1.0" - treeify "^1.0.1" - yargs "^4.6.0" - npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" npm-run-path@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== dependencies: path-key "^4.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - oauth-sign@~0.9.0: version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-hash@^2.0.1: @@ -3849,7 +3918,7 @@ object-hash@^2.0.1: object-inspect@^1.12.2: version "1.12.2" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== oidc-token-hash@^5.0.1: @@ -3857,23 +3926,23 @@ oidc-token-hash@^5.0.1: resolved "https://registry.yarnpkg.com/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz#ae6beec3ec20f0fd885e5400d175191d6e2f10c6" integrity sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ== -once@^1.3.0, once@^1.3.3: +once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" onetime@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== dependencies: mimic-fn "^4.0.0" @@ -3890,7 +3959,7 @@ openid-client@^5.1.6: optionator@^0.9.1: version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" @@ -3900,75 +3969,61 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - os-shim@^0.1.2: version "0.1.3" - resolved "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" - integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= + resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" + integrity sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A== p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -3976,105 +4031,72 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-key@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== -path-parse@^1.0.6: +path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pidtree@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - pirates@^4.0.4: version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pre-commit@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz" - integrity sha1-287g7p3nI15X95xW186UZBpp7sY= + resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6" + integrity sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA== dependencies: cross-spawn "^5.0.1" spawn-sync "^1.0.15" @@ -4082,17 +4104,17 @@ pre-commit@^1.2.2: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier@^2.7.1: version "2.7.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== pretty-format@^29.0.0, pretty-format@^29.1.0: version "29.1.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.1.0.tgz#ea3de2feed5b8d19c537a12fe478ddc8b45da6b8" integrity sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ== dependencies: "@jest/schemas" "^29.0.0" @@ -4101,22 +4123,22 @@ pretty-format@^29.0.0, pretty-format@^29.1.0: printable-characters@^1.0.42: version "1.0.42" - resolved "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz" - integrity sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g= + resolved "https://registry.yarnpkg.com/printable-characters/-/printable-characters-1.0.42.tgz#3f18e977a9bd8eb37fcc4ff5659d7be90868b3d8" + integrity sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ== proc-log@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== prompts@^2.0.1: version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -4124,64 +4146,37 @@ prompts@^2.0.1: pseudomap@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== qs@~6.5.2: - version "6.5.2" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -rc@^1.0.1: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-is@^18.0.0: version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - readable-stream@^2.2.2: version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" @@ -4194,26 +4189,19 @@ readable-stream@^2.2.2: rechoir@^0.6.2: version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: resolve "^1.1.6" regexpp@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= - dependencies: - rc "^1.0.1" - -request@^2.37.0, request@^2.88.0: +request@^2.88.0: version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: aws-sign2 "~0.7.0" @@ -4239,47 +4227,43 @@ request@^2.37.0, request@^2.88.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve.exports@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== +resolve@^1.1.6, resolve@^1.20.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" restore-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" @@ -4287,104 +4271,94 @@ restore-cursor@^3.1.0: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfc4648@^1.3.0: - version "1.5.0" - resolved "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.0.tgz" - integrity sha512-FA6W9lDNeX8WbMY31io1xWg+TpZCbeDKsBo0ocwACZiWnh9TUAyk9CCuBQuOPmYnwwdEQZmraQ2ZK7yJsxErBg== + version "1.5.2" + resolved "https://registry.yarnpkg.com/rfc4648/-/rfc4648-1.5.2.tgz#cf5dac417dd83e7f4debf52e3797a723c1373383" + integrity sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg== rfdc@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" rxjs@^7.5.5: version "7.5.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== dependencies: tslib "^2.1.0" safe-buffer@^5.0.1, safe-buffer@^5.1.2: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"semver@2 || 3 || 4 || 5", semver@^5.1.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - semver@7.x, semver@^7.0.0, semver@^7.3.5, semver@^7.3.7: version "7.3.7" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" semver@^6.0.0, semver@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shelljs@^0.8.5: version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: glob "^7.0.0" @@ -4393,22 +4367,22 @@ shelljs@^0.8.5: signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== dependencies: ansi-styles "^4.0.0" @@ -4417,7 +4391,7 @@ slice-ansi@^3.0.0: slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" @@ -4426,7 +4400,7 @@ slice-ansi@^4.0.0: slice-ansi@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== dependencies: ansi-styles "^6.0.0" @@ -4434,7 +4408,7 @@ slice-ansi@^5.0.0: source-map-support@0.5.13: version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" @@ -4442,52 +4416,26 @@ source-map-support@0.5.13: source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spawn-sync@^1.0.15: version "1.0.15" - resolved "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz" - integrity sha1-sAeZVX63+wyDdsKdROih6mfldHY= + resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" + integrity sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw== dependencies: concat-stream "^1.4.7" os-shim "^0.1.2" -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -4501,41 +4449,32 @@ sshpk@^1.7.0: stack-utils@^2.0.3: version "2.0.5" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== dependencies: escape-string-regexp "^2.0.0" stream-buffers@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-3.0.2.tgz#5249005a8d5c2d00b3a32e6e0a6ea209dc4f3521" integrity sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ== string-argv@^0.3.1: version "0.3.1" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== string-length@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -4543,111 +4482,97 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: strip-ansi "^6.0.1" string-width@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.0.1.tgz" - integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g== + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: + eastasianwidth "^0.2.0" emoji-regex "^9.2.2" - is-fullwidth-code-point "^4.0.0" strip-ansi "^7.0.1" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== dependencies: ansi-regex "^6.0.1" -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-final-newline@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.0.0: version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-hyperlinks@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + system-commands@^1.1.7: version "1.1.7" - resolved "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz" + resolved "https://registry.yarnpkg.com/system-commands/-/system-commands-1.1.7.tgz#f100c0d7da5d489d065b43625fc9fef1c38b38f2" integrity sha512-PfswB3P+qrSZcm7nIOJzKMe0qMp7wGVM7B+UYBkaduS6z2n+iM2sk4kw3G4+zY1aRI32+ZgKTUUAlhc3YSneJA== tar@^6.1.11: version "6.1.11" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" @@ -4659,7 +4584,7 @@ tar@^6.1.11: terminal-link@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== dependencies: ansi-escapes "^4.2.1" @@ -4667,7 +4592,7 @@ terminal-link@^2.0.0: test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" @@ -4676,58 +4601,53 @@ test-exclude@^6.0.0: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== through@^2.3.8: version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== tmp-promise@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== dependencies: tmp "^0.2.0" tmp@^0.2.0: version "0.2.1" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== dependencies: rimraf "^3.0.0" tmpl@1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" tough-cookie@~2.5.0: version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: psl "^1.1.28" punycode "^2.1.1" -treeify@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz" - integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== - ts-jest@^29.0.2: version "29.0.2" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.2.tgz#0c45a1ac45d14f8b3bf89bca9048a2840c7bd5ad" @@ -4742,75 +4662,94 @@ ts-jest@^29.0.2: semver "7.x" yargs-parser "^21.0.1" +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.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" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.3: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.1.0, tslib@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-detect@4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.21.3: version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript@^4.8.4: version "4.8.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== underscore@^1.9.1: - version "1.13.2" - resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz" - integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g== + version "1.13.6" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" + integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== update-browserslist-db@^1.0.9: version "1.0.9" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== dependencies: escalade "^3.1.1" @@ -4818,54 +4757,51 @@ update-browserslist-db@^1.0.9: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== uuid@^3.3.2: version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== uuid@^8.3.2: version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + v8-to-istanbul@^9.0.1: version "9.0.1" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - validate-npm-package-name@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== dependencies: builtins "^5.0.0" verror@1.10.0: version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" @@ -4873,51 +4809,40 @@ verror@1.10.0: walker@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: makeerror "1.0.12" -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" - integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= - -which@1.2.x, which@^1.2.9: +which@1.2.x: version "1.2.14" - resolved "https://registry.npmjs.org/which/-/which-1.2.14.tgz" - integrity sha1-mofEN48D6CfOyvGs31bHNsAcFOU= + resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" + integrity sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw== + dependencies: + isexe "^2.0.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -window-size@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz" - integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU= - word-wrap@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" @@ -4926,7 +4851,7 @@ wrap-ansi@^6.2.0: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -4935,63 +4860,50 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" ws@^7.3.1: - version "7.5.6" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz" - integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== - -y18n@^3.2.1: - version "3.2.2" - resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz" - integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== y18n@^5.0.5: version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec" integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== yargs-parser@>=21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.0.1: version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs-parser@^2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz" - integrity sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ= - dependencies: - camelcase "^3.0.0" - lodash.assign "^4.0.6" - yargs@^17.3.1, yargs@^17.5.1: version "17.5.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== dependencies: cliui "^7.0.2" @@ -5002,27 +4914,12 @@ yargs@^17.3.1, yargs@^17.5.1: y18n "^5.0.5" yargs-parser "^21.0.0" -yargs@^4.6.0: - version "4.8.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz" - integrity sha1-wMQpJMpKqmsObaFznfshZDn53cA= - dependencies: - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - lodash.assign "^4.0.3" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.1" - which-module "^1.0.0" - window-size "^0.2.0" - y18n "^3.2.1" - yargs-parser "^2.4.1" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 66083a89266aea66f81501c1af7512551db2c5a9 Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Fri, 30 Sep 2022 23:17:35 +0800 Subject: [PATCH 03/11] Enforce ts files as ES modules; Improve bundling and minifying --- .dockerignore | 4 +- .github/workflows/npm-publish.yml | 27 +- .prettierignore | 1 + Dockerfile | 16 +- bin/{install.ts => install.mts} | 31 +- jest.config.js | 5 - lib/{constants.ts => constants.mts} | 0 lib/{dashboard.ts => dashboard.mts} | 2 +- lib/{help.ts => help.mts} | 0 lib/{index.ts => index.mts} | 4 +- lib/init.mts | 33 + lib/init.ts | 42 - lib/{install.ts => install.mts} | 27 +- lib/{k8s.ts => k8s.mts} | 6 +- lib/models/{argument.ts => argument.mts} | 2 +- lib/models/{info.ts => info.mts} | 2 +- lib/models/{input.ts => input.mts} | 2 +- lib/models/{package.ts => package.mts} | 12 +- lib/models/{parameter.ts => parameter.mts} | 0 lib/models/{resource.ts => resource.mts} | 4 +- lib/models/{template.ts => template.mts} | 4 +- lib/{s3.ts => s3.mts} | 2 +- lib/{utils.ts => utils.mts} | 4 +- package-lock.json | 2210 +++++---- package.json | 24 +- tests/base.test.ts | 2 +- tsconfig.json | 16 +- yarn.lock | 4925 -------------------- 28 files changed, 1357 insertions(+), 6050 deletions(-) rename bin/{install.ts => install.mts} (88%) delete mode 100644 jest.config.js rename lib/{constants.ts => constants.mts} (100%) rename lib/{dashboard.ts => dashboard.mts} (97%) rename lib/{help.ts => help.mts} (100%) rename lib/{index.ts => index.mts} (92%) create mode 100644 lib/init.mts delete mode 100644 lib/init.ts rename lib/{install.ts => install.mts} (88%) rename lib/{k8s.ts => k8s.mts} (99%) rename lib/models/{argument.ts => argument.mts} (96%) rename lib/models/{info.ts => info.mts} (99%) rename lib/models/{input.ts => input.mts} (97%) rename lib/models/{package.ts => package.mts} (98%) rename lib/models/{parameter.ts => parameter.mts} (100%) rename lib/models/{resource.ts => resource.mts} (91%) rename lib/models/{template.ts => template.mts} (96%) rename lib/{s3.ts => s3.mts} (99%) rename lib/{utils.ts => utils.mts} (96%) delete mode 100644 yarn.lock diff --git a/.dockerignore b/.dockerignore index dfa8ebb..a1d9a19 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,4 +2,6 @@ node_modules .github .git .idea -.vscode \ No newline at end of file +.vscode +dist +tests diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 38d64e5..a3e69cd 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -1,8 +1,10 @@ name: npm-publish on: push: - branches: - - master # Change this to your default branch + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + - '[0-9]+.[0-9]+.[0-9]+rc[0-9]+' + jobs: npm-publish: name: npm-publish @@ -17,15 +19,10 @@ jobs: node-version: 18 - name: Publish if version has been updated - uses: pascalgn/npm-publish-action@06e0830ea83eea10ed4a62654eeaedafb8bf50fc - with: # All of theses inputs are optional - tag_name: "v%s" - tag_message: "v%s" - commit_pattern: "^Release (\\S+)" - workspace: "." - env: # More info about the environment variables in the README - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated - NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings + uses: JS-DevTools/npm-publish@v1 + with: + tag: "v%s" + token: ${{ secrets.NPM_AUTH_TOKEN } - uses: actions/checkout@v3 with: @@ -38,9 +35,8 @@ jobs: - run: echo "REPOSITORY_NAME=`echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//"`" >> $GITHUB_ENV shell: bash - - name: Set up Buildx - id: buildx - uses: docker/setup-buildx-action@v1 + - name: Set up Buildx + uses: docker/setup-buildx-action@v2 - name: Login to GitHub Registry uses: docker/login-action@v1 @@ -50,8 +46,7 @@ jobs: password: ${{ secrets.MY_PAT }} - name: Build and push docker image - id: docker_build - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v3 with: context: . file: ./Dockerfile diff --git a/.prettierignore b/.prettierignore index 4c63f32..328a498 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,5 +1,6 @@ lib/static .github/ .vscode/ +dist/ package-lock.json package.json \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 33fb66e..e43cae3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,17 @@ -FROM node:18-bullseye-slim as builder +ARG BUILD_IMAGE=node:18-alpine + +FROM $BUILD_IMAGE as builder WORKDIR /app COPY . /app -RUN npm install && npm build +RUN npm install && npm run build -FROM node:18-bullseye-slim as runtime +FROM $BUILD_IMAGE as runtime WORKDIR /app -COPY --from=builder /app/dist/install.js /app +COPY --from=builder /app/dist/argopm.cjs /app/argopm +COPY --from=builder /app/dist/static/ /app/static/ + +# Shelljs, a dep of K8s client, does not work well with bundlers +RUN npm i shelljs -CMD ["./install.js"] +ENTRYPOINT [ "./argopm" ] diff --git a/bin/install.ts b/bin/install.mts similarity index 88% rename from bin/install.ts rename to bin/install.mts index 3bcac73..15bc41a 100755 --- a/bin/install.ts +++ b/bin/install.mts @@ -1,16 +1,16 @@ -#!/usr/bin/env -S npx ts-node -import { install, installGlobal } from "../lib/install"; -import { initHelp, installHelp } from "../lib/help"; -import { uninstall, run } from "../lib/index"; -import { init } from "../lib/init"; +#!/usr/bin/env -S npx ts-node --esm +import { bright, cyan, dim } from "ansicolor"; +import asTable from "as-table"; import yargs from "yargs"; import { hideBin } from "yargs/helpers"; -import { cyan, dim, bright } from "ansicolor"; -import { Package } from "../lib/models/package"; -import { configure } from "as-table"; -import { K8sInstallerOptionsType } from "../lib/k8s"; +import { initHelp, installHelp } from "../lib/help.mjs"; +import { run, uninstall } from "../lib/index.mjs"; +import { init } from "../lib/init.mjs"; +import { install, installGlobal } from "../lib/install.mjs"; +import { K8sInstallerOptionsType } from "../lib/k8s.mjs"; +import { Package } from "../lib/models/package.mjs"; -configure({ +asTable.configure({ title: (x) => bright(x), delimiter: dim(cyan(" | ")), dash: bright(cyan("-")), @@ -55,7 +55,7 @@ yargs(hideBin(process.argv)) default: Intl.DateTimeFormat().resolvedOptions().timeZone, }), handler: async (argv) => { - let packageName; + let packageName: string; const options: K8sInstallerOptionsType = { force: argv.force, cronString: argv.cronString, @@ -80,12 +80,7 @@ yargs(hideBin(process.argv)) ); } - const re = new RegExp("NAME", "g"); - if (packageName) { - console.log(installHelp.replace(re, packageName)); - } else { - console.error(`No packageName on ${installHelp}.`); - } + console.log(installHelp.replace(/NAME/g, packageName)); }, }) .command({ @@ -152,7 +147,7 @@ yargs(hideBin(process.argv)) default: true, }), handler: async (argv) => { - const packageName = await init(argv.force, argv.package_name as string); + const packageName = await init(argv.force); const re = new RegExp("NAME", "g"); console.log(initHelp.replace(re, packageName)); }, diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index b0b26c2..0000000 --- a/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import('ts-jest').JestConfigWithTsJest} */ -module.exports = { - preset: "ts-jest", - testEnvironment: "node", -}; diff --git a/lib/constants.ts b/lib/constants.mts similarity index 100% rename from lib/constants.ts rename to lib/constants.mts diff --git a/lib/dashboard.ts b/lib/dashboard.mts similarity index 97% rename from lib/dashboard.ts rename to lib/dashboard.mts index e888ad3..75a0a12 100644 --- a/lib/dashboard.ts +++ b/lib/dashboard.mts @@ -2,7 +2,7 @@ import axios from "axios"; import * as dotenv from "dotenv"; import { existsSync } from "node:fs"; import { readdir, readFile } from "node:fs/promises"; -import { PackageObjectType } from "./models/info"; +import { PackageObjectType } from "./models/info.mjs"; dotenv.config(); diff --git a/lib/help.ts b/lib/help.mts similarity index 100% rename from lib/help.ts rename to lib/help.mts diff --git a/lib/index.ts b/lib/index.mts similarity index 92% rename from lib/index.ts rename to lib/index.mts index e86ca72..20d6eb8 100644 --- a/lib/index.ts +++ b/lib/index.mts @@ -1,5 +1,5 @@ -import { Package } from "./models/package"; -import { generateArguments } from "./utils"; +import { Package } from "./models/package.mjs"; +import { generateArguments } from "./utils.mjs"; /** * Delete a package diff --git a/lib/init.mts b/lib/init.mts new file mode 100644 index 0000000..9ac74cb --- /dev/null +++ b/lib/init.mts @@ -0,0 +1,33 @@ +import shell from "shelljs"; +import { dirname } from "node:path"; +import { fileURLToPath } from "node:url"; + +// const __filename = fileURLToPath(import.meta.url); +// const __dirname = dirname(__filename); + +/** + * Init an Argo package inside the folder + * Steps: + * 1. Check if folder is empty + * 2. Package.json should not be present (unless force is set to true) + * 3. Copy the static folder in the current directory + * 4. Change name to the folder name + * @param {boolean} force + */ +export const init = async (force: boolean) => { + // const dirPath = "/tmp/test-package"; + const dirPath = shell.pwd(); + + let pathComponents = dirPath.split("/"); + const packageName = pathComponents[pathComponents.length - 1]; + + if (!force && shell.ls("package.json").length > 0) { + throw new Error(`Files already present in the ${__dirname}. Run this command again with --force to ignore`); + } + + const skeletonPackagePath = `${__dirname}/static/package`; + shell.cp("-R", `${skeletonPackagePath}/*`, dirPath); + shell.sed("-i", /NAME/g, packageName, `${dirPath}/*.*`); + + return packageName; +}; diff --git a/lib/init.ts b/lib/init.ts deleted file mode 100644 index a936224..0000000 --- a/lib/init.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { PathLike } from "node:fs"; -import { FileHandle, readdir, readFile, writeFile } from "node:fs/promises"; - -import system = require("system-commands"); -import { walk } from "./utils"; - -/** - * Init an Argo package inside the folder - * Steps: - * 1. Check if folder is empty - * 2. Package.json should not be present (unless force is set to true) - * 3. Copy the static folder in the current directory - * 4. Change name to the folder name - * @param {boolean} force - */ -export const init = async (force: boolean, inputPackageName: string) => { - // const dirPath = "/tmp/test-package"; - const dirPath = process.cwd(); - const pathComponents = dirPath.split("/"); - const packageName = inputPackageName != "." ? inputPackageName : pathComponents[pathComponents.length - 1]; - const files = await readdir(dirPath); - - if (!force && (files.length !== 0 || files.includes("package.json"))) { - throw `Files already present in the ${__dirname}. Run this command again with --force to ignore`; - } - - const skeletonPackagePath = `${__dirname}/static/package`; - await system(`cp -r ${skeletonPackagePath}/ ${dirPath}`); - await walk(dirPath); - files.forEach((file) => { - replaceInFile(file, "NAME", packageName); - }); - - return packageName; -}; - -async function replaceInFile(filePath: PathLike | FileHandle, searchText: string | RegExp, replaceText: string) { - const re = new RegExp(searchText, "g"); - const data = await readFile(filePath, "utf-8"); - const result = data.replace(re, replaceText); - return await writeFile(filePath, result, "utf8"); -} diff --git a/lib/install.ts b/lib/install.mts similarity index 88% rename from lib/install.ts rename to lib/install.mts index 951124d..82edf56 100644 --- a/lib/install.ts +++ b/lib/install.mts @@ -1,12 +1,13 @@ -import { K8sInstaller, K8sInstallerOptionsType } from "./k8s"; -import { S3 } from "./s3"; -import { listDirs, deleteDir } from "./utils"; +import { K8sInstaller, K8sInstallerOptionsType } from "./k8s.mjs"; +import { S3 } from "./s3.mjs"; +import { listDirs, deleteDir } from "./utils.mjs"; import { readFileSync, existsSync } from "fs"; -import { DashboardInstaller } from "./dashboard"; -import { constants } from "./constants"; +import { DashboardInstaller } from "./dashboard.mjs"; +import { constants } from "./constants.mjs"; +import shell from "shelljs"; -import system = require("system-commands"); -import npa = require("npm-package-arg"); +// import system from "system-commands"; +import npa from "npm-package-arg"; /** * Downloads the given package @@ -16,11 +17,11 @@ import npa = require("npm-package-arg"); * @param {string} registry Argo Package registry * @param {string} saveParam Save parameter */ -const npmInstall = async function (prefixPath: string, packageName: string, registry: string, saveParam: string) { +const npmInstall = function (prefixPath: string, packageName: string, registry: string, saveParam: string) { if (packageName === ".") { - return await system(`NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`); + return shell.exec(`NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`); } - return await system( + return shell.exec( `NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force` ); }; @@ -112,7 +113,7 @@ export const install = async function ( save: boolean, cluster: boolean, options: K8sInstallerOptionsType, - dirPath: string = process.cwd() + dirPath: string = shell.pwd() ) { // dirPath = "/Users/amit/Documents/marketplace-packages/atlan-atlas"; let npmSaveParam = "--no-save"; @@ -132,9 +133,6 @@ export const install = async function ( const nodeModulesPath = `${dirPath}/node_modules`; let dirs: (string | undefined)[] = []; - if (!existsSync(nodeModulesPath)) { - return; - } if (packageName !== ".") { const cleanedPackageParts = packageName.split("@"); @@ -150,6 +148,7 @@ export const install = async function ( } console.log(`Installing parent package ${parentPackageName}`); + dirs = (await listDirs(nodeModulesPath)).filter((dir) => dir !== undefined); dirs.forEach(async (dir) => { if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { diff --git a/lib/k8s.ts b/lib/k8s.mts similarity index 99% rename from lib/k8s.ts rename to lib/k8s.mts index 29b6f42..61ff757 100644 --- a/lib/k8s.ts +++ b/lib/k8s.mts @@ -3,9 +3,9 @@ import { load } from "js-yaml"; import { existsSync, readFileSync } from "node:fs"; import { readdir, readFile } from "node:fs/promises"; import { IncomingMessage } from "node:http"; -import { constants } from "./constants"; -import { PackageInfo, PackageObjectType } from "./models/info"; -import { Resource } from "./models/resource"; +import { constants } from "./constants.mjs"; +import { PackageInfo, PackageObjectType } from "./models/info.mjs"; +import { Resource } from "./models/resource.mjs"; const kc = new KubeConfig(); kc.loadFromDefault(); diff --git a/lib/models/argument.ts b/lib/models/argument.mts similarity index 96% rename from lib/models/argument.ts rename to lib/models/argument.mts index 76c4afe..3b836b8 100644 --- a/lib/models/argument.ts +++ b/lib/models/argument.mts @@ -1,4 +1,4 @@ -import { Parameter } from "./parameter"; +import { Parameter } from "./parameter.mjs"; import { yellow } from "ansicolor"; export class Argument { diff --git a/lib/models/info.ts b/lib/models/info.mts similarity index 99% rename from lib/models/info.ts rename to lib/models/info.mts index 8c3251e..3d528bf 100644 --- a/lib/models/info.ts +++ b/lib/models/info.mts @@ -1,5 +1,5 @@ import { yellow, blue, lightCyan } from "ansicolor"; -import { constants } from "../constants"; +import { constants } from "../constants.mjs"; /** * Encode a string diff --git a/lib/models/input.ts b/lib/models/input.mts similarity index 97% rename from lib/models/input.ts rename to lib/models/input.mts index 3f4566f..5d51e00 100644 --- a/lib/models/input.ts +++ b/lib/models/input.mts @@ -1,4 +1,4 @@ -import { Parameter } from "./parameter"; +import { Parameter } from "./parameter.mjs"; import { yellow } from "ansicolor"; export type InputObjectType = { diff --git a/lib/models/package.ts b/lib/models/package.mts similarity index 98% rename from lib/models/package.ts rename to lib/models/package.mts index b2b984e..6a8f302 100644 --- a/lib/models/package.ts +++ b/lib/models/package.mts @@ -2,12 +2,12 @@ import { CoreV1Api, CustomObjectsApi, KubeConfig, V1ConfigMap, V1Secret } from " import { blue, bright, lightCyan, yellow } from "ansicolor"; import { load } from "js-yaml"; import { readFile } from "node:fs/promises"; -import { constants } from "../constants"; -import { K8sApiResponse as K8sApiListResponse } from "../k8s"; -import { Argument } from "./argument"; -import { PackageInfo } from "./info"; -import { Parameter } from "./parameter"; -import { Template } from "./template"; +import { constants } from "../constants.mjs"; +import { K8sApiResponse as K8sApiListResponse } from "../k8s.mjs"; +import { Argument } from "./argument.mjs"; +import { PackageInfo } from "./info.mjs"; +import { Parameter } from "./parameter.mjs"; +import { Template } from "./template.mjs"; const kc = new KubeConfig(); kc.loadFromDefault(); diff --git a/lib/models/parameter.ts b/lib/models/parameter.mts similarity index 100% rename from lib/models/parameter.ts rename to lib/models/parameter.mts diff --git a/lib/models/resource.ts b/lib/models/resource.mts similarity index 91% rename from lib/models/resource.ts rename to lib/models/resource.mts index db3796a..37d5baa 100644 --- a/lib/models/resource.ts +++ b/lib/models/resource.mts @@ -1,6 +1,6 @@ -import { constants } from "../constants"; +import { constants } from "../constants.mjs"; import { compare } from "compare-versions"; -import { GenericK8sSpecType } from "../k8s"; +import { GenericK8sSpecType } from "../k8s.mjs"; export class Resource { resource: GenericK8sSpecType; diff --git a/lib/models/template.ts b/lib/models/template.mts similarity index 96% rename from lib/models/template.ts rename to lib/models/template.mts index b6f05b5..ca57c62 100644 --- a/lib/models/template.ts +++ b/lib/models/template.mts @@ -1,8 +1,8 @@ -import { Input } from "./input"; +import { Input } from "./input.mjs"; import { readFile } from "node:fs/promises"; import { load } from "js-yaml"; import { blue, bright } from "ansicolor"; -import { GenericK8sSpecType } from "../k8s"; +import { GenericK8sSpecType } from "../k8s.mjs"; type TemplateObjectType = { name: string; diff --git a/lib/s3.ts b/lib/s3.mts similarity index 99% rename from lib/s3.ts rename to lib/s3.mts index 163f8c3..d08daa2 100644 --- a/lib/s3.ts +++ b/lib/s3.mts @@ -3,7 +3,7 @@ import { CoreV1Api, KubeConfig } from "@kubernetes/client-node"; import { load } from "js-yaml"; import { readFileSync } from "node:fs"; import { Result } from "npm-package-arg"; -import { walk } from "./utils"; +import { walk } from "./utils.mjs"; export class S3 { configMapName: string; diff --git a/lib/utils.ts b/lib/utils.mts similarity index 96% rename from lib/utils.ts rename to lib/utils.mts index d6efdd0..511503a 100644 --- a/lib/utils.ts +++ b/lib/utils.mts @@ -2,8 +2,8 @@ import { join } from "path"; import { readdir, stat, access } from "node:fs/promises"; import { promisify } from "node:util"; -import rimraf = require("rimraf"); -import { Parameter } from "./models/parameter"; +import rimraf from "rimraf"; +import { Parameter } from "./models/parameter.mjs"; const rimrafPromise = promisify(rimraf); /** diff --git a/package-lock.json b/package-lock.json index 93af5af..357e85f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,21 +18,25 @@ "dotenv": "^16.0.2", "js-yaml": "^4.1.0", "npm-package-arg": "^9.1.0", - "npm-remote-ls": "^1.3.2", "rimraf": "^3.0.2", - "stream-buffers": "^3.0.2", "system-commands": "^1.1.7", - "yargs": "^17.5.1", - "yargs-parser": ">=21.1.1" + "yargs": "^17.5.1" }, "bin": { - "argopm": "bin/install.ts" + "argopm": "dist/install.cjs" }, "devDependencies": { + "@types/jest": "^29.0.3", "@types/js-yaml": "^4.0.5", "@types/node": "^18.7.23", "@types/npm-package-arg": "^6.1.1", "@types/rimraf": "^3.0.2", + "@types/shelljs": "^0.8.11", + "@types/ws": "^8.5.3", + "@types/yargs": "^17.0.13", + "@typescript-eslint/eslint-plugin": "^5.38.1", + "@typescript-eslint/parser": "^5.38.1", + "esbuild": "^0.15.9", "eslint": "^8.24.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-jest": "^27.0.4", @@ -40,7 +44,13 @@ "lint-staged": "^13.0.3", "pre-commit": "^1.2.2", "prettier": "^2.7.1", + "ts-jest": "^29.0.2", + "ts-node": "^10.9.1", "typescript": "^4.8.4" + }, + "peerDependencies": { + "openid-client": "^5.1.10", + "shelljs": "^0.8.5" } }, "node_modules/@ampproject/remapping": { @@ -1850,6 +1860,60 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz", + "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz", + "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", @@ -2438,6 +2502,30 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, "node_modules/@types/babel__core": { "version": "7.1.19", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", @@ -2522,6 +2610,16 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.0.tgz", + "integrity": "sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "node_modules/@types/js-yaml": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", @@ -2568,12 +2666,31 @@ "@types/node": "*" } }, + "node_modules/@types/shelljs": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.11.tgz", + "integrity": "sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw==", + "dev": true, + "dependencies": { + "@types/glob": "*", + "@types/node": "*" + } + }, "node_modules/@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/yargs": { "version": "17.0.13", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", @@ -2589,6 +2706,80 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", + "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/type-utils": "5.38.1", + "@typescript-eslint/utils": "5.38.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", + "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.38.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", @@ -2606,6 +2797,33 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", + "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/utils": "5.38.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/types": { "version": "5.38.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", @@ -2745,6 +2963,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -2840,6 +3067,12 @@ "node": ">= 8" } }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2887,14 +3120,6 @@ "node": ">=8" } }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3080,6 +3305,18 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -3189,11 +3426,6 @@ "node": ">=10" } }, - "node_modules/char-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz", - "integrity": "sha1-5upnvSR+EHESmDt6sEee02KAAIE=" - }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -3297,14 +3529,6 @@ "node": ">= 0.12.0" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -3384,6 +3608,12 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3439,28 +3669,12 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -3493,6 +3707,15 @@ "node": ">=8" } }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "29.0.0", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", @@ -3579,65 +3802,423 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/esbuild": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz", + "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.10", + "@esbuild/linux-loong64": "0.15.10", + "esbuild-android-64": "0.15.10", + "esbuild-android-arm64": "0.15.10", + "esbuild-darwin-64": "0.15.10", + "esbuild-darwin-arm64": "0.15.10", + "esbuild-freebsd-64": "0.15.10", + "esbuild-freebsd-arm64": "0.15.10", + "esbuild-linux-32": "0.15.10", + "esbuild-linux-64": "0.15.10", + "esbuild-linux-arm": "0.15.10", + "esbuild-linux-arm64": "0.15.10", + "esbuild-linux-mips64le": "0.15.10", + "esbuild-linux-ppc64le": "0.15.10", + "esbuild-linux-riscv64": "0.15.10", + "esbuild-linux-s390x": "0.15.10", + "esbuild-netbsd-64": "0.15.10", + "esbuild-openbsd-64": "0.15.10", + "esbuild-sunos-64": "0.15.10", + "esbuild-windows-32": "0.15.10", + "esbuild-windows-64": "0.15.10", + "esbuild-windows-arm64": "0.15.10" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz", + "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/esbuild-android-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz", + "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", - "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "node_modules/esbuild-darwin-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz", + "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.5", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", - "@humanwhocodes/module-importer": "^1.0.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz", + "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz", + "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz", + "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz", + "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz", + "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz", + "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz", + "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz", + "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz", + "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz", + "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz", + "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz", + "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz", + "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz", + "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz", + "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz", + "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz", + "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", @@ -4198,7 +4779,8 @@ "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true }, "node_modules/grapheme-splitter": { "version": "1.0.4", @@ -4370,11 +4952,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -4383,18 +4960,11 @@ "node": ">= 0.10" } }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "node_modules/is-core-module": { "version": "2.8.0", @@ -4474,11 +5044,6 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -5172,7 +5737,6 @@ "version": "4.10.0", "resolved": "https://registry.npmjs.org/jose/-/jose-4.10.0.tgz", "integrity": "sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw==", - "optional": true, "funding": { "url": "https://github.com/sponsors/panva" } @@ -5287,17 +5851,6 @@ "node": ">=6" } }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -5561,32 +6114,6 @@ "node": ">=8" } }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -5602,15 +6129,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -5731,6 +6254,12 @@ "semver": "bin/semver.js" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -5805,11 +6334,6 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, "node_modules/minipass": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", @@ -5868,22 +6392,6 @@ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", "dev": true }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -5921,174 +6429,6 @@ "node": ">=10" } }, - "node_modules/npm-remote-ls": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/npm-remote-ls/-/npm-remote-ls-1.3.2.tgz", - "integrity": "sha1-GT6ZBGoP2EUnnmxha6+RsuXguDA=", - "dependencies": { - "async": "^2.0.0-rc.3", - "char-spinner": "^1.0.1", - "lodash": "^4.10.0", - "npm-package-arg": "^4.2.0", - "once": "^1.3.3", - "registry-url": "^3.0.3", - "request": "^2.37.0", - "semver": "^5.1.0", - "treeify": "^1.0.1", - "yargs": "^4.6.0" - }, - "bin": { - "npm-remote-ls": "bin/npm-remote-ls.js" - } - }, - "node_modules/npm-remote-ls/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-remote-ls/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-remote-ls/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/npm-remote-ls/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "node_modules/npm-remote-ls/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "node_modules/npm-remote-ls/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-remote-ls/node_modules/npm-package-arg": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz", - "integrity": "sha1-WTMD/eqF98Qid18X+et2cPaA4+w=", - "dependencies": { - "hosted-git-info": "^2.1.5", - "semver": "^5.1.0" - } - }, - "node_modules/npm-remote-ls/node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "node_modules/npm-remote-ls/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-remote-ls/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-remote-ls/node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "node_modules/npm-remote-ls/node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/npm-remote-ls/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-remote-ls/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "node_modules/npm-remote-ls/node_modules/yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dependencies": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "node_modules/npm-remote-ls/node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -6100,14 +6440,6 @@ "node": ">=8" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -6120,7 +6452,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "optional": true, "engines": { "node": ">= 6" } @@ -6138,7 +6469,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", - "optional": true, "engines": { "node": "^10.13.0 || >=12.0.0" } @@ -6166,19 +6496,15 @@ } }, "node_modules/openid-client": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.9.tgz", - "integrity": "sha512-o/11Xos2fRPpK1zQrPfSIhIusFrAkqGSPwkD0UlUB+CCuRzd7zrrBJwIjgnVv3VUSif9ZGXh2d3GSJNH2Koh5g==", - "optional": true, + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.10.tgz", + "integrity": "sha512-KYAtkxTuUwTvjAmH0QMFFP3i9l0+XhP2/blct6Q9kn+DUJ/lu8/g/bI8ghSgxz9dJLm/9cpB/1uLVGTcGGY0hw==", "dependencies": { "jose": "^4.1.4", "lru-cache": "^6.0.0", "object-hash": "^2.0.1", "oidc-token-hash": "^5.0.1" }, - "engines": { - "node": "^12.19.0 || ^14.15.0 || ^16.13.0" - }, "funding": { "url": "https://github.com/sponsors/panva" } @@ -6200,17 +6526,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", @@ -6286,17 +6601,6 @@ "node": ">=6" } }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -6371,33 +6675,6 @@ "node": ">=0.10" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", @@ -6672,95 +6949,12 @@ } ] }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -6805,17 +6999,6 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dependencies": { - "rc": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -7044,19 +7227,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7185,34 +7355,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -7527,12 +7669,105 @@ "node": ">=8.0" } }, - "node_modules/treeify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", - "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", + "node_modules/ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, "engines": { - "node": ">=0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.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", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "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 + } } }, "node_modules/tslib": { @@ -7682,6 +7917,12 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "node_modules/v8-to-istanbul": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", @@ -7696,15 +7937,6 @@ "node": ">=10.12.0" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/validate-npm-package-name": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", @@ -7905,6 +8137,15 @@ "node": ">=8" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -9390,6 +9631,41 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@esbuild/android-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz", + "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz", + "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==", + "dev": true, + "optional": true + }, "@eslint/eslintrc": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", @@ -9857,6 +10133,30 @@ "@sinonjs/commons": "^1.7.0" } }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, "@types/babel__core": { "version": "7.1.19", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", @@ -9941,6 +10241,16 @@ "@types/istanbul-lib-report": "*" } }, + "@types/jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.0.tgz", + "integrity": "sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "@types/js-yaml": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", @@ -9987,12 +10297,31 @@ "@types/node": "*" } }, + "@types/shelljs": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.11.tgz", + "integrity": "sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw==", + "dev": true, + "requires": { + "@types/glob": "*", + "@types/node": "*" + } + }, "@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/yargs": { "version": "17.0.13", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", @@ -10008,6 +10337,45 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "@typescript-eslint/eslint-plugin": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", + "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/type-utils": "5.38.1", + "@typescript-eslint/utils": "5.38.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", + "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", + "debug": "^4.3.4" + } + }, "@typescript-eslint/scope-manager": { "version": "5.38.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", @@ -10018,6 +10386,18 @@ "@typescript-eslint/visitor-keys": "5.38.1" } }, + "@typescript-eslint/type-utils": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", + "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/utils": "5.38.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, "@typescript-eslint/types": { "version": "5.38.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", @@ -10105,6 +10485,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -10171,6 +10557,12 @@ "picomatch": "^2.0.4" } }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -10209,14 +10601,6 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -10359,6 +10743,15 @@ "update-browserslist-db": "^1.0.9" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -10436,11 +10829,6 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, - "char-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz", - "integrity": "sha1-5upnvSR+EHESmDt6sEee02KAAIE=" - }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -10521,11 +10909,6 @@ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -10598,6 +10981,12 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -10635,22 +11024,12 @@ "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -10674,6 +11053,12 @@ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, "diff-sequences": { "version": "29.0.0", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", @@ -10739,10 +11124,181 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, + "esbuild": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz", + "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.10", + "@esbuild/linux-loong64": "0.15.10", + "esbuild-android-64": "0.15.10", + "esbuild-android-arm64": "0.15.10", + "esbuild-darwin-64": "0.15.10", + "esbuild-darwin-arm64": "0.15.10", + "esbuild-freebsd-64": "0.15.10", + "esbuild-freebsd-arm64": "0.15.10", + "esbuild-linux-32": "0.15.10", + "esbuild-linux-64": "0.15.10", + "esbuild-linux-arm": "0.15.10", + "esbuild-linux-arm64": "0.15.10", + "esbuild-linux-mips64le": "0.15.10", + "esbuild-linux-ppc64le": "0.15.10", + "esbuild-linux-riscv64": "0.15.10", + "esbuild-linux-s390x": "0.15.10", + "esbuild-netbsd-64": "0.15.10", + "esbuild-openbsd-64": "0.15.10", + "esbuild-sunos-64": "0.15.10", + "esbuild-windows-32": "0.15.10", + "esbuild-windows-64": "0.15.10", + "esbuild-windows-arm64": "0.15.10" + } + }, + "esbuild-android-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz", + "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz", + "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz", + "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz", + "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz", + "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz", + "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz", + "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz", + "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz", + "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz", + "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz", + "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz", + "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz", + "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz", + "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz", + "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz", + "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz", + "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz", + "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz", + "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz", + "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==", + "dev": true, + "optional": true + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -11172,7 +11728,8 @@ "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true }, "grapheme-splitter": { "version": "1.0.4", @@ -11296,25 +11853,16 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, "interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-core-module": { "version": "2.8.0", @@ -11367,11 +11915,6 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -11909,8 +12452,7 @@ "jose": { "version": "4.10.0", "resolved": "https://registry.npmjs.org/jose/-/jose-4.10.0.tgz", - "integrity": "sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw==", - "optional": true + "integrity": "sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw==" }, "js-sdsl": { "version": "4.1.4", @@ -11998,14 +12540,6 @@ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "^1.0.0" - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -12184,28 +12718,6 @@ } } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -12215,15 +12727,11 @@ "p-locate": "^5.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true }, "lodash.merge": { "version": "4.6.2", @@ -12315,6 +12823,12 @@ } } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -12371,11 +12885,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, "minipass": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", @@ -12422,24 +12931,6 @@ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", "dev": true }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - } - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -12467,149 +12958,6 @@ } } }, - "npm-remote-ls": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/npm-remote-ls/-/npm-remote-ls-1.3.2.tgz", - "integrity": "sha1-GT6ZBGoP2EUnnmxha6+RsuXguDA=", - "requires": { - "async": "^2.0.0-rc.3", - "char-spinner": "^1.0.1", - "lodash": "^4.10.0", - "npm-package-arg": "^4.2.0", - "once": "^1.3.3", - "registry-url": "^3.0.3", - "request": "^2.37.0", - "semver": "^5.1.0", - "treeify": "^1.0.1", - "yargs": "^4.6.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "npm-package-arg": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz", - "integrity": "sha1-WTMD/eqF98Qid18X+et2cPaA4+w=", - "requires": { - "hosted-git-info": "^2.1.5", - "semver": "^5.1.0" - } - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - } - } - }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -12618,11 +12966,6 @@ "path-key": "^3.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -12631,8 +12974,7 @@ "object-hash": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "optional": true + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" }, "object-inspect": { "version": "1.12.2", @@ -12643,8 +12985,7 @@ "oidc-token-hash": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", - "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", - "optional": true + "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==" }, "once": { "version": "1.4.0", @@ -12663,10 +13004,9 @@ } }, "openid-client": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.9.tgz", - "integrity": "sha512-o/11Xos2fRPpK1zQrPfSIhIusFrAkqGSPwkD0UlUB+CCuRzd7zrrBJwIjgnVv3VUSif9ZGXh2d3GSJNH2Koh5g==", - "optional": true, + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.10.tgz", + "integrity": "sha512-KYAtkxTuUwTvjAmH0QMFFP3i9l0+XhP2/blct6Q9kn+DUJ/lu8/g/bI8ghSgxz9dJLm/9cpB/1uLVGTcGGY0hw==", "requires": { "jose": "^4.1.4", "lru-cache": "^6.0.0", @@ -12688,14 +13028,6 @@ "word-wrap": "^1.2.3" } }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "^1.0.0" - } - }, "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", @@ -12744,14 +13076,6 @@ "callsites": "^3.0.0" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -12802,24 +13126,6 @@ "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, "pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", @@ -13022,80 +13328,12 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - } - } - }, "react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "dependencies": { - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -13133,14 +13371,6 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "requires": { - "rc": "^1.0.1" - } - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -13300,16 +13530,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -13408,34 +13628,6 @@ } } }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -13673,10 +13865,53 @@ "is-number": "^7.0.0" } }, - "treeify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", - "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==" + "ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.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", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } }, "tslib": { "version": "2.3.1", @@ -13780,6 +14015,12 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "v8-to-istanbul": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", @@ -13791,15 +14032,6 @@ "convert-source-map": "^1.6.0" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "validate-npm-package-name": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", @@ -13950,6 +14182,12 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 98f9988..2831347 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,10 @@ "name": "argopm", "version": "1.0.0", "description": "Argo package manager", - "main": "./lib/index.ts", + "main": "./bin/index.ts", + "type": "module", "scripts": { - "build": "esbuild ./bin/install.ts --bundle --platform=node --outfile=./dist/install.js", + "build": "esbuild ./bin/install.mts --bundle --platform=node --format=cjs --outfile=./dist/argopm.cjs --external:shelljs && sed -i.bak 's,/bin/env -S npx ts-node --esm,/bin/env node,g' ./dist/argopm.cjs && cp -r ./lib/static/ ./dist/static/", "test": "jest --detectOpenHandles", "prettier": "prettier --write .", "eslint": "eslint --fix .", @@ -23,9 +24,9 @@ "js-yaml": "^4.1.0", "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", + "shelljs": "^0.8.5", "system-commands": "^1.1.7", - "yargs": "^17.5.1", - "yargs-parser": ">=21.1.1" + "yargs": "^17.5.1" }, "devDependencies": { "@types/jest": "^29.0.3", @@ -33,6 +34,8 @@ "@types/node": "^18.7.23", "@types/npm-package-arg": "^6.1.1", "@types/rimraf": "^3.0.2", + "@types/shelljs": "^0.8.11", + "@types/ws": "^8.5.3", "@types/yargs": "^17.0.13", "@typescript-eslint/eslint-plugin": "^5.38.1", "@typescript-eslint/parser": "^5.38.1", @@ -44,6 +47,7 @@ "lint-staged": "^13.0.3", "pre-commit": "^1.2.2", "prettier": "^2.7.1", + "shx": "^0.3.4", "ts-jest": "^29.0.2", "ts-node": "^10.9.1", "typescript": "^4.8.4" @@ -57,8 +61,16 @@ "pre-commit": [ "lint-staged" ], + "jest": { + "verbose": true, + "preset": "ts-jest", + "testEnvironment": "node" + }, "bin": { - "argopm": "./bin/install.ts" + "argopm": "./dist/install.cjs" }, - "preferGlobal": true + "preferGlobal": true, + "peerDependencies": { + "openid-client": "^5.1.10" + } } diff --git a/tests/base.test.ts b/tests/base.test.ts index 0255573..0fea290 100644 --- a/tests/base.test.ts +++ b/tests/base.test.ts @@ -1,4 +1,4 @@ -import { install } from "../lib/install"; +import { install } from "../lib/install.mjs"; import { MOCK_PACKAGE_PATH, REGISTRY } from "./test-utils"; describe("simulate package install", () => { diff --git a/tsconfig.json b/tsconfig.json index 7e33b04..9ac6fd4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,16 +1,14 @@ { "compilerOptions": { - "outDir": "./dist", - "module": "commonjs", + "rootDirs": ["./bin/", "./lib/"], + "outDir": "./dist/", + "module": "ES2022", "target": "esnext", "allowJs": true, "esModuleInterop": true, - "moduleResolution": "Node" + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true }, - "ts-node": { - "compilerOptions": { - "module": "CommonJS" - } - }, - "include": ["./lib/**/*", "./bin/**/*"] + "include": ["./lib/**/*", "./bin/**/*"], + "exclude": ["./lib/static/*"] } diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 4b4b882..0000000 --- a/yarn.lock +++ /dev/null @@ -1,4925 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@aws-crypto/crc32@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-2.0.0.tgz#4ad432a3c03ec3087c5540ff6e41e6565d2dc153" - integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== - dependencies: - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/crc32c@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz#4235336ef78f169f6a05248906703b9b78da676e" - integrity sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg== - dependencies: - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/ie11-detection@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz#9c39f4a5558196636031a933ec1b4792de959d6a" - integrity sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw== - dependencies: - tslib "^1.11.1" - -"@aws-crypto/sha1-browser@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz#71e735df20ea1d38f59259c4b1a2e00ca74a0eea" - integrity sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA== - dependencies: - "@aws-crypto/ie11-detection" "^2.0.0" - "@aws-crypto/supports-web-crypto" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-browser@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz#741c9024df55ec59b51e5b1f5d806a4852699fb5" - integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== - dependencies: - "@aws-crypto/ie11-detection" "^2.0.0" - "@aws-crypto/sha256-js" "^2.0.0" - "@aws-crypto/supports-web-crypto" "^2.0.0" - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-js@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz#f1f936039bdebd0b9e2dd834d65afdc2aac4efcb" - integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== - dependencies: - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-js@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.2.tgz#c81e5d378b8a74ff1671b58632779986e50f4c99" - integrity sha512-iXLdKH19qPmIC73fVCrHWCSYjN/sxaAvZ3jNNyw6FclmHyjLKg0f69WlC9KTnyElxCR5MO9SKaG00VwlJwyAkQ== - dependencies: - "@aws-crypto/util" "^2.0.2" - "@aws-sdk/types" "^3.110.0" - tslib "^1.11.1" - -"@aws-crypto/supports-web-crypto@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz#9f02aafad8789cac9c0ab5faaebb1ab8aa841338" - integrity sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ== - dependencies: - tslib "^1.11.1" - -"@aws-crypto/util@^2.0.0", "@aws-crypto/util@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-2.0.2.tgz#adf5ff5dfbc7713082f897f1d01e551ce0edb9c0" - integrity sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA== - dependencies: - "@aws-sdk/types" "^3.110.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" - -"@aws-sdk/abort-controller@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz#fd189d62a689add822c3f40b2827f887639f015c" - integrity sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/chunked-blob-reader-native@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz#a277f4aec88246c6de69d4f15e5fd5e262f0ac6b" - integrity sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w== - dependencies: - "@aws-sdk/util-base64-browser" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/chunked-blob-reader@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz#059fd50c8ed7ddc9219f483258ec3a0cab6ca699" - integrity sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/client-s3@^3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz#ceda4d11ce22279faba178e541e9ed45bdea3aad" - integrity sha512-0YuIHk0dNvROz3IVNt3BHRPMhmd4jKnL84nXFomBViU7L7S09Pu8EjnZOTxjsiI2aAndj42kRqZOl5NjAaoTvQ== - dependencies: - "@aws-crypto/sha1-browser" "2.0.0" - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/client-sts" "3.180.0" - "@aws-sdk/config-resolver" "3.178.0" - "@aws-sdk/credential-provider-node" "3.180.0" - "@aws-sdk/eventstream-serde-browser" "3.178.0" - "@aws-sdk/eventstream-serde-config-resolver" "3.178.0" - "@aws-sdk/eventstream-serde-node" "3.178.0" - "@aws-sdk/fetch-http-handler" "3.178.0" - "@aws-sdk/hash-blob-browser" "3.178.0" - "@aws-sdk/hash-node" "3.178.0" - "@aws-sdk/hash-stream-node" "3.178.0" - "@aws-sdk/invalid-dependency" "3.178.0" - "@aws-sdk/md5-js" "3.178.0" - "@aws-sdk/middleware-bucket-endpoint" "3.178.0" - "@aws-sdk/middleware-content-length" "3.178.0" - "@aws-sdk/middleware-expect-continue" "3.178.0" - "@aws-sdk/middleware-flexible-checksums" "3.178.0" - "@aws-sdk/middleware-host-header" "3.178.0" - "@aws-sdk/middleware-location-constraint" "3.178.0" - "@aws-sdk/middleware-logger" "3.178.0" - "@aws-sdk/middleware-recursion-detection" "3.178.0" - "@aws-sdk/middleware-retry" "3.178.0" - "@aws-sdk/middleware-sdk-s3" "3.178.0" - "@aws-sdk/middleware-serde" "3.178.0" - "@aws-sdk/middleware-signing" "3.179.0" - "@aws-sdk/middleware-ssec" "3.178.0" - "@aws-sdk/middleware-stack" "3.178.0" - "@aws-sdk/middleware-user-agent" "3.178.0" - "@aws-sdk/node-config-provider" "3.178.0" - "@aws-sdk/node-http-handler" "3.178.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/signature-v4-multi-region" "3.180.0" - "@aws-sdk/smithy-client" "3.180.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/url-parser" "3.178.0" - "@aws-sdk/util-base64-browser" "3.170.0" - "@aws-sdk/util-base64-node" "3.170.0" - "@aws-sdk/util-body-length-browser" "3.170.0" - "@aws-sdk/util-body-length-node" "3.170.0" - "@aws-sdk/util-defaults-mode-browser" "3.180.0" - "@aws-sdk/util-defaults-mode-node" "3.180.0" - "@aws-sdk/util-stream-browser" "3.178.0" - "@aws-sdk/util-stream-node" "3.178.0" - "@aws-sdk/util-user-agent-browser" "3.178.0" - "@aws-sdk/util-user-agent-node" "3.178.0" - "@aws-sdk/util-utf8-browser" "3.170.0" - "@aws-sdk/util-utf8-node" "3.170.0" - "@aws-sdk/util-waiter" "3.180.0" - "@aws-sdk/xml-builder" "3.170.0" - entities "2.2.0" - fast-xml-parser "3.19.0" - tslib "^2.3.1" - -"@aws-sdk/client-sso@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz#b154ca4a815e4e2e75fffa31a9b5f88d3c58533f" - integrity sha512-wwhGa+Jksc4NE+4MZVv0Jkvt1C10/Gd5NATiv+hjcCY7DdxQ31UsbUrbZ38tBK8XX+vqFlcrP1AsoXNvrjBBVw== - dependencies: - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/config-resolver" "3.178.0" - "@aws-sdk/fetch-http-handler" "3.178.0" - "@aws-sdk/hash-node" "3.178.0" - "@aws-sdk/invalid-dependency" "3.178.0" - "@aws-sdk/middleware-content-length" "3.178.0" - "@aws-sdk/middleware-host-header" "3.178.0" - "@aws-sdk/middleware-logger" "3.178.0" - "@aws-sdk/middleware-recursion-detection" "3.178.0" - "@aws-sdk/middleware-retry" "3.178.0" - "@aws-sdk/middleware-serde" "3.178.0" - "@aws-sdk/middleware-stack" "3.178.0" - "@aws-sdk/middleware-user-agent" "3.178.0" - "@aws-sdk/node-config-provider" "3.178.0" - "@aws-sdk/node-http-handler" "3.178.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/smithy-client" "3.180.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/url-parser" "3.178.0" - "@aws-sdk/util-base64-browser" "3.170.0" - "@aws-sdk/util-base64-node" "3.170.0" - "@aws-sdk/util-body-length-browser" "3.170.0" - "@aws-sdk/util-body-length-node" "3.170.0" - "@aws-sdk/util-defaults-mode-browser" "3.180.0" - "@aws-sdk/util-defaults-mode-node" "3.180.0" - "@aws-sdk/util-user-agent-browser" "3.178.0" - "@aws-sdk/util-user-agent-node" "3.178.0" - "@aws-sdk/util-utf8-browser" "3.170.0" - "@aws-sdk/util-utf8-node" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/client-sts@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz#a804eceab7e706db7d44b0920aede2e9d27d23f8" - integrity sha512-QSgbYPrZ1QZTaxV3fwziVPvctwaAjdTMxA4VSMDh2yTFPIDmA8IMi8doEAcRaJeUK5n9UR8O3oWOs+wAs9Mkpw== - dependencies: - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/config-resolver" "3.178.0" - "@aws-sdk/credential-provider-node" "3.180.0" - "@aws-sdk/fetch-http-handler" "3.178.0" - "@aws-sdk/hash-node" "3.178.0" - "@aws-sdk/invalid-dependency" "3.178.0" - "@aws-sdk/middleware-content-length" "3.178.0" - "@aws-sdk/middleware-host-header" "3.178.0" - "@aws-sdk/middleware-logger" "3.178.0" - "@aws-sdk/middleware-recursion-detection" "3.178.0" - "@aws-sdk/middleware-retry" "3.178.0" - "@aws-sdk/middleware-sdk-sts" "3.179.0" - "@aws-sdk/middleware-serde" "3.178.0" - "@aws-sdk/middleware-signing" "3.179.0" - "@aws-sdk/middleware-stack" "3.178.0" - "@aws-sdk/middleware-user-agent" "3.178.0" - "@aws-sdk/node-config-provider" "3.178.0" - "@aws-sdk/node-http-handler" "3.178.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/smithy-client" "3.180.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/url-parser" "3.178.0" - "@aws-sdk/util-base64-browser" "3.170.0" - "@aws-sdk/util-base64-node" "3.170.0" - "@aws-sdk/util-body-length-browser" "3.170.0" - "@aws-sdk/util-body-length-node" "3.170.0" - "@aws-sdk/util-defaults-mode-browser" "3.180.0" - "@aws-sdk/util-defaults-mode-node" "3.180.0" - "@aws-sdk/util-user-agent-browser" "3.178.0" - "@aws-sdk/util-user-agent-node" "3.178.0" - "@aws-sdk/util-utf8-browser" "3.170.0" - "@aws-sdk/util-utf8-node" "3.170.0" - entities "2.2.0" - fast-xml-parser "3.19.0" - tslib "^2.3.1" - -"@aws-sdk/config-resolver@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz#83a66f79bc1c25450b0ab4dffe48288dfb3df3bb" - integrity sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w== - dependencies: - "@aws-sdk/signature-v4" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-config-provider" "3.170.0" - "@aws-sdk/util-middleware" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-env@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz#0f497bb9924eef70b070bc9c6acb0a7c55d6114d" - integrity sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w== - dependencies: - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-imds@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz#e1ecb0df813e4f6c25deaa9e8266682ede6fdb8e" - integrity sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA== - dependencies: - "@aws-sdk/node-config-provider" "3.178.0" - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/url-parser" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-ini@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz#da1931bc6f989a7b2bd4dbe531fea69c1048f5b0" - integrity sha512-P4fqj0WRHoQ/eGhym/QJNl3AndDN9vyOuDSIyOWLky+ngy/pGznZyzQzhyq7Cju0mgnBeFDac6Evq0aHax1iOA== - dependencies: - "@aws-sdk/credential-provider-env" "3.178.0" - "@aws-sdk/credential-provider-imds" "3.178.0" - "@aws-sdk/credential-provider-sso" "3.180.0" - "@aws-sdk/credential-provider-web-identity" "3.178.0" - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/shared-ini-file-loader" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-node@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz#d77f448850ce24128ebae2311ebd689eac66c5a7" - integrity sha512-M3vevtIcTAlROJEJo2WIVDVrL077vh1j3w0b5IwizCvcpHBiZ+2agWcFVR/NfCvFbdYjZd49otGnbCUMHWiRcA== - dependencies: - "@aws-sdk/credential-provider-env" "3.178.0" - "@aws-sdk/credential-provider-imds" "3.178.0" - "@aws-sdk/credential-provider-ini" "3.180.0" - "@aws-sdk/credential-provider-process" "3.178.0" - "@aws-sdk/credential-provider-sso" "3.180.0" - "@aws-sdk/credential-provider-web-identity" "3.178.0" - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/shared-ini-file-loader" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-process@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz#60fe3de1fb142cce563cdf1a582c9b7c670dfe5a" - integrity sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw== - dependencies: - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/shared-ini-file-loader" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-sso@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz#71d443e0012dd437483581cceaf321332b505933" - integrity sha512-hv8qME1ISd6GN+YCa0WK73xL6p2Sx0JiSRTzgb5bvGcdxVGLzvIlFd0VAtVhP7d84Prf6EeGz0+sGEEYRusw2w== - dependencies: - "@aws-sdk/client-sso" "3.180.0" - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/shared-ini-file-loader" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-web-identity@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz#5cb626980777a45496c478c6730d73a37de04396" - integrity sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ== - dependencies: - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-codec@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz#bcda3cd121625bd3cb09933af4ddeb816fb1162a" - integrity sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA== - dependencies: - "@aws-crypto/crc32" "2.0.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-hex-encoding" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-browser@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz#b38638cbc65eee48d4dabdd8c24ac6017561d1c5" - integrity sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw== - dependencies: - "@aws-sdk/eventstream-serde-universal" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-config-resolver@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz#24f683ab3e8839dd45906f9cd462e18f0cb38840" - integrity sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-node@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz#2cd1ece8523a8adefa5548d96e6de4eae146c70e" - integrity sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ== - dependencies: - "@aws-sdk/eventstream-serde-universal" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-universal@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz#71887fa3c784cbd895d52d8a43b68f12c669abf5" - integrity sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw== - dependencies: - "@aws-sdk/eventstream-codec" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/fetch-http-handler@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz#1d6489041d7334de4f924b24c909647b3c0b6d5f" - integrity sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/querystring-builder" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-base64-browser" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/hash-blob-browser@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz#573f4ef6ce4cc824e15beda4986dca26bd137275" - integrity sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ== - dependencies: - "@aws-sdk/chunked-blob-reader" "3.170.0" - "@aws-sdk/chunked-blob-reader-native" "3.170.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/hash-node@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz#140b716e40bbcb30aae16a6446b6c79e61e200ab" - integrity sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q== - dependencies: - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-buffer-from" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/hash-stream-node@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz#c14058ca153aed0877bc425fffd430b12e012365" - integrity sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/invalid-dependency@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz#0e4a4793a912bf67e0c484da666d2e047357cde2" - integrity sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/is-array-buffer@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz#a34b82b0d7c534544db001837785ed086d99344c" - integrity sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/md5-js@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz#b3bdc6099361fa2d9f5838a442cc9cb4d08d3abc" - integrity sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw== - dependencies: - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-utf8-browser" "3.170.0" - "@aws-sdk/util-utf8-node" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-bucket-endpoint@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz#0d10257138387201a10b963a0f01f5f309ba87a2" - integrity sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-arn-parser" "3.170.0" - "@aws-sdk/util-config-provider" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-content-length@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz#53ed59ff542b86e7cfe1223572fb68e5223db6f0" - integrity sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-expect-continue@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz#7e6f927badb4f909b3edf9d298be405563c5fd0b" - integrity sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-flexible-checksums@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz#be52f7d364860e144b0a8875672d582c0e751259" - integrity sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A== - dependencies: - "@aws-crypto/crc32" "2.0.0" - "@aws-crypto/crc32c" "2.0.0" - "@aws-sdk/is-array-buffer" "3.170.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-host-header@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz#1482cbbb7b83145b659f3504b83b998e26a2bbcc" - integrity sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-location-constraint@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz#81792cd114b8dc538124b62ebff3cce564e8b538" - integrity sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-logger@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz#c8547ba355d96cd942efcfb8cdcdae1211bbb861" - integrity sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-recursion-detection@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz#6c43015ea8a618f1c0ededcb9af17c53329578a2" - integrity sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-retry@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz#e787a93185ca72a346db93624da4f8d03f5f8f8b" - integrity sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/service-error-classification" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-middleware" "3.178.0" - tslib "^2.3.1" - uuid "^8.3.2" - -"@aws-sdk/middleware-sdk-s3@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz#b692c76926e623f91bbe73df478255690120107a" - integrity sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w== - dependencies: - "@aws-sdk/middleware-bucket-endpoint" "3.178.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-arn-parser" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-sdk-sts@3.179.0": - version "3.179.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz#9460fabca9657303bbc65e6dd57dad41136ec0d9" - integrity sha512-uU9UdG9ornvblXdLLNsZNpgMOA9vgFMB93zo3DL/Q6MPmYprZYyK7dUiA06i1pe4HP2gR3N3hxXwzmKU6Bjt6A== - dependencies: - "@aws-sdk/middleware-signing" "3.179.0" - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/signature-v4" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-serde@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz#09bfdcf83782381078523db549734be837a087bc" - integrity sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-signing@3.179.0": - version "3.179.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz#ff4e1ebdabe00fcd1105ece645ab13201addb0d2" - integrity sha512-rtB6t3w1Km3ngO1yoiEUqsobujcBk36oPs2fTUKTbmuTr+54YH3NF0zAwVJv08lpfAs56holtp+bYyAxZJIxSQ== - dependencies: - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/signature-v4" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-middleware" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-ssec@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz#fdc1943fe3b813e8399ec7ce087bb69cb85a71cc" - integrity sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-stack@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz#42e92ef9aaa3c1fdaca159ac6c24c37629dd4aee" - integrity sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/middleware-user-agent@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz#f212079c2691d27df665b6a88532cee1dc3a4f2d" - integrity sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/node-config-provider@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz#4b709f3c23a88c96eaf4e9941f501b149131693a" - integrity sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ== - dependencies: - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/shared-ini-file-loader" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/node-http-handler@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz#5b68f09b3b23f0c4cafd175b0013560050bcd90a" - integrity sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ== - dependencies: - "@aws-sdk/abort-controller" "3.178.0" - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/querystring-builder" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/property-provider@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz#5d322cc52b866c4d03469163a57d2fd2fe16271f" - integrity sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/protocol-http@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz#e6582feaab8cfbd6a278eb628e9d01f25ba2c631" - integrity sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/querystring-builder@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz#1d096111321e46a5eaa4ac1de56030d3e3c6de9e" - integrity sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g== - dependencies: - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-uri-escape" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/querystring-parser@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz#8a608fbb65b31ffd14d4d25b0851b0d5368d12a6" - integrity sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ== - dependencies: - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/service-error-classification@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz#a0887bd30e07fe5a0328c0b993a74bf55d8e7396" - integrity sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw== - -"@aws-sdk/shared-ini-file-loader@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz#cd8f2bff7faf4111134ecbf76a8c3a2b395dcfc9" - integrity sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/signature-v4-multi-region@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz#b51aba230a7a1d5940e296c39ee7a495b0097a8e" - integrity sha512-3IjwOy/x6UroV3TAbeCwpCRmt/8TW89JI1r8gtDbpQ42WiQ/1J+R5a78NP8bYa53kiDghW6pKlvLcbuoh3zWHQ== - dependencies: - "@aws-sdk/protocol-http" "3.178.0" - "@aws-sdk/signature-v4" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-arn-parser" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/signature-v4@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz#02f874021725c328a7b044cd71af118fba7d6b11" - integrity sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ== - dependencies: - "@aws-sdk/is-array-buffer" "3.170.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-hex-encoding" "3.170.0" - "@aws-sdk/util-middleware" "3.178.0" - "@aws-sdk/util-uri-escape" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/smithy-client@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz#03953e5d4f0dc3607d422021550126f5a32c2423" - integrity sha512-1vWafiUdn6RvOsD4CyNjMeDtDujuPi4Iq4Db6HrFmVPpJAutOLlCg52Dt7k96KCcIKgxVAs6Br0Waef+pcoGNA== - dependencies: - "@aws-sdk/middleware-stack" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/types@3.178.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.110.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.178.0.tgz#2b79d705be218f8c9b5829ec71284549c37733be" - integrity sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ== - -"@aws-sdk/url-parser@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz#aee06f73313154d9d0e34e16a974a6d35bbf7d93" - integrity sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ== - dependencies: - "@aws-sdk/querystring-parser" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/util-arn-parser@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz#42587a958fd892ae51a447606e34ab5614bcb616" - integrity sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-base64-browser@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz#3352aeb2891f650fa0eda75d8be38ebdc6f98b43" - integrity sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-base64-node@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz#434f719d467e04f553f3dc8991aec40483078607" - integrity sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w== - dependencies: - "@aws-sdk/util-buffer-from" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/util-body-length-browser@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz#4f88ad2493e7088a8b22972d4ff512a64f02fc7b" - integrity sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-body-length-node@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz#ef69fc0895338c2b15b5b4c9b201e72d4232cba1" - integrity sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-buffer-from@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz#efa9e74cd6fda5d711a99dc8a6f288afabe3b9fe" - integrity sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ== - dependencies: - "@aws-sdk/is-array-buffer" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/util-config-provider@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz#85ad4dfa8102fe44b737c0aee23e63ae37ff9022" - integrity sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-defaults-mode-browser@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz#7705fece381857e4f867ed9f168da92aea78d4e6" - integrity sha512-XGq/RUuhqnLlApETBmBWDszNG4TR3FCOSNwFvok1UIPgFXxjh0JOzNc5mAX1St2hfx1IDb9Ja4BmTkYKix7byg== - dependencies: - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/types" "3.178.0" - bowser "^2.11.0" - tslib "^2.3.1" - -"@aws-sdk/util-defaults-mode-node@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz#dd3d9528daa91b80ba877a09c1602c7230b3a5d5" - integrity sha512-ch9VR4OKYGEaNbLhX/EyZDpNZst5T+/VYsFyqMA47J0YyMbg7GWyn2FjjhZ7qOV3XU6W8YEBNdd7U/LFFVp8uA== - dependencies: - "@aws-sdk/config-resolver" "3.178.0" - "@aws-sdk/credential-provider-imds" "3.178.0" - "@aws-sdk/node-config-provider" "3.178.0" - "@aws-sdk/property-provider" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/util-hex-encoding@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz#e81f0fd8c951e0da7ada8d3148ead9b15c57f2f8" - integrity sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-locate-window@^3.0.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.170.0.tgz#acc8717abe1e568de41d9b8ede33a49c6c1e108d" - integrity sha512-uQvn3ZaAokWcNSY+tNR71RGXPPncv5ejrpGa/MGOCioeBjkU5n5OJp7BdaTGouZu4fffeVpdZJ/ZNld8LWMgLw== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-middleware@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz#c628d6df8f5f1bc9391c07621d899213e41c8207" - integrity sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-stream-browser@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz#a659b9b5af9efc936edd039cb8e6f8e639eb5665" - integrity sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg== - dependencies: - "@aws-sdk/fetch-http-handler" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-base64-browser" "3.170.0" - "@aws-sdk/util-hex-encoding" "3.170.0" - "@aws-sdk/util-utf8-browser" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/util-stream-node@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz#a49f0c1332f446ed7b0b57a63908c294670544b7" - integrity sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA== - dependencies: - "@aws-sdk/node-http-handler" "3.178.0" - "@aws-sdk/types" "3.178.0" - "@aws-sdk/util-buffer-from" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/util-uri-escape@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz#1121fb47a59dab0f732b881742e9871c3690367c" - integrity sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-user-agent-browser@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz#c9e02d4cb7edee51cfdc36179036b01120e1b0c1" - integrity sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug== - dependencies: - "@aws-sdk/types" "3.178.0" - bowser "^2.11.0" - tslib "^2.3.1" - -"@aws-sdk/util-user-agent-node@3.178.0": - version "3.178.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz#45c4c90550bdf66092682abfea36a68504b1e433" - integrity sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw== - dependencies: - "@aws-sdk/node-config-provider" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/util-utf8-browser@3.170.0", "@aws-sdk/util-utf8-browser@^3.0.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz#3fcea278e7a6fca4fef3d562300a3eea9a2f244f" - integrity sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-utf8-node@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz#8f46d05bc887a7a8e3372a25e0f46035290a9aad" - integrity sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg== - dependencies: - "@aws-sdk/util-buffer-from" "3.170.0" - tslib "^2.3.1" - -"@aws-sdk/util-waiter@3.180.0": - version "3.180.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz#79def96db5b960ae99518cf3cfc05318a7a7686c" - integrity sha512-fDBGplYp6pIIfrB7073tUhU4zppRaSiPjBCCT00yth9woWwZPUCIg7iQZKEqkBmvCzcJSYn0jRopLhf3Y7i5Wg== - dependencies: - "@aws-sdk/abort-controller" "3.178.0" - "@aws-sdk/types" "3.178.0" - tslib "^2.3.1" - -"@aws-sdk/xml-builder@3.170.0": - version "3.170.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz#bee57bd55db4003bbd09ca3d2fa7a001b24ed21c" - integrity sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g== - dependencies: - tslib "^2.3.1" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" - integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" - integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.3" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.3" - "@babel/types" "^7.19.3" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@^7.19.3", "@babel/generator@^7.7.2": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" - integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== - dependencies: - "@babel/types" "^7.19.3" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" - integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== - dependencies: - "@babel/compat-data" "^7.19.3" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== - -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helpers@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" - integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" - integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/template@^7.18.10", "@babel/template@^7.3.3": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.3", "@babel/traverse@^7.7.2": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" - integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.3" - "@babel/types" "^7.19.3" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" - integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@esbuild/android-arm@0.15.9": - version "0.15.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431" - integrity sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ== - -"@esbuild/linux-loong64@0.15.9": - version "0.15.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz#b658a97babf1f40783354af7039b84c3fdfc3fc3" - integrity sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA== - -"@eslint/eslintrc@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" - integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.10.5": - version "0.10.6" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.6.tgz#70b53559baf544dc2cc5eea6082bf90467ccb1dc" - integrity sha512-U/piU+VwXZsIgwnl+N+nRK12jCpHdc3s0UAc6zc1+HUgiESJxClpvYao/x9JwaN7onNeVb7kTlxlAvuEoaJ3ig== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - 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" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.1.0.tgz#3b8e9e86aef28af15fcadfd8df7321ed1327c3e7" - integrity sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw== - dependencies: - "@jest/types" "^29.1.0" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.1.0" - jest-util "^29.1.0" - slash "^3.0.0" - -"@jest/core@^29.1.1": - version "29.1.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.1.1.tgz#a7e5f86dd29fa9da1ca84752237735dc7bcda3d8" - integrity sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A== - dependencies: - "@jest/console" "^29.1.0" - "@jest/reporters" "^29.1.0" - "@jest/test-result" "^29.1.0" - "@jest/transform" "^29.1.0" - "@jest/types" "^29.1.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.0.0" - jest-config "^29.1.1" - jest-haste-map "^29.1.0" - jest-message-util "^29.1.0" - jest-regex-util "^29.0.0" - jest-resolve "^29.1.0" - jest-resolve-dependencies "^29.1.1" - jest-runner "^29.1.1" - jest-runtime "^29.1.1" - jest-snapshot "^29.1.0" - jest-util "^29.1.0" - jest-validate "^29.1.0" - jest-watcher "^29.1.0" - micromatch "^4.0.4" - pretty-format "^29.1.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.1.1": - version "29.1.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.1.1.tgz#afeb66563d8d366a329908087b6697c3bfaed3cb" - integrity sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ== - dependencies: - "@jest/fake-timers" "^29.1.1" - "@jest/types" "^29.1.0" - "@types/node" "*" - jest-mock "^29.1.1" - -"@jest/expect-utils@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.1.0.tgz#598cc7fea83b1bf84249b3b98683575cee888894" - integrity sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA== - dependencies: - jest-get-type "^29.0.0" - -"@jest/expect@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.1.0.tgz#58956d38c22f42a2ec7ecf7adb9e0ddd9a9082a3" - integrity sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw== - dependencies: - expect "^29.1.0" - jest-snapshot "^29.1.0" - -"@jest/fake-timers@^29.1.1": - version "29.1.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.1.1.tgz#ae345e5ca51e9f72e0d861e17c65d9cb558f407b" - integrity sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g== - dependencies: - "@jest/types" "^29.1.0" - "@sinonjs/fake-timers" "^9.1.2" - "@types/node" "*" - jest-message-util "^29.1.0" - jest-mock "^29.1.1" - jest-util "^29.1.0" - -"@jest/globals@^29.1.1": - version "29.1.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.1.1.tgz#017cffa0e79b35e7197b229d852c9ad35ed4be5c" - integrity sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q== - dependencies: - "@jest/environment" "^29.1.1" - "@jest/expect" "^29.1.0" - "@jest/types" "^29.1.0" - jest-mock "^29.1.1" - -"@jest/reporters@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.1.0.tgz#da488ddfb39a4cfb86abdc29fd94f84031acfd02" - integrity sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.1.0" - "@jest/test-result" "^29.1.0" - "@jest/transform" "^29.1.0" - "@jest/types" "^29.1.0" - "@jridgewell/trace-mapping" "^0.3.15" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.1.0" - jest-util "^29.1.0" - jest-worker "^29.1.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - terminal-link "^2.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.0.0.tgz#f8d1518298089f8ae624e442bbb6eb870ee7783c" - integrity sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ== - dependencies: - "@jridgewell/trace-mapping" "^0.3.15" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.1.0.tgz#da6b0062325a780c9e3c7262b6b89da57fba2dca" - integrity sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g== - dependencies: - "@jest/console" "^29.1.0" - "@jest/types" "^29.1.0" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz#d3d34497e860a44f3f80e94958651f58d3ce64f8" - integrity sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA== - dependencies: - "@jest/test-result" "^29.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.1.0" - slash "^3.0.0" - -"@jest/transform@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.1.0.tgz#1b3e597681362f6164e786e6bc2826c34ecbf74f" - integrity sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.1.0" - "@jridgewell/trace-mapping" "^0.3.15" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.1.0" - jest-regex-util "^29.0.0" - jest-util "^29.1.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.1" - -"@jest/types@^29.1.0": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.1.0.tgz#db23d727ce0a95500749551d8724fb3526d1e903" - integrity sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@kubernetes/client-node@^0.17.1": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@kubernetes/client-node/-/client-node-0.17.1.tgz#a5740712848d77823e7d0eee70229936398b4142" - integrity sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ== - dependencies: - byline "^5.0.0" - execa "5.0.0" - isomorphic-ws "^4.0.1" - js-yaml "^4.1.0" - jsonpath-plus "^0.19.0" - request "^2.88.0" - rfc4648 "^1.3.0" - shelljs "^0.8.5" - stream-buffers "^3.0.2" - tar "^6.1.11" - tmp-promise "^3.0.2" - tslib "^1.9.3" - underscore "^1.9.1" - ws "^7.3.1" - optionalDependencies: - openid-client "^5.1.6" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@sinclair/typebox@^0.24.1": - version "0.24.44" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.44.tgz#0a0aa3bf4a155a678418527342a3ee84bd8caa5c" - integrity sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg== - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - -"@types/babel__core@^7.1.14": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" - integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== - dependencies: - "@babel/types" "^7.3.0" - -"@types/glob@*": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.0.tgz#321607e9cbaec54f687a0792b2d1d370739455d2" - integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.3": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^29.0.3": - version "29.1.0" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.1.0.tgz#9cfbe1b0d4408f9732aaf37447460f10f2c71ce6" - integrity sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/js-yaml@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" - integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - -"@types/node@*", "@types/node@^18.7.23": - version "18.7.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f" - integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== - -"@types/npm-package-arg@^6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz#9e2d8adc04d39824a3d9f36f738010a3f7da3c1a" - integrity sha512-452/1Kp9IdM/oR10AyqAgZOxUt7eLbm+EMJ194L6oarMYdZNiFIFAOJ7IIr0OrZXTySgfHjJezh2oiyk2kc3ag== - -"@types/prettier@^2.1.5": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" - integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== - -"@types/rimraf@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz#a63d175b331748e5220ad48c901d7bbf1f44eef8" - integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== - dependencies: - "@types/glob" "*" - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^17.0.13", "@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz#9f05d42fa8fb9f62304cc2f5c2805e03c01c2620" - integrity sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ== - dependencies: - "@typescript-eslint/scope-manager" "5.38.1" - "@typescript-eslint/type-utils" "5.38.1" - "@typescript-eslint/utils" "5.38.1" - debug "^4.3.4" - ignore "^5.2.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.38.1.tgz#c577f429f2c32071b92dff4af4f5fbbbd2414bd0" - integrity sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw== - dependencies: - "@typescript-eslint/scope-manager" "5.38.1" - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/typescript-estree" "5.38.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz#f87b289ef8819b47189351814ad183e8801d5764" - integrity sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ== - dependencies: - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/visitor-keys" "5.38.1" - -"@typescript-eslint/type-utils@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz#7f038fcfcc4ade4ea76c7c69b2aa25e6b261f4c1" - integrity sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw== - dependencies: - "@typescript-eslint/typescript-estree" "5.38.1" - "@typescript-eslint/utils" "5.38.1" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.38.1.tgz#74f9d6dcb8dc7c58c51e9fbc6653ded39e2e225c" - integrity sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg== - -"@typescript-eslint/typescript-estree@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz#657d858d5d6087f96b638ee383ee1cff52605a1e" - integrity sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g== - dependencies: - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/visitor-keys" "5.38.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.38.1", "@typescript-eslint/utils@^5.10.0": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.38.1.tgz#e3ac37d7b33d1362bb5adf4acdbe00372fb813ef" - integrity sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.38.1" - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/typescript-estree" "5.38.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/visitor-keys@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz#508071bfc6b96d194c0afe6a65ad47029059edbc" - integrity sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA== - dependencies: - "@typescript-eslint/types" "5.38.1" - eslint-visitor-keys "^3.3.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1, acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.1.tgz#63cd61c72283a71cb30bd881dbb60adada74bc70" - integrity sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg== - -ansicolor@^1.1.100: - version "1.1.100" - resolved "https://registry.yarnpkg.com/ansicolor/-/ansicolor-1.1.100.tgz#811f1afbf726edca3aafb942a14df8351996304a" - integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -as-table@^1.0.55: - version "1.0.55" - resolved "https://registry.yarnpkg.com/as-table/-/as-table-1.0.55.tgz#dc984da3937745de902cea1d45843c01bdbbec4f" - integrity sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ== - dependencies: - printable-characters "^1.0.42" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -axios@^0.27.2: - version "0.27.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== - dependencies: - follow-redirects "^1.14.9" - form-data "^4.0.0" - -babel-jest@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.1.0.tgz#945e45eb8a33e8ad8cb334f2b0f040d7306cffbf" - integrity sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ== - dependencies: - "@jest/transform" "^29.1.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.0.2" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - 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" - -babel-plugin-jest-hoist@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz#ae61483a829a021b146c016c6ad39b8bcc37c2c8" - integrity sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - 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" - -babel-preset-jest@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz#e14a7124e22b161551818d89e5bdcfb3b2b0eac7" - integrity sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA== - dependencies: - babel-plugin-jest-hoist "^29.0.2" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.3: - version "4.21.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -builtins@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== - dependencies: - semver "^7.0.0" - -byline@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" - integrity sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001400: - version "1.0.30001412" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz#30f67d55a865da43e0aeec003f073ea8764d5d7c" - integrity sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -ci-info@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" - integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== - dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.16, colorette@^2.0.17: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^9.3.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== - -compare-versions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-5.0.1.tgz#14c6008436d994c3787aba38d4087fabe858555e" - integrity sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.4.7: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f" - integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dotenv@^16.0.2: - version "16.0.2" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.2.tgz#0b0f8652c016a3858ef795024508cddc4bffc5bf" - integrity sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.4.251: - version "1.4.268" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.268.tgz#5a902075f0209a628837e508a66d40ace04d54ab" - integrity sha512-PO90Bv++vEzdln+eA9qLg1IRnh0rKETus6QkTzcFm5P3Wg3EQBZud5dcnzkpYXuIKWBjKe5CO8zjz02cicvn1g== - -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -entities@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -esbuild-android-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz#4a7eb320ca8d3a305f14792061fd9614ccebb7c0" - integrity sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw== - -esbuild-android-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz#c948e5686df20857ad361ec67e070d40d7cab985" - integrity sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg== - -esbuild-darwin-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz#25f564fa4b39c1cec84dc46bce5634fdbce1d5e4" - integrity sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ== - -esbuild-darwin-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz#60faea3ed95d15239536aa88d06bb82b29278a86" - integrity sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw== - -esbuild-freebsd-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz#0339ef1c90a919175e7816788224517896657a0e" - integrity sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A== - -esbuild-freebsd-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz#32abfc0be3ae3dd38e5a86a9beadbbcf592f1b57" - integrity sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA== - -esbuild-linux-32@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz#93581348a4da7ed2b29bc5539f2605ad7fcee77b" - integrity sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg== - -esbuild-linux-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz#0d171e7946c95d0d3ed4826026af2c5632d7dcc4" - integrity sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ== - -esbuild-linux-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz#9838795a3720cbe736d3bc20621bd366eac22f24" - integrity sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ== - -esbuild-linux-arm@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz#dce96cd817bc7376f6af3967649c4ab1f2f79506" - integrity sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ== - -esbuild-linux-mips64le@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz#0335a0739e61aa97cb9b4a018e3facfcca9cdcfd" - integrity sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw== - -esbuild-linux-ppc64le@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz#18482afb95b8a705e2da0a59d7131bff221281f9" - integrity sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw== - -esbuild-linux-riscv64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz#03b6f9708272c117006b9ce1c9ae8aab91b5a5b6" - integrity sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA== - -esbuild-linux-s390x@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz#65fb645623d575780f155f0ee52935e62f9cca4f" - integrity sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw== - -esbuild-netbsd-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz#7894297bb9e11f3d2f6f31efecd1be4e181f0d54" - integrity sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw== - -esbuild-openbsd-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz#0f9d4c6b6772ae50d491d68ad4cc028300dda7c0" - integrity sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A== - -esbuild-sunos-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126" - integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ== - -esbuild-windows-32@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz#37a8f7cfccdb2177cd46613a1a1e1fcb419d36df" - integrity sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA== - -esbuild-windows-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz#5fe1e76fc13dd7f520febecaea110b6f1649c7b2" - integrity sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg== - -esbuild-windows-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce" - integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA== - -esbuild@^0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" - integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== - optionalDependencies: - "@esbuild/android-arm" "0.15.9" - "@esbuild/linux-loong64" "0.15.9" - esbuild-android-64 "0.15.9" - esbuild-android-arm64 "0.15.9" - esbuild-darwin-64 "0.15.9" - esbuild-darwin-arm64 "0.15.9" - esbuild-freebsd-64 "0.15.9" - esbuild-freebsd-arm64 "0.15.9" - esbuild-linux-32 "0.15.9" - esbuild-linux-64 "0.15.9" - esbuild-linux-arm "0.15.9" - esbuild-linux-arm64 "0.15.9" - esbuild-linux-mips64le "0.15.9" - esbuild-linux-ppc64le "0.15.9" - esbuild-linux-riscv64 "0.15.9" - esbuild-linux-s390x "0.15.9" - esbuild-netbsd-64 "0.15.9" - esbuild-openbsd-64 "0.15.9" - esbuild-sunos-64 "0.15.9" - esbuild-windows-32 "0.15.9" - esbuild-windows-64 "0.15.9" - esbuild-windows-arm64 "0.15.9" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-plugin-jest@^27.0.4: - version "27.0.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz#ab9c7b3f48bfade4762c24c415a5d9bbc0174a61" - integrity sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA== - dependencies: - "@typescript-eslint/utils" "^5.10.0" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint@^8.24.0: - version "8.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8" - integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== - dependencies: - "@eslint/eslintrc" "^1.3.2" - "@humanwhocodes/config-array" "^0.10.5" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" - "@humanwhocodes/module-importer" "^1.0.1" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== - 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" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - 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" - -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^3.0.1" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.1.0.tgz#0e20a72cf4b2cfb8ca5e2ab138c23c5078c37460" - integrity sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w== - dependencies: - "@jest/expect-utils" "^29.1.0" - jest-get-type "^29.0.0" - jest-matcher-utils "^29.1.0" - jest-message-util "^29.1.0" - jest-util "^29.1.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-xml-parser@3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" - integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -follow-redirects@^1.14.9: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.15.0: - version "13.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.1.0.tgz#9786123f92ef3627f24abc3f15c20d98ec4a6594" - integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q== - dependencies: - lru-cache "^7.5.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== - -ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== - 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" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.0.0.tgz#aa238eae42d9372a413dd9a8dadc91ca1806dce0" - integrity sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ== - dependencies: - execa "^5.0.0" - p-limit "^3.1.0" - -jest-circus@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.1.1.tgz#696e0b58351316f5fdb39d3480b4fffe8dbf0100" - integrity sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ== - dependencies: - "@jest/environment" "^29.1.1" - "@jest/expect" "^29.1.0" - "@jest/test-result" "^29.1.0" - "@jest/types" "^29.1.0" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - is-generator-fn "^2.0.0" - jest-each "^29.1.0" - jest-matcher-utils "^29.1.0" - jest-message-util "^29.1.0" - jest-runtime "^29.1.1" - jest-snapshot "^29.1.0" - jest-util "^29.1.0" - p-limit "^3.1.0" - pretty-format "^29.1.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.1.1.tgz#6ff79c0b2d1d062f24216d2bcbf6c01a1e41db21" - integrity sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q== - dependencies: - "@jest/core" "^29.1.1" - "@jest/test-result" "^29.1.0" - "@jest/types" "^29.1.0" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^29.1.1" - jest-util "^29.1.0" - jest-validate "^29.1.0" - prompts "^2.0.1" - yargs "^17.3.1" - -jest-config@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.1.1.tgz#52aaa6237a7b3eea5c640aad6a53b390dc76f49f" - integrity sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.1.0" - "@jest/types" "^29.1.0" - babel-jest "^29.1.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.1.1" - jest-environment-node "^29.1.1" - jest-get-type "^29.0.0" - jest-regex-util "^29.0.0" - jest-resolve "^29.1.0" - jest-runner "^29.1.1" - jest-util "^29.1.0" - jest-validate "^29.1.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.1.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.1.0.tgz#952639cd73fcf4d34173e2d98a0cd1c20c71ba88" - integrity sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.0.0" - jest-get-type "^29.0.0" - pretty-format "^29.1.0" - -jest-docblock@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.0.0.tgz#3151bcc45ed7f5a8af4884dcc049aee699b4ceae" - integrity sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.1.0.tgz#d0962d04f4a28f5f048c2ff50965cab9ae2f524d" - integrity sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA== - dependencies: - "@jest/types" "^29.1.0" - chalk "^4.0.0" - jest-get-type "^29.0.0" - jest-util "^29.1.0" - pretty-format "^29.1.0" - -jest-environment-node@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.1.1.tgz#10f1782b74e17fcf782ff51df79f2b0cee135851" - integrity sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw== - dependencies: - "@jest/environment" "^29.1.1" - "@jest/fake-timers" "^29.1.1" - "@jest/types" "^29.1.0" - "@types/node" "*" - jest-mock "^29.1.1" - jest-util "^29.1.0" - -jest-get-type@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.0.0.tgz#843f6c50a1b778f7325df1129a0fd7aa713aef80" - integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== - -jest-haste-map@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.1.0.tgz#1cbdd30528b7b215523166cec3718600a3328ad1" - integrity sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g== - dependencies: - "@jest/types" "^29.1.0" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.0.0" - jest-util "^29.1.0" - jest-worker "^29.1.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz#6b7067d383dbf0804f21e16426d8562d84f19340" - integrity sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q== - dependencies: - jest-get-type "^29.0.0" - pretty-format "^29.1.0" - -jest-matcher-utils@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz#60f53cc199921ece9170d3d20500ae0b93294928" - integrity sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA== - dependencies: - chalk "^4.0.0" - jest-diff "^29.1.0" - jest-get-type "^29.0.0" - pretty-format "^29.1.0" - -jest-message-util@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.1.0.tgz#0bb50a8064aa49999a6c313827e43bf51bd71dd1" - integrity sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.1.0" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.1.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.1.1.tgz#b5475d07a8db6d39fe73e960ca94a3ac761afe0d" - integrity sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q== - dependencies: - "@jest/types" "^29.1.0" - "@types/node" "*" - jest-util "^29.1.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.0.0.tgz#b442987f688289df8eb6c16fa8df488b4cd007de" - integrity sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug== - -jest-resolve-dependencies@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz#03104a866fb133cffd8a6fe7fc198b0de9a17232" - integrity sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q== - dependencies: - jest-regex-util "^29.0.0" - jest-snapshot "^29.1.0" - -jest-resolve@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.1.0.tgz#114d2a86f6ff07e1cc56dbe84deb9d6e058b4399" - integrity sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.1.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.1.0" - jest-validate "^29.1.0" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.1.1.tgz#4ababc79ec3ec654de33db093ca2ec78599fa7ad" - integrity sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ== - dependencies: - "@jest/console" "^29.1.0" - "@jest/environment" "^29.1.1" - "@jest/test-result" "^29.1.0" - "@jest/transform" "^29.1.0" - "@jest/types" "^29.1.0" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.10.2" - graceful-fs "^4.2.9" - jest-docblock "^29.0.0" - jest-environment-node "^29.1.1" - jest-haste-map "^29.1.0" - jest-leak-detector "^29.1.0" - jest-message-util "^29.1.0" - jest-resolve "^29.1.0" - jest-runtime "^29.1.1" - jest-util "^29.1.0" - jest-watcher "^29.1.0" - jest-worker "^29.1.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.1.1.tgz#54a4cc4665d5c86f072f3f8fe3f9ec83d3802c8b" - integrity sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg== - dependencies: - "@jest/environment" "^29.1.1" - "@jest/fake-timers" "^29.1.1" - "@jest/globals" "^29.1.1" - "@jest/source-map" "^29.0.0" - "@jest/test-result" "^29.1.0" - "@jest/transform" "^29.1.0" - "@jest/types" "^29.1.0" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.1.0" - jest-message-util "^29.1.0" - jest-mock "^29.1.1" - jest-regex-util "^29.0.0" - jest-resolve "^29.1.0" - jest-snapshot "^29.1.0" - jest-util "^29.1.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.1.0.tgz#9da20c1c504a41e79abcbfecced090325b3cdba1" - integrity sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.1.0" - "@jest/transform" "^29.1.0" - "@jest/types" "^29.1.0" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.1.0" - graceful-fs "^4.2.9" - jest-diff "^29.1.0" - jest-get-type "^29.0.0" - jest-haste-map "^29.1.0" - jest-matcher-utils "^29.1.0" - jest-message-util "^29.1.0" - jest-util "^29.1.0" - natural-compare "^1.4.0" - pretty-format "^29.1.0" - semver "^7.3.5" - -jest-util@^29.0.0, jest-util@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.1.0.tgz#e8a971dfb900bb85f090c752aa321b6912e81002" - integrity sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ== - dependencies: - "@jest/types" "^29.1.0" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.1.0.tgz#5e2ba89d7d6b3e4d3ece34024f317e956a5c85c0" - integrity sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA== - dependencies: - "@jest/types" "^29.1.0" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.0.0" - leven "^3.1.0" - pretty-format "^29.1.0" - -jest-watcher@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.1.0.tgz#4a9f9d2c9bb9115f7b543c26f468d2c0c0202506" - integrity sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg== - dependencies: - "@jest/test-result" "^29.1.0" - "@jest/types" "^29.1.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^29.1.0" - string-length "^4.0.1" - -jest-worker@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.1.0.tgz#374d741b976a868e39141d63fb401abacc07a8c9" - integrity sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.1.0: - version "29.1.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.1.1.tgz#22d9d828f01335ec17225bcb267fe669319983be" - integrity sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ== - dependencies: - "@jest/core" "^29.1.1" - "@jest/types" "^29.1.0" - import-local "^3.0.2" - jest-cli "^29.1.1" - -jose@^4.1.4: - version "4.10.0" - resolved "https://registry.yarnpkg.com/jose/-/jose-4.10.0.tgz#2e0b7bcc80dd0775f8a4588e55beb9460c37d60a" - integrity sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw== - -js-sdsl@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" - integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -jsonpath-plus@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz#b901e57607055933dc9a8bef0cc25160ee9dd64c" - integrity sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg== - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lilconfig@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" - integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lint-staged@^13.0.3: - version "13.0.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6" - integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug== - dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.17" - commander "^9.3.0" - debug "^4.3.4" - execa "^6.1.0" - lilconfig "2.0.5" - listr2 "^4.0.5" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.2" - pidtree "^0.6.0" - string-argv "^0.3.1" - yaml "^2.1.1" - -listr2@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" - integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.5" - through "^2.3.8" - wrap-ansi "^7.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.5.1: - version "7.14.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" - integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minipass@^3.0.0: - version "3.3.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" - integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-package-arg@^9.1.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" - integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== - dependencies: - hosted-git-info "^5.0.0" - proc-log "^2.0.1" - semver "^7.3.5" - validate-npm-package-name "^4.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-hash@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-inspect@^1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -oidc-token-hash@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz#ae6beec3ec20f0fd885e5400d175191d6e2f10c6" - integrity sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -openid-client@^5.1.6: - version "5.1.10" - resolved "https://registry.yarnpkg.com/openid-client/-/openid-client-5.1.10.tgz#add6044878b9be75ffdd09abfcaae6feff376b1f" - integrity sha512-KYAtkxTuUwTvjAmH0QMFFP3i9l0+XhP2/blct6Q9kn+DUJ/lu8/g/bI8ghSgxz9dJLm/9cpB/1uLVGTcGGY0hw== - dependencies: - jose "^4.1.4" - lru-cache "^6.0.0" - object-hash "^2.0.1" - oidc-token-hash "^5.0.1" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -os-shim@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - integrity sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pidtree@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pre-commit@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6" - integrity sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA== - dependencies: - cross-spawn "^5.0.1" - spawn-sync "^1.0.15" - which "1.2.x" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== - -pretty-format@^29.0.0, pretty-format@^29.1.0: - version "29.1.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.1.0.tgz#ea3de2feed5b8d19c537a12fe478ddc8b45da6b8" - integrity sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -printable-characters@^1.0.42: - version "1.0.42" - resolved "https://registry.yarnpkg.com/printable-characters/-/printable-characters-1.0.42.tgz#3f18e977a9bd8eb37fcc4ff5659d7be90868b3d8" - integrity sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ== - -proc-log@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" - integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -psl@^1.1.28: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -readable-stream@^2.2.2: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@^1.1.6, resolve@^1.20.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfc4648@^1.3.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/rfc4648/-/rfc4648-1.5.2.tgz#cf5dac417dd83e7f4debf52e3797a723c1373383" - integrity sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg== - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^7.5.5: - version "7.5.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" - integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== - dependencies: - tslib "^2.1.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -semver@7.x, semver@^7.0.0, semver@^7.3.5, semver@^7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== - dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spawn-sync@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" - integrity sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw== - dependencies: - concat-stream "^1.4.7" - os-shim "^0.1.2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -stream-buffers@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-3.0.2.tgz#5249005a8d5c2d00b3a32e6e0a6ea209dc4f3521" - integrity sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ== - -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -system-commands@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/system-commands/-/system-commands-1.1.7.tgz#f100c0d7da5d489d065b43625fc9fef1c38b38f2" - integrity sha512-PfswB3P+qrSZcm7nIOJzKMe0qMp7wGVM7B+UYBkaduS6z2n+iM2sk4kw3G4+zY1aRI32+ZgKTUUAlhc3YSneJA== - -tar@^6.1.11: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - 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" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tmp-promise@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" - integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== - dependencies: - tmp "^0.2.0" - -tmp@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -ts-jest@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.2.tgz#0c45a1ac45d14f8b3bf89bca9048a2840c7bd5ad" - integrity sha512-P03IUItnAjG6RkJXtjjD5pu0TryQFOwcb1YKmW63rO19V0UFqL3wiXZrmR5D7qYjI98btzIOAcYafLZ0GHAcQg== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.1" - lodash.memoize "4.x" - make-error "1.x" - semver "7.x" - yargs-parser "^21.0.1" - -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.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" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0, tslib@^2.3.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@^4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== - -underscore@^1.9.1: - version "1.13.6" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" - integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== - -update-browserslist-db@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" - integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" - integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - -validate-npm-package-name@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" - integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== - dependencies: - builtins "^5.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -which@1.2.x: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - integrity sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw== - dependencies: - isexe "^2.0.0" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^7.3.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec" - integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== - -yargs-parser@>=21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.0.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1, yargs@^17.5.1: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 7b07a94f69309425b96b18d34f08b5ecbf8cf73a Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Mon, 3 Oct 2022 22:35:42 +0800 Subject: [PATCH 04/11] Troubleshoot on the init and install implementations; Enforce ESM usage for the esbuild output --- Dockerfile | 6 +- bin/install.mts | 3 +- lib/init.mts | 7 +- lib/install.mts | 108 +- lib/k8s.mts | 132 +-- lib/s3.mts | 49 +- package-lock.json | 2512 ++++++++++++++++++++++----------------------- package.json | 2 +- 8 files changed, 1372 insertions(+), 1447 deletions(-) diff --git a/Dockerfile b/Dockerfile index e43cae3..dcd893f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,10 +8,10 @@ RUN npm install && npm run build FROM $BUILD_IMAGE as runtime WORKDIR /app -COPY --from=builder /app/dist/argopm.cjs /app/argopm -COPY --from=builder /app/dist/static/ /app/static/ +COPY --from=builder /app/dist/argopm.mjs /app/ +COPY ./lib/static/ /app/static/ # Shelljs, a dep of K8s client, does not work well with bundlers RUN npm i shelljs -ENTRYPOINT [ "./argopm" ] +ENTRYPOINT [ "./argopm.mjs" ] diff --git a/bin/install.mts b/bin/install.mts index 15bc41a..8e026fe 100755 --- a/bin/install.mts +++ b/bin/install.mts @@ -148,8 +148,7 @@ yargs(hideBin(process.argv)) }), handler: async (argv) => { const packageName = await init(argv.force); - const re = new RegExp("NAME", "g"); - console.log(initHelp.replace(re, packageName)); + console.log(initHelp.replace(/NAME/g, packageName)); }, }) .command({ diff --git a/lib/init.mts b/lib/init.mts index 9ac74cb..9b6a8b4 100644 --- a/lib/init.mts +++ b/lib/init.mts @@ -2,8 +2,8 @@ import shell from "shelljs"; import { dirname } from "node:path"; import { fileURLToPath } from "node:url"; -// const __filename = fileURLToPath(import.meta.url); -// const __dirname = dirname(__filename); +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); /** * Init an Argo package inside the folder @@ -18,8 +18,9 @@ export const init = async (force: boolean) => { // const dirPath = "/tmp/test-package"; const dirPath = shell.pwd(); - let pathComponents = dirPath.split("/"); + const pathComponents = dirPath.split("/"); const packageName = pathComponents[pathComponents.length - 1]; + console.log(`Installing from the current directory (${dirPath}) with the package name "${packageName}"...`); if (!force && shell.ls("package.json").length > 0) { throw new Error(`Files already present in the ${__dirname}. Run this command again with --force to ignore`); diff --git a/lib/install.mts b/lib/install.mts index 82edf56..92c9938 100644 --- a/lib/install.mts +++ b/lib/install.mts @@ -8,6 +8,7 @@ import shell from "shelljs"; // import system from "system-commands"; import npa from "npm-package-arg"; +import process from "process"; /** * Downloads the given package @@ -17,13 +18,15 @@ import npa from "npm-package-arg"; * @param {string} registry Argo Package registry * @param {string} saveParam Save parameter */ -const npmInstall = function (prefixPath: string, packageName: string, registry: string, saveParam: string) { +const npmInstall = function (prefixPath: string, packageName: string, registry: string, save: boolean) { + let command: string; + const saveParam = save ? "--save" : "--no-save"; if (packageName === ".") { - return shell.exec(`NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`); + command = `NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`; + } else { + command = `NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force`; } - return shell.exec( - `NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force` - ); + return shell.exec(command, { fatal: true }); }; /** @@ -62,15 +65,15 @@ const packageNameFromPath = function (path: string): string { /** * Execute k8sInstaller and dashboardInstaller. - * @param {string} dir + * @param {string} dirPath * @param {boolean} cluster * @param {string} namespace * @param {string} parentPackageName * @param {string} registry * @param {K8sInstallerOptionsType} options */ -const processInstallers = ( - dir: string, +const processInstallers = async ( + dirPath: string, cluster: boolean, namespace: string, parentPackageName: string, @@ -81,19 +84,19 @@ const processInstallers = ( const s3Uploader = new S3( constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(dir)) + npa(packageNameFromPath(dirPath)) ); // Install Template on Argo - const k8sInstaller = new K8sInstaller(dir, namespace, parentPackageName, registry, options); + const k8sInstaller = new K8sInstaller(dirPath, namespace, parentPackageName, registry, options); // Install Dashboards - const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dir); + const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dirPath); - k8sInstaller.install(cluster); - dashboardInstaller.install(); - s3Uploader.initialize(); - s3Uploader.uploadStaticFiles(dir); + await k8sInstaller.install(cluster); + await dashboardInstaller.install(); + await s3Uploader.initialize(); + return await s3Uploader.uploadStaticFiles(dirPath); }; /** @@ -113,74 +116,51 @@ export const install = async function ( save: boolean, cluster: boolean, options: K8sInstallerOptionsType, - dirPath: string = shell.pwd() + dirPath: string = process.cwd() ) { - // dirPath = "/Users/amit/Documents/marketplace-packages/atlan-atlas"; - let npmSaveParam = "--no-save"; - if (save) { - npmSaveParam = "--save"; - } - const packageJSONFilePath = `${dirPath}/package.json`; - if (packageName === "." && save) { - if (!existsSync(packageJSONFilePath)) { - throw new Error(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`); - } + if (packageName === "." && save && !existsSync(packageJSONFilePath)) { + throw new Error(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`); } let parentPackageName = packageName; - npmInstall(dirPath, packageName, registry, npmSaveParam); - const nodeModulesPath = `${dirPath}/node_modules`; + const npmInstallResult = npmInstall(dirPath, packageName, registry, save); + console.log(npmInstallResult.stdout); - let dirs: (string | undefined)[] = []; + let dirs: string[] = []; - if (packageName !== ".") { - const cleanedPackageParts = packageName.split("@"); - let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); - if (cleanedPackageName == "") { - cleanedPackageName = packageName; + const nodeModulesPath = `${dirPath}/node_modules`; + if (existsSync(nodeModulesPath)) { + if (packageName !== ".") { + const cleanedPackageParts = packageName.split("@"); + let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); + if (cleanedPackageName == "") { + cleanedPackageName = packageName; + } + + parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); + } else { + parentPackageName = packageNameFromPath(`${dirPath}`); + registry = "local"; } + console.log(`Installing parent package ${parentPackageName}`); - parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); - } else { - parentPackageName = packageNameFromPath(`${dirPath}`); - registry = "local"; + dirs = (await listDirs(nodeModulesPath)).filter((dir) => dir !== undefined); } - console.log(`Installing parent package ${parentPackageName}`); - - dirs = (await listDirs(nodeModulesPath)).filter((dir) => dir !== undefined); dirs.forEach(async (dir) => { if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { const innerDirs = await listDirs(dir); - innerDirs.forEach((innerDir) => { - processInstallers(innerDir, cluster, namespace, parentPackageName, registry, options); + innerDirs.forEach(async (innerDir) => { + await processInstallers(innerDir, cluster, namespace, parentPackageName, registry, options); }); } else { - processInstallers(dir, cluster, namespace, parentPackageName, registry, options); + await processInstallers(dir, cluster, namespace, parentPackageName, registry, options); } }); - if (packageName !== ".") { - return; - } - - const s3Uploader = new S3( - constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, - constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(dirPath)) - ); - - const k8sInstaller = new K8sInstaller(dirPath, namespace, parentPackageName, "local", options); - const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dirPath); - - try { - k8sInstaller.install(cluster); - dashboardInstaller.install(); - s3Uploader.initialize(); - s3Uploader.uploadStaticFiles(dirPath); - } catch (err) { - console.error(err); + if (packageName === ".") { + await processInstallers(dirPath, cluster, namespace, parentPackageName, registry, options); } const parsedPackage = npa(parentPackageName); diff --git a/lib/k8s.mts b/lib/k8s.mts index 61ff757..ea7a740 100644 --- a/lib/k8s.mts +++ b/lib/k8s.mts @@ -38,7 +38,11 @@ export type K8sInstallerOptionsType = { */ function getResourceByName(resources: GenericK8sSpecType[], name: string) { //TODO: Possible bottleneck if packages grow. - return new Resource(resources.find(({ metadata }) => metadata.name === name)); + const resource = resources.find(({ metadata }) => metadata.name === name); + if (resource) { + return new Resource(resource); + } + return null; } /** @@ -125,26 +129,26 @@ export class K8sInstaller { /** * Installs the config maps */ - installConfigs() { + async installConfigs() { const dirPath = `${this.packagePath}/configmaps/`; - return this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", K8sInstaller.upsertConfigMap); + return await this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", K8sInstaller.upsertConfigMap); } /** * Installs secrets */ - installSecrets() { + async installSecrets() { const dirPath = `${this.packagePath}/secrets/`; - return this.installYamlInPath(dirPath, false, constants.SECERT_KIND, "", K8sInstaller.upsertSecret); + return await this.installYamlInPath(dirPath, false, constants.SECERT_KIND, "", K8sInstaller.upsertSecret); } /** * Installs cron workflows * @param {boolean} cluster - determines whether the templateRef is from the cluster scope or a namespace */ - installCronWorkflows(cluster: boolean) { + async installCronWorkflows(cluster: boolean) { const dirPath = `${this.packagePath}/cronworkflows/`; - return this.installYamlInPath( + return await this.installYamlInPath( dirPath, cluster, constants.ARGO_CRON_WORKFLOW_KIND, @@ -156,9 +160,9 @@ export class K8sInstaller { /** * Installs data pipelines */ - installPipelines() { + async installPipelines() { const dirPath = `${this.packagePath}/pipelines/`; - return this.installYamlInPath( + return await this.installYamlInPath( dirPath, false, constants.ARGO_DATAFLOW_KIND, @@ -171,13 +175,11 @@ export class K8sInstaller { * Installs the templates * @param {boolean} cluster Determines if ClusterWorkflowTemplates or WorkflowTemplates are installed */ - installTemplates(cluster: boolean) { + async installTemplates(cluster: boolean) { const dirPath = `${this.packagePath}/templates/`; - let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; - if (cluster) { - kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; - } - return this.installYamlInPath( + const kind = cluster ? constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND : constants.ARGO_WORKFLOW_TEMPLATES_KIND; + + return await this.installYamlInPath( dirPath, cluster, kind, @@ -192,33 +194,43 @@ export class K8sInstaller { * @param {boolean} cluster * @param {string} kind * @param {string} group - * @param + * @param {any} fn */ - async installYamlInPath(dirPath: string, cluster: boolean, kind: string, group: string, fn) { - if (!existsSync(dirPath)) { - return Promise.resolve(false); - } - - const files = (await readdir(dirPath)).filter( - (file: string) => file.endsWith(".yaml") || file.endsWith(".yml") - ); - files.forEach(async function (file) { - const filePath = `${dirPath}${file}`; - const data = await readFile(filePath, "utf8"); - const yamlData = load(data) as GenericK8sSpecType; - if (!yamlData) { - return; + async installYamlInPath( + dirPath: string, + cluster: boolean, + kind: string, + group: string, + fn: ( + packageName: string, + namespace: string, + kind: string, + group: string, + yamlObject: GenericK8sSpecType, + cluster: boolean, + forceUpdate: boolean + ) => void + ) { + if (existsSync(dirPath)) { + const files = (await readdir(dirPath)).filter( + (file: string) => file.endsWith(".yaml") || file.endsWith(".yml") + ); + for (const file of files) { + const filePath = `${dirPath}${file}`; + const data = await readFile(filePath, "utf8"); + const yamlData = load(data) as GenericK8sSpecType; + if (yamlData) { + const fileName = file.substring(0, file.lastIndexOf(".")); + const folder = dirPath + .split("/") + .filter((el: string) => el.trim().length > 0) + .pop(); + + const apmYAML = this.addAPMLabels(yamlData, folder, fileName); + fn(this.package.name, this.namespace, kind, group, apmYAML, cluster, this.forceUpdate); + } } - - const fileName = file.substring(0, file.lastIndexOf(".")); - const folder = dirPath - .split("/") - .filter((el: string) => el.trim().length > 0) - .pop(); - - const apmYAML = this.addAPMLabels(yamlData, folder, fileName); - return fn(this.package.name, this.namespace, kind, group, apmYAML, cluster, this.forceUpdate); - }); + } } /** @@ -425,7 +437,6 @@ export class K8sInstaller { PackageInfo.getPackageLabel(packageName) ); yamlObject.kind = kind; - cluster = true; // Override the workflowTemplateRef clusterScope variable if (kind == constants.ARGO_CRON_WORKFLOW_KIND) { @@ -483,9 +494,8 @@ export class K8sInstaller { const items = response.body.items; const resource = getResourceByName(items, name); const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; - const isPresent = Boolean(resource); - if (isPresent) { + if (resource) { const { shouldUpdate, msgPrefix } = checkExistingResource( resource, name, @@ -494,27 +504,25 @@ export class K8sInstaller { forceUpdate ); - if (!shouldUpdate) { - return; - } - - if (resource.updateStrategyIsRecreate()) { - console.debug(`${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}`); - return await K8sInstaller.recreateCustomResource( - name, - namespace, - plural, - yamlObject, - cluster, - apiGroup - ); + if (shouldUpdate) { + if (resource.updateStrategyIsRecreate()) { + console.debug(`${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}`); + return await K8sInstaller.recreateCustomResource( + name, + namespace, + plural, + yamlObject, + cluster, + apiGroup + ); + } + console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); + return await K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); } - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return await K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); + } else { + console.debug(`${name} ${yamlObject.kind} not present in the cluster. Installing v${newVersion}`); + return await K8sInstaller.createCustomResource(namespace, plural, yamlObject, cluster, apiGroup); } - - console.debug(`${name} ${yamlObject.kind} not present in the cluster. Installing v${newVersion}`); - return await K8sInstaller.createCustomResource(namespace, plural, yamlObject, cluster, apiGroup); } /** diff --git a/lib/s3.mts b/lib/s3.mts index d08daa2..378e7f3 100644 --- a/lib/s3.mts +++ b/lib/s3.mts @@ -1,7 +1,7 @@ import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; import { CoreV1Api, KubeConfig } from "@kubernetes/client-node"; +import { readFileSync } from "fs"; import { load } from "js-yaml"; -import { readFileSync } from "node:fs"; import { Result } from "npm-package-arg"; import { walk } from "./utils.mjs"; @@ -25,7 +25,9 @@ export class S3 { this.argoNamespace = argoNamespace; this.package = packageConfig; } - + /** + * Initialize S3 client with configs from the S3 Config from Argo. + */ async initialize() { const { bucket, region } = await this.getS3ConfigFromArgo(this.configMapName, this.argoNamespace); if (bucket && region) { @@ -63,42 +65,37 @@ export class S3 { /** * Upload a given file to S3 - * @param {string} path + * + * @param {String} path Absolute path of file */ - async uploadFile(path: string) { + async uploadFile(path) { const fileContent = readFileSync(path, { encoding: "utf-8", flag: "r", }); - if (fileContent.length === 0) { - return Promise.resolve(); - } - - const pathSplit = path.split("static/"); - console.log(`${this.s3KeyPrefix}/${pathSplit[pathSplit.length - 1]}`); - const key = `${this.s3KeyPrefix}/${pathSplit[pathSplit.length - 1]}`; - console.log(`Uploading file: ${path} to ${key}`); - const params = { - Bucket: this.bucketName, - Key: key, - Body: fileContent, - }; + if (fileContent.length > 0) { + const pathSplit = path.split("static/"); + const key = `${this.s3KeyPrefix}/${pathSplit[pathSplit.length - 1]}`; + console.log(`Uploading file: ${path} to ${key}`); + const params = { + Bucket: this.bucketName, + Key: key, + Body: fileContent, + }; - return await this.client.send(new PutObjectCommand(params)); + return await this.client.send(new PutObjectCommand(params)); + } } /** * Accepts a directory path and recursively uploads all the files in the `static` folder * - * @param {string} dirPath Absolute path of the directory + * @param {String} dirPath Absolute path of the directory */ - async uploadStaticFiles(dirPath: string) { - const dirs = await walk(`${dirPath}/static`).filter((dir: string) => !dir.endsWith(".md")); - return await Promise.all(dirs.map((dir: any) => this.uploadFile(dir))).catch((err) => { - if (err.code !== "ENOENT") { - throw err; - } - }); + async uploadStaticFiles(dirPath) { + let dirs = await walk(`${dirPath}/static`); + dirs = dirs.filter((dir) => !dir.endsWith(".md")); + await Promise.all(dirs.map((dir) => this.uploadFile(dir))); } } diff --git a/package-lock.json b/package-lock.json index 357e85f..f2bf4ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "js-yaml": "^4.1.0", "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", + "shelljs": "^0.8.5", "system-commands": "^1.1.7", "yargs": "^17.5.1" }, @@ -44,13 +45,13 @@ "lint-staged": "^13.0.3", "pre-commit": "^1.2.2", "prettier": "^2.7.1", + "shx": "^0.3.4", "ts-jest": "^29.0.2", "ts-node": "^10.9.1", "typescript": "^4.8.4" }, "peerDependencies": { - "openid-client": "^5.1.10", - "shelljs": "^0.8.5" + "openid-client": "^5.1.10" } }, "node_modules/@ampproject/remapping": { @@ -97,9 +98,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/ie11-detection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz", - "integrity": "sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", + "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", "dependencies": { "tslib": "^1.11.1" } @@ -163,9 +164,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/supports-web-crypto": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz", - "integrity": "sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", + "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", "dependencies": { "tslib": "^1.11.1" } @@ -220,16 +221,16 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz", - "integrity": "sha512-0YuIHk0dNvROz3IVNt3BHRPMhmd4jKnL84nXFomBViU7L7S09Pu8EjnZOTxjsiI2aAndj42kRqZOl5NjAaoTvQ==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.181.0.tgz", + "integrity": "sha512-EUJ/Y8SWALh5bfxcg+LQytpI/R3KXHYilWRnBBsKLBUfAWPj+8NzZdDK8wD/6htBtAV4XnqHux3cMCnpeoRf8g==", "dependencies": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.180.0", + "@aws-sdk/client-sts": "3.181.0", "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/credential-provider-node": "3.181.0", "@aws-sdk/eventstream-serde-browser": "3.178.0", "@aws-sdk/eventstream-serde-config-resolver": "3.178.0", "@aws-sdk/eventstream-serde-node": "3.178.0", @@ -284,9 +285,9 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz", - "integrity": "sha512-wwhGa+Jksc4NE+4MZVv0Jkvt1C10/Gd5NATiv+hjcCY7DdxQ31UsbUrbZ38tBK8XX+vqFlcrP1AsoXNvrjBBVw==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.181.0.tgz", + "integrity": "sha512-p/HsYVAO7fgjFfn4LqlnlpSKPXGPegAwjPpY+SqyK3/Hj1OtED4whG8LTgxZSTtYwNIkHEjrHnXTiymyXh34Aw==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -325,14 +326,14 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz", - "integrity": "sha512-QSgbYPrZ1QZTaxV3fwziVPvctwaAjdTMxA4VSMDh2yTFPIDmA8IMi8doEAcRaJeUK5n9UR8O3oWOs+wAs9Mkpw==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.181.0.tgz", + "integrity": "sha512-j//F9kjdSv9lUa8p87cg+xk6l5E8o8+GTYP5838eFQR7XcEc3yEljSCkuj2xIzrtf1jKuMXBnswTKmxJhjbTzQ==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/credential-provider-node": "3.181.0", "@aws-sdk/fetch-http-handler": "3.178.0", "@aws-sdk/hash-node": "3.178.0", "@aws-sdk/invalid-dependency": "3.178.0", @@ -414,13 +415,13 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz", - "integrity": "sha512-P4fqj0WRHoQ/eGhym/QJNl3AndDN9vyOuDSIyOWLky+ngy/pGznZyzQzhyq7Cju0mgnBeFDac6Evq0aHax1iOA==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.181.0.tgz", + "integrity": "sha512-jOa42qYFgkdMumw0IRO0ASAjM0vZMXvPpy3DGOaG0Ehy4KHeykEj4/J23SxCTCkOqAbz2+8XVCuyTExUmWCuWw==", "dependencies": { "@aws-sdk/credential-provider-env": "3.178.0", "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-sso": "3.181.0", "@aws-sdk/credential-provider-web-identity": "3.178.0", "@aws-sdk/property-provider": "3.178.0", "@aws-sdk/shared-ini-file-loader": "3.178.0", @@ -432,15 +433,15 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz", - "integrity": "sha512-M3vevtIcTAlROJEJo2WIVDVrL077vh1j3w0b5IwizCvcpHBiZ+2agWcFVR/NfCvFbdYjZd49otGnbCUMHWiRcA==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.181.0.tgz", + "integrity": "sha512-RlLdp+7faCKzJsmUlBSr4CjqN9WG+YZpmuVVlW5fXGUdXLBLEvLMTl5rmwKtRSUytyYK0Vqtmt48I4nBze8MrA==", "dependencies": { "@aws-sdk/credential-provider-env": "3.178.0", "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-ini": "3.180.0", + "@aws-sdk/credential-provider-ini": "3.181.0", "@aws-sdk/credential-provider-process": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-sso": "3.181.0", "@aws-sdk/credential-provider-web-identity": "3.178.0", "@aws-sdk/property-provider": "3.178.0", "@aws-sdk/shared-ini-file-loader": "3.178.0", @@ -466,11 +467,11 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz", - "integrity": "sha512-hv8qME1ISd6GN+YCa0WK73xL6p2Sx0JiSRTzgb5bvGcdxVGLzvIlFd0VAtVhP7d84Prf6EeGz0+sGEEYRusw2w==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.181.0.tgz", + "integrity": "sha512-03YAvns+P7hw5rLwYLExezn9iGX9HD2GAKCEgpSaZSlNLzMw0jU7VEmqJvrLqi+xAoshuRR5A3v8HFQU246QRA==", "dependencies": { - "@aws-sdk/client-sso": "3.180.0", + "@aws-sdk/client-sso": "3.181.0", "@aws-sdk/property-provider": "3.178.0", "@aws-sdk/shared-ini-file-loader": "3.178.0", "@aws-sdk/types": "3.178.0", @@ -1134,11 +1135,11 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.52.0.tgz", - "integrity": "sha512-l10U2cLko6070A9DYLJG4NMtwYH8JBG2J/E+RH8uY3lad2o6fGEIkJU0jQbWbUeHYLG3IWuCxT47V4gxYrFj7g==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.170.0.tgz", + "integrity": "sha512-uQvn3ZaAokWcNSY+tNR71RGXPPncv5ejrpGa/MGOCioeBjkU5n5OJp7BdaTGouZu4fffeVpdZJ/ZNld8LWMgLw==", "dependencies": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "engines": { "node": ">= 12.0.0" @@ -1938,9 +1939,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", - "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -2089,16 +2090,16 @@ } }, "node_modules/@jest/console": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz", - "integrity": "sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", + "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", "dev": true, "dependencies": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0" }, "engines": { @@ -2106,16 +2107,16 @@ } }, "node_modules/@jest/core": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz", - "integrity": "sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", + "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", "dev": true, "dependencies": { - "@jest/console": "^29.1.0", - "@jest/reporters": "^29.1.0", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/reporters": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -2123,20 +2124,20 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.0.0", - "jest-config": "^29.1.1", - "jest-haste-map": "^29.1.0", - "jest-message-util": "^29.1.0", + "jest-config": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.0", - "jest-resolve-dependencies": "^29.1.1", - "jest-runner": "^29.1.1", - "jest-runtime": "^29.1.1", - "jest-snapshot": "^29.1.0", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", - "jest-watcher": "^29.1.0", + "jest-resolve": "^29.1.2", + "jest-resolve-dependencies": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "jest-watcher": "^29.1.2", "micromatch": "^4.0.4", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -2153,37 +2154,37 @@ } }, "node_modules/@jest/environment": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz", - "integrity": "sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", + "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.1.1", - "@jest/types": "^29.1.0", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.1.1" + "jest-mock": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz", - "integrity": "sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", "dev": true, "dependencies": { - "expect": "^29.1.0", - "jest-snapshot": "^29.1.0" + "expect": "^29.1.2", + "jest-snapshot": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz", - "integrity": "sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", "dev": true, "dependencies": { "jest-get-type": "^29.0.0" @@ -2193,48 +2194,48 @@ } }, "node_modules/@jest/fake-timers": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz", - "integrity": "sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", + "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", "dev": true, "dependencies": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.0", - "jest-mock": "^29.1.1", - "jest-util": "^29.1.0" + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz", - "integrity": "sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", + "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.1", - "@jest/expect": "^29.1.0", - "@jest/types": "^29.1.0", - "jest-mock": "^29.1.1" + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/types": "^29.1.2", + "jest-mock": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz", - "integrity": "sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", + "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.1.0", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -2247,9 +2248,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0", - "jest-worker": "^29.1.0", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -2295,13 +2296,13 @@ } }, "node_modules/@jest/test-result": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz", - "integrity": "sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", + "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", "dev": true, "dependencies": { - "@jest/console": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/types": "^29.1.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -2310,14 +2311,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz", - "integrity": "sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", + "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", "dev": true, "dependencies": { - "@jest/test-result": "^29.1.0", + "@jest/test-result": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", + "jest-haste-map": "^29.1.2", "slash": "^3.0.0" }, "engines": { @@ -2325,22 +2326,22 @@ } }, "node_modules/@jest/transform": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz", - "integrity": "sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", + "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", + "jest-haste-map": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.0", + "jest-util": "^29.1.2", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -2351,9 +2352,9 @@ } }, "node_modules/@jest/types": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz", - "integrity": "sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2479,9 +2480,9 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.24.43", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", - "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", "dev": true }, "node_modules/@sinonjs/commons": { @@ -2611,9 +2612,9 @@ } }, "node_modules/@types/jest": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.0.tgz", - "integrity": "sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -2639,9 +2640,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.7.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", - "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "version": "18.8.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.0.tgz", + "integrity": "sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==", "dev": true }, "node_modules/@types/npm-package-arg": { @@ -2738,21 +2739,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/parser": { "version": "5.38.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", @@ -2864,21 +2850,6 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/utils": { "version": "5.38.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", @@ -2903,28 +2874,6 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.38.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", @@ -3106,7 +3055,7 @@ "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "engines": { "node": ">=0.8" } @@ -3123,12 +3072,12 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "engines": { "node": "*" } @@ -3148,12 +3097,12 @@ } }, "node_modules/babel-jest": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz", - "integrity": "sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", + "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", "dev": true, "dependencies": { - "@jest/transform": "^29.1.0", + "@jest/transform": "^29.1.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.0.2", @@ -3246,7 +3195,7 @@ "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dependencies": { "tweetnacl": "^0.14.3" } @@ -3340,24 +3289,10 @@ "semver": "^7.0.0" } }, - "node_modules/builtins/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", + "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", "engines": { "node": ">=0.10.0" } @@ -3381,9 +3316,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001412", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", - "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", + "version": "1.0.30001414", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", + "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", "dev": true, "funding": [ { @@ -3399,7 +3334,7 @@ "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, "node_modules/chalk": { "version": "4.1.2", @@ -3484,13 +3419,16 @@ } }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/cliui/node_modules/emoji-regex": { @@ -3569,9 +3507,9 @@ } }, "node_modules/commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", "dev": true, "engines": { "node": "^12.20.0 || >=14" @@ -3585,7 +3523,22 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } }, "node_modules/convert-source-map": { "version": "1.8.0", @@ -3596,12 +3549,6 @@ "safe-buffer": "~5.1.1" } }, - "node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -3627,24 +3574,10 @@ "node": ">= 8" } }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { "assert-plus": "^1.0.0" }, @@ -3693,7 +3626,7 @@ "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" } @@ -3750,26 +3683,32 @@ } }, "node_modules/dotenv": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", - "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", "engines": { "node": ">=12" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "node_modules/electron-to-chromium": { - "version": "1.4.265", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.265.tgz", - "integrity": "sha512-38KaYBNs0oCzWCpr6j7fY/W9vF0vSp4tKFIshQTgdZMhUpkxgotkQgjJP6iGMdmlsgMs3i0/Hkko4UXLTrkYVQ==", + "version": "1.4.270", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz", + "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==", "dev": true }, "node_modules/emittery": { @@ -4277,16 +4216,16 @@ } }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8.0.0" } }, "node_modules/eslint-utils": { @@ -4325,6 +4264,28 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/espree": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", @@ -4367,6 +4328,15 @@ "node": ">=0.10" } }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -4379,7 +4349,7 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -4388,6 +4358,15 @@ "node": ">=4.0" } }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -4429,16 +4408,16 @@ } }, "node_modules/expect": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz", - "integrity": "sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.1.0", + "@jest/expect-utils": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0" + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -4452,7 +4431,7 @@ "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "engines": [ "node >=0.6.0" ] @@ -4498,7 +4477,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fast-xml-parser": { @@ -4585,9 +4564,9 @@ } }, "node_modules/flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "node_modules/follow-redirects": { @@ -4612,7 +4591,7 @@ "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { "node": "*" } @@ -4644,7 +4623,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -4705,20 +4684,20 @@ "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -4777,9 +4756,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "node_modules/grapheme-splitter": { @@ -4791,7 +4770,7 @@ "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "engines": { "node": ">=4" } @@ -4840,14 +4819,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", - "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", - "engines": { - "node": ">=12" - } - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -4857,7 +4828,7 @@ "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -4923,7 +4894,7 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { "node": ">=0.8.19" @@ -4941,7 +4912,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -4963,13 +4934,13 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dependencies": { "has": "^1.0.3" }, @@ -4980,7 +4951,7 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -5042,18 +5013,18 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/isomorphic-ws": { "version": "4.0.1", @@ -5066,7 +5037,7 @@ "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", @@ -5144,15 +5115,15 @@ } }, "node_modules/jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz", - "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", "dev": true, "dependencies": { - "@jest/core": "^29.1.1", - "@jest/types": "^29.1.0", + "@jest/core": "^29.1.2", + "@jest/types": "^29.1.2", "import-local": "^3.0.2", - "jest-cli": "^29.1.1" + "jest-cli": "^29.1.2" }, "bin": { "jest": "bin/jest.js" @@ -5183,28 +5154,28 @@ } }, "node_modules/jest-circus": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz", - "integrity": "sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", + "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.1", - "@jest/expect": "^29.1.0", - "@jest/test-result": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.1.0", - "jest-matcher-utils": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-runtime": "^29.1.1", - "jest-snapshot": "^29.1.0", - "jest-util": "^29.1.0", + "jest-each": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "p-limit": "^3.1.0", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -5213,21 +5184,21 @@ } }, "node_modules/jest-cli": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz", - "integrity": "sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", + "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", "dev": true, "dependencies": { - "@jest/core": "^29.1.1", - "@jest/test-result": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/core": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.1.1", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", + "jest-config": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -5247,31 +5218,31 @@ } }, "node_modules/jest-config": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz", - "integrity": "sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", + "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.1.0", - "@jest/types": "^29.1.0", - "babel-jest": "^29.1.0", + "@jest/test-sequencer": "^29.1.2", + "@jest/types": "^29.1.2", + "babel-jest": "^29.1.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.1.1", - "jest-environment-node": "^29.1.1", + "jest-circus": "^29.1.2", + "jest-environment-node": "^29.1.2", "jest-get-type": "^29.0.0", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.0", - "jest-runner": "^29.1.1", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", + "jest-resolve": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -5291,34 +5262,16 @@ } } }, - "node_modules/jest-config/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-diff": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz", - "integrity": "sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.0.0", "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5337,33 +5290,33 @@ } }, "node_modules/jest-each": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz", - "integrity": "sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", + "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", "dev": true, "dependencies": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", - "jest-util": "^29.1.0", - "pretty-format": "^29.1.0" + "jest-util": "^29.1.2", + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-environment-node": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz", - "integrity": "sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", + "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.1", - "@jest/fake-timers": "^29.1.1", - "@jest/types": "^29.1.0", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.1.1", - "jest-util": "^29.1.0" + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5379,20 +5332,20 @@ } }, "node_modules/jest-haste-map": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz", - "integrity": "sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", + "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", "dev": true, "dependencies": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.0", - "jest-worker": "^29.1.0", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -5404,46 +5357,46 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz", - "integrity": "sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", + "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", "dev": true, "dependencies": { "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz", - "integrity": "sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.1.0", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz", - "integrity": "sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -5452,14 +5405,14 @@ } }, "node_modules/jest-mock": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz", - "integrity": "sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", + "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-util": "^29.1.0" + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5492,17 +5445,17 @@ } }, "node_modules/jest-resolve": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz", - "integrity": "sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", + "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", + "jest-haste-map": "^29.1.2", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -5512,43 +5465,43 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz", - "integrity": "sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", + "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", "dev": true, "dependencies": { "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.1.0" + "jest-snapshot": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz", - "integrity": "sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", + "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", "dev": true, "dependencies": { - "@jest/console": "^29.1.0", - "@jest/environment": "^29.1.1", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/environment": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.1.1", - "jest-haste-map": "^29.1.0", - "jest-leak-detector": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-resolve": "^29.1.0", - "jest-runtime": "^29.1.1", - "jest-util": "^29.1.0", - "jest-watcher": "^29.1.0", - "jest-worker": "^29.1.0", + "jest-environment-node": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-leak-detector": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-resolve": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-util": "^29.1.2", + "jest-watcher": "^29.1.2", + "jest-worker": "^29.1.2", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -5557,31 +5510,31 @@ } }, "node_modules/jest-runtime": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz", - "integrity": "sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", + "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.1", - "@jest/fake-timers": "^29.1.1", - "@jest/globals": "^29.1.1", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/globals": "^29.1.2", "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-mock": "^29.1.1", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.0", - "jest-snapshot": "^29.1.0", - "jest-util": "^29.1.0", + "jest-resolve": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -5590,9 +5543,9 @@ } }, "node_modules/jest-snapshot": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz", - "integrity": "sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", + "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", @@ -5601,51 +5554,36 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/expect-utils": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.1.0", + "expect": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-diff": "^29.1.0", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.1.0", - "jest-matcher-utils": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0", + "jest-haste-map": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "natural-compare": "^1.4.0", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "semver": "^7.3.5" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-util": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz", - "integrity": "sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", "dev": true, "dependencies": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -5657,17 +5595,17 @@ } }, "node_modules/jest-validate": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz", - "integrity": "sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", + "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5686,18 +5624,18 @@ } }, "node_modules/jest-watcher": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz", - "integrity": "sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", + "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", "dev": true, "dependencies": { - "@jest/test-result": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^29.1.0", + "jest-util": "^29.1.2", "string-length": "^4.0.1" }, "engines": { @@ -5705,12 +5643,13 @@ } }, "node_modules/jest-worker": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz", - "integrity": "sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", + "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", "dev": true, "dependencies": { "@types/node": "*", + "jest-util": "^29.1.2", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -5742,9 +5681,9 @@ } }, "node_modules/js-sdsl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", - "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", "dev": true }, "node_modules/js-tokens": { @@ -5767,7 +5706,7 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "node_modules/jsesc": { "version": "2.5.2", @@ -5800,13 +5739,13 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "node_modules/json5": { "version": "2.2.1", @@ -6220,14 +6159,11 @@ } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", + "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/make-dir": { @@ -6297,19 +6233,19 @@ } }, "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -6334,10 +6270,16 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, "node_modules/minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", "dependencies": { "yallist": "^4.0.0" }, @@ -6377,7 +6319,7 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "node_modules/node-int64": { @@ -6402,9 +6344,9 @@ } }, "node_modules/npm-package-arg": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz", - "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", "dependencies": { "hosted-git-info": "^5.0.0", "proc-log": "^2.0.1", @@ -6415,20 +6357,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -6476,7 +6404,7 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } @@ -6509,6 +6437,17 @@ "url": "https://github.com/sponsors/panva" } }, + "node_modules/openid-client/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -6529,7 +6468,7 @@ "node_modules/os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true, "engines": { "node": ">= 0.4.0" @@ -6601,11 +6540,29 @@ "node": ">=6" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, "engines": { "node": ">=8" } @@ -6613,7 +6570,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } @@ -6643,7 +6600,7 @@ "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { "version": "1.0.0", @@ -6751,7 +6708,7 @@ "node_modules/pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "integrity": "sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -6763,7 +6720,7 @@ "node_modules/pre-commit/node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, "dependencies": { "lru-cache": "^4.0.1", @@ -6784,7 +6741,7 @@ "node_modules/pre-commit/node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "dependencies": { "shebang-regex": "^1.0.0" @@ -6796,7 +6753,7 @@ "node_modules/pre-commit/node_modules/shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6805,7 +6762,7 @@ "node_modules/pre-commit/node_modules/which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "integrity": "sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw==", "dev": true, "dependencies": { "isexe": "^2.0.0" @@ -6817,7 +6774,7 @@ "node_modules/pre-commit/node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, "node_modules/prelude-ls": { @@ -6845,9 +6802,9 @@ } }, "node_modules/pretty-format": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz", - "integrity": "sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -6873,7 +6830,7 @@ "node_modules/printable-characters": { "version": "1.0.42", "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", - "integrity": "sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g=" + "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==" }, "node_modules/proc-log": { "version": "2.0.1", @@ -6905,13 +6862,13 @@ "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "node_modules/punycode": { "version": "2.1.1", @@ -6922,9 +6879,9 @@ } }, "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { "node": ">=0.6" } @@ -6970,16 +6927,10 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dependencies": { "resolve": "^1.1.6" }, @@ -7043,18 +6994,6 @@ "node": ">= 0.12" } }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/request/node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -7067,18 +7006,22 @@ "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7147,9 +7090,9 @@ } }, "node_modules/rfc4648": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.0.tgz", - "integrity": "sha512-FA6W9lDNeX8WbMY31io1xWg+TpZCbeDKsBo0ocwACZiWnh9TUAyk9CCuBQuOPmYnwwdEQZmraQ2ZK7yJsxErBg==" + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.2.tgz", + "integrity": "sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==" }, "node_modules/rfdc": { "version": "1.3.0", @@ -7204,29 +7147,40 @@ } }, "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7262,6 +7216,22 @@ "node": ">=4" } }, + "node_modules/shx": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", + "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", + "dev": true, + "dependencies": { + "minimist": "^1.2.3", + "shelljs": "^0.8.5" + }, + "bin": { + "shx": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -7299,9 +7269,9 @@ } }, "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.1.tgz", + "integrity": "sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==", "dev": true, "engines": { "node": ">=12" @@ -7332,7 +7302,7 @@ "node_modules/spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -7340,21 +7310,6 @@ "os-shim": "^0.1.2" } }, - "node_modules/spawn-sync/node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -7362,9 +7317,9 @@ "dev": true }, "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -7423,12 +7378,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -7452,13 +7401,13 @@ } }, "node_modules/string-width": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.0.1.tgz", - "integrity": "sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { + "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", - "is-fullwidth-code-point": "^4.0.0", "strip-ansi": "^7.0.1" }, "engines": { @@ -7560,6 +7509,17 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/system-commands": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz", @@ -7614,7 +7574,7 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "node_modules/through": { @@ -7669,6 +7629,18 @@ "node": ">=8.0" } }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/ts-jest": { "version": "29.0.3", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", @@ -7712,21 +7684,6 @@ } } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -7771,9 +7728,9 @@ } }, "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -7799,7 +7756,7 @@ "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -7810,7 +7767,7 @@ "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "node_modules/type-check": { "version": "0.4.0", @@ -7848,7 +7805,7 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, "node_modules/typescript": { @@ -7865,9 +7822,9 @@ } }, "node_modules/underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==" + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/update-browserslist-db": { "version": "1.0.9", @@ -7906,7 +7863,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "node_modules/uuid": { @@ -7951,7 +7908,7 @@ "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "engines": [ "node >=0.6.0" ], @@ -7964,7 +7921,7 @@ "node_modules/verror/node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/walker": { "version": "1.0.8", @@ -7975,6 +7932,20 @@ "makeerror": "1.0.12" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -8029,7 +8000,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", @@ -8045,9 +8016,9 @@ } }, "node_modules/ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "engines": { "node": ">=8.3.0" }, @@ -8078,20 +8049,20 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", - "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.2.tgz", + "integrity": "sha512-VSdf2/K3FqAetooKQv45Hcu6sA00aDgWZeGcG6V9IYJnVLTnb6988Tie79K5nx2vK7cEpf+yW8Oy+7iPAbdiHA==", "dev": true, "engines": { "node": ">= 14" } }, "node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", @@ -8205,9 +8176,9 @@ } }, "@aws-crypto/ie11-detection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz", - "integrity": "sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", + "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", "requires": { "tslib": "^1.11.1" }, @@ -8279,9 +8250,9 @@ } }, "@aws-crypto/supports-web-crypto": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz", - "integrity": "sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", + "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", "requires": { "tslib": "^1.11.1" }, @@ -8337,16 +8308,16 @@ } }, "@aws-sdk/client-s3": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.180.0.tgz", - "integrity": "sha512-0YuIHk0dNvROz3IVNt3BHRPMhmd4jKnL84nXFomBViU7L7S09Pu8EjnZOTxjsiI2aAndj42kRqZOl5NjAaoTvQ==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.181.0.tgz", + "integrity": "sha512-EUJ/Y8SWALh5bfxcg+LQytpI/R3KXHYilWRnBBsKLBUfAWPj+8NzZdDK8wD/6htBtAV4XnqHux3cMCnpeoRf8g==", "requires": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.180.0", + "@aws-sdk/client-sts": "3.181.0", "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/credential-provider-node": "3.181.0", "@aws-sdk/eventstream-serde-browser": "3.178.0", "@aws-sdk/eventstream-serde-config-resolver": "3.178.0", "@aws-sdk/eventstream-serde-node": "3.178.0", @@ -8398,9 +8369,9 @@ } }, "@aws-sdk/client-sso": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.180.0.tgz", - "integrity": "sha512-wwhGa+Jksc4NE+4MZVv0Jkvt1C10/Gd5NATiv+hjcCY7DdxQ31UsbUrbZ38tBK8XX+vqFlcrP1AsoXNvrjBBVw==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.181.0.tgz", + "integrity": "sha512-p/HsYVAO7fgjFfn4LqlnlpSKPXGPegAwjPpY+SqyK3/Hj1OtED4whG8LTgxZSTtYwNIkHEjrHnXTiymyXh34Aw==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -8436,14 +8407,14 @@ } }, "@aws-sdk/client-sts": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.180.0.tgz", - "integrity": "sha512-QSgbYPrZ1QZTaxV3fwziVPvctwaAjdTMxA4VSMDh2yTFPIDmA8IMi8doEAcRaJeUK5n9UR8O3oWOs+wAs9Mkpw==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.181.0.tgz", + "integrity": "sha512-j//F9kjdSv9lUa8p87cg+xk6l5E8o8+GTYP5838eFQR7XcEc3yEljSCkuj2xIzrtf1jKuMXBnswTKmxJhjbTzQ==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.180.0", + "@aws-sdk/credential-provider-node": "3.181.0", "@aws-sdk/fetch-http-handler": "3.178.0", "@aws-sdk/hash-node": "3.178.0", "@aws-sdk/invalid-dependency": "3.178.0", @@ -8513,13 +8484,13 @@ } }, "@aws-sdk/credential-provider-ini": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.180.0.tgz", - "integrity": "sha512-P4fqj0WRHoQ/eGhym/QJNl3AndDN9vyOuDSIyOWLky+ngy/pGznZyzQzhyq7Cju0mgnBeFDac6Evq0aHax1iOA==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.181.0.tgz", + "integrity": "sha512-jOa42qYFgkdMumw0IRO0ASAjM0vZMXvPpy3DGOaG0Ehy4KHeykEj4/J23SxCTCkOqAbz2+8XVCuyTExUmWCuWw==", "requires": { "@aws-sdk/credential-provider-env": "3.178.0", "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-sso": "3.181.0", "@aws-sdk/credential-provider-web-identity": "3.178.0", "@aws-sdk/property-provider": "3.178.0", "@aws-sdk/shared-ini-file-loader": "3.178.0", @@ -8528,15 +8499,15 @@ } }, "@aws-sdk/credential-provider-node": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.180.0.tgz", - "integrity": "sha512-M3vevtIcTAlROJEJo2WIVDVrL077vh1j3w0b5IwizCvcpHBiZ+2agWcFVR/NfCvFbdYjZd49otGnbCUMHWiRcA==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.181.0.tgz", + "integrity": "sha512-RlLdp+7faCKzJsmUlBSr4CjqN9WG+YZpmuVVlW5fXGUdXLBLEvLMTl5rmwKtRSUytyYK0Vqtmt48I4nBze8MrA==", "requires": { "@aws-sdk/credential-provider-env": "3.178.0", "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-ini": "3.180.0", + "@aws-sdk/credential-provider-ini": "3.181.0", "@aws-sdk/credential-provider-process": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.180.0", + "@aws-sdk/credential-provider-sso": "3.181.0", "@aws-sdk/credential-provider-web-identity": "3.178.0", "@aws-sdk/property-provider": "3.178.0", "@aws-sdk/shared-ini-file-loader": "3.178.0", @@ -8556,11 +8527,11 @@ } }, "@aws-sdk/credential-provider-sso": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.180.0.tgz", - "integrity": "sha512-hv8qME1ISd6GN+YCa0WK73xL6p2Sx0JiSRTzgb5bvGcdxVGLzvIlFd0VAtVhP7d84Prf6EeGz0+sGEEYRusw2w==", + "version": "3.181.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.181.0.tgz", + "integrity": "sha512-03YAvns+P7hw5rLwYLExezn9iGX9HD2GAKCEgpSaZSlNLzMw0jU7VEmqJvrLqi+xAoshuRR5A3v8HFQU246QRA==", "requires": { - "@aws-sdk/client-sso": "3.180.0", + "@aws-sdk/client-sso": "3.181.0", "@aws-sdk/property-provider": "3.178.0", "@aws-sdk/shared-ini-file-loader": "3.178.0", "@aws-sdk/types": "3.178.0", @@ -9081,11 +9052,11 @@ } }, "@aws-sdk/util-locate-window": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.52.0.tgz", - "integrity": "sha512-l10U2cLko6070A9DYLJG4NMtwYH8JBG2J/E+RH8uY3lad2o6fGEIkJU0jQbWbUeHYLG3IWuCxT47V4gxYrFj7g==", + "version": "3.170.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.170.0.tgz", + "integrity": "sha512-uQvn3ZaAokWcNSY+tNR71RGXPPncv5ejrpGa/MGOCioeBjkU5n5OJp7BdaTGouZu4fffeVpdZJ/ZNld8LWMgLw==", "requires": { - "tslib": "^2.3.0" + "tslib": "^2.3.1" } }, "@aws-sdk/util-middleware": { @@ -9684,9 +9655,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", - "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -9796,30 +9767,30 @@ "dev": true }, "@jest/console": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz", - "integrity": "sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", + "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", "dev": true, "requires": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0" } }, "@jest/core": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz", - "integrity": "sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", + "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", "dev": true, "requires": { - "@jest/console": "^29.1.0", - "@jest/reporters": "^29.1.0", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/reporters": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -9827,92 +9798,92 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.0.0", - "jest-config": "^29.1.1", - "jest-haste-map": "^29.1.0", - "jest-message-util": "^29.1.0", + "jest-config": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.0", - "jest-resolve-dependencies": "^29.1.1", - "jest-runner": "^29.1.1", - "jest-runtime": "^29.1.1", - "jest-snapshot": "^29.1.0", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", - "jest-watcher": "^29.1.0", + "jest-resolve": "^29.1.2", + "jest-resolve-dependencies": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "jest-watcher": "^29.1.2", "micromatch": "^4.0.4", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-ansi": "^6.0.0" } }, "@jest/environment": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz", - "integrity": "sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", + "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", "dev": true, "requires": { - "@jest/fake-timers": "^29.1.1", - "@jest/types": "^29.1.0", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.1.1" + "jest-mock": "^29.1.2" } }, "@jest/expect": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz", - "integrity": "sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", "dev": true, "requires": { - "expect": "^29.1.0", - "jest-snapshot": "^29.1.0" + "expect": "^29.1.2", + "jest-snapshot": "^29.1.2" } }, "@jest/expect-utils": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz", - "integrity": "sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", "dev": true, "requires": { "jest-get-type": "^29.0.0" } }, "@jest/fake-timers": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz", - "integrity": "sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", + "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", "dev": true, "requires": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.0", - "jest-mock": "^29.1.1", - "jest-util": "^29.1.0" + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" } }, "@jest/globals": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz", - "integrity": "sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", + "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", "dev": true, "requires": { - "@jest/environment": "^29.1.1", - "@jest/expect": "^29.1.0", - "@jest/types": "^29.1.0", - "jest-mock": "^29.1.1" + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/types": "^29.1.2", + "jest-mock": "^29.1.2" } }, "@jest/reporters": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz", - "integrity": "sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", + "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.1.0", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -9925,9 +9896,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0", - "jest-worker": "^29.1.0", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -9956,46 +9927,46 @@ } }, "@jest/test-result": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz", - "integrity": "sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", + "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", "dev": true, "requires": { - "@jest/console": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/types": "^29.1.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz", - "integrity": "sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", + "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", "dev": true, "requires": { - "@jest/test-result": "^29.1.0", + "@jest/test-result": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", + "jest-haste-map": "^29.1.2", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz", - "integrity": "sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", + "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", + "jest-haste-map": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.0", + "jest-util": "^29.1.2", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -10003,9 +9974,9 @@ } }, "@jest/types": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz", - "integrity": "sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -10110,9 +10081,9 @@ } }, "@sinclair/typebox": { - "version": "0.24.43", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", - "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", "dev": true }, "@sinonjs/commons": { @@ -10242,9 +10213,9 @@ } }, "@types/jest": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.0.tgz", - "integrity": "sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", "dev": true, "requires": { "expect": "^29.0.0", @@ -10270,9 +10241,9 @@ "dev": true }, "@types/node": { - "version": "18.7.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", - "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "version": "18.8.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.0.tgz", + "integrity": "sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==", "dev": true }, "@types/npm-package-arg": { @@ -10351,17 +10322,6 @@ "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "@typescript-eslint/parser": { @@ -10417,17 +10377,6 @@ "is-glob": "^4.0.3", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "@typescript-eslint/utils": { @@ -10442,24 +10391,6 @@ "@typescript-eslint/typescript-estree": "5.38.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { @@ -10593,7 +10524,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, "astral-regex": { "version": "2.0.0", @@ -10604,12 +10535,12 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" }, "aws4": { "version": "1.11.0", @@ -10626,12 +10557,12 @@ } }, "babel-jest": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz", - "integrity": "sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", + "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", "dev": true, "requires": { - "@jest/transform": "^29.1.0", + "@jest/transform": "^29.1.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.0.2", @@ -10703,7 +10634,7 @@ "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "requires": { "tweetnacl": "^0.14.3" } @@ -10773,22 +10704,12 @@ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "requires": { "semver": "^7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" + "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==" }, "callsites": { "version": "3.1.0", @@ -10803,15 +10724,15 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001412", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", - "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", + "version": "1.0.30001414", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", + "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", "dev": true }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, "chalk": { "version": "4.1.2", @@ -10872,12 +10793,12 @@ } }, "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "requires": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" }, "dependencies": { @@ -10943,9 +10864,9 @@ } }, "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", "dev": true }, "compare-versions": { @@ -10956,7 +10877,19 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } }, "convert-source-map": { "version": "1.8.0", @@ -10965,14 +10898,6 @@ "dev": true, "requires": { "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "core-util-is": { @@ -10995,22 +10920,12 @@ "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } } }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "requires": { "assert-plus": "^1.0.0" } @@ -11045,7 +10960,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "detect-newline": { "version": "3.1.0", @@ -11084,23 +10999,29 @@ } }, "dotenv": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", - "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==" + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "electron-to-chromium": { - "version": "1.4.265", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.265.tgz", - "integrity": "sha512-38KaYBNs0oCzWCpr6j7fY/W9vF0vSp4tKFIshQTgdZMhUpkxgotkQgjJP6iGMdmlsgMs3i0/Hkko4UXLTrkYVQ==", + "version": "1.4.270", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz", + "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==", "dev": true }, "emittery": { @@ -11355,6 +11276,24 @@ "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "eslint-config-prettier": { @@ -11374,13 +11313,13 @@ } }, "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-utils": { @@ -11430,6 +11369,14 @@ "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "esrecurse": { @@ -11439,12 +11386,20 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { @@ -11476,16 +11431,16 @@ "dev": true }, "expect": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz", - "integrity": "sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", "dev": true, "requires": { - "@jest/expect-utils": "^29.1.0", + "@jest/expect-utils": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0" + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" } }, "extend": { @@ -11496,7 +11451,7 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" }, "fast-deep-equal": { "version": "3.1.3", @@ -11535,7 +11490,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fast-xml-parser": { @@ -11600,9 +11555,9 @@ } }, "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "follow-redirects": { @@ -11613,7 +11568,7 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" }, "form-data": { "version": "4.0.0", @@ -11636,7 +11591,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -11675,20 +11630,20 @@ "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "requires": { "assert-plus": "^1.0.0" } }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } @@ -11726,9 +11681,9 @@ } }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "grapheme-splitter": { @@ -11740,7 +11695,7 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" }, "har-validator": { "version": "5.1.5", @@ -11771,13 +11726,6 @@ "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", "requires": { "lru-cache": "^7.5.1" - }, - "dependencies": { - "lru-cache": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", - "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==" - } } }, "html-escaper": { @@ -11789,7 +11737,7 @@ "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -11830,7 +11778,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "indent-string": { @@ -11842,7 +11790,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -11861,13 +11809,13 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "requires": { "has": "^1.0.3" } @@ -11875,7 +11823,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { @@ -11913,18 +11861,18 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "isomorphic-ws": { "version": "4.0.1", @@ -11935,7 +11883,7 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "istanbul-lib-coverage": { "version": "3.2.0", @@ -11997,15 +11945,15 @@ } }, "jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz", - "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", "dev": true, "requires": { - "@jest/core": "^29.1.1", - "@jest/types": "^29.1.0", + "@jest/core": "^29.1.2", + "@jest/types": "^29.1.2", "import-local": "^3.0.2", - "jest-cli": "^29.1.1" + "jest-cli": "^29.1.2" } }, "jest-changed-files": { @@ -12019,106 +11967,92 @@ } }, "jest-circus": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz", - "integrity": "sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", + "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", "dev": true, "requires": { - "@jest/environment": "^29.1.1", - "@jest/expect": "^29.1.0", - "@jest/test-result": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.1.0", - "jest-matcher-utils": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-runtime": "^29.1.1", - "jest-snapshot": "^29.1.0", - "jest-util": "^29.1.0", + "jest-each": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "p-limit": "^3.1.0", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-cli": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz", - "integrity": "sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", + "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", "dev": true, "requires": { - "@jest/core": "^29.1.1", - "@jest/test-result": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/core": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.1.1", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", + "jest-config": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "prompts": "^2.0.1", "yargs": "^17.3.1" } }, "jest-config": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz", - "integrity": "sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", + "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.1.0", - "@jest/types": "^29.1.0", - "babel-jest": "^29.1.0", + "@jest/test-sequencer": "^29.1.2", + "@jest/types": "^29.1.2", + "babel-jest": "^29.1.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.1.1", - "jest-environment-node": "^29.1.1", + "jest-circus": "^29.1.2", + "jest-environment-node": "^29.1.2", "jest-get-type": "^29.0.0", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.0", - "jest-runner": "^29.1.1", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", + "jest-resolve": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - } } }, "jest-diff": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz", - "integrity": "sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", "dev": true, "requires": { "chalk": "^4.0.0", "diff-sequences": "^29.0.0", "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" } }, "jest-docblock": { @@ -12131,30 +12065,30 @@ } }, "jest-each": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz", - "integrity": "sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", + "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", "dev": true, "requires": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", - "jest-util": "^29.1.0", - "pretty-format": "^29.1.0" + "jest-util": "^29.1.2", + "pretty-format": "^29.1.2" } }, "jest-environment-node": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz", - "integrity": "sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", + "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", "dev": true, "requires": { - "@jest/environment": "^29.1.1", - "@jest/fake-timers": "^29.1.1", - "@jest/types": "^29.1.0", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.1.1", - "jest-util": "^29.1.0" + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" } }, "jest-get-type": { @@ -12164,12 +12098,12 @@ "dev": true }, "jest-haste-map": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz", - "integrity": "sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", + "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", "dev": true, "requires": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", @@ -12177,60 +12111,60 @@ "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.0", - "jest-worker": "^29.1.0", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "micromatch": "^4.0.4", "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz", - "integrity": "sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", + "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", "dev": true, "requires": { "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" } }, "jest-matcher-utils": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz", - "integrity": "sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.1.0", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" } }, "jest-message-util": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz", - "integrity": "sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz", - "integrity": "sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", + "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", "dev": true, "requires": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-util": "^29.1.0" + "jest-util": "^29.1.2" } }, "jest-pnp-resolver": { @@ -12247,95 +12181,95 @@ "dev": true }, "jest-resolve": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz", - "integrity": "sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", + "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", + "jest-haste-map": "^29.1.2", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.1.0", - "jest-validate": "^29.1.0", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz", - "integrity": "sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", + "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", "dev": true, "requires": { "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.1.0" + "jest-snapshot": "^29.1.2" } }, "jest-runner": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz", - "integrity": "sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", + "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", "dev": true, "requires": { - "@jest/console": "^29.1.0", - "@jest/environment": "^29.1.1", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/console": "^29.1.2", + "@jest/environment": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.1.1", - "jest-haste-map": "^29.1.0", - "jest-leak-detector": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-resolve": "^29.1.0", - "jest-runtime": "^29.1.1", - "jest-util": "^29.1.0", - "jest-watcher": "^29.1.0", - "jest-worker": "^29.1.0", + "jest-environment-node": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-leak-detector": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-resolve": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-util": "^29.1.2", + "jest-watcher": "^29.1.2", + "jest-worker": "^29.1.2", "p-limit": "^3.1.0", "source-map-support": "0.5.13" } }, "jest-runtime": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz", - "integrity": "sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", + "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", "dev": true, "requires": { - "@jest/environment": "^29.1.1", - "@jest/fake-timers": "^29.1.1", - "@jest/globals": "^29.1.1", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/globals": "^29.1.2", "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-mock": "^29.1.1", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.0", - "jest-snapshot": "^29.1.0", - "jest-util": "^29.1.0", + "jest-resolve": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, "jest-snapshot": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz", - "integrity": "sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", + "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -12344,44 +12278,33 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.1.0", - "@jest/transform": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/expect-utils": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.1.0", + "expect": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-diff": "^29.1.0", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.1.0", - "jest-matcher-utils": "^29.1.0", - "jest-message-util": "^29.1.0", - "jest-util": "^29.1.0", + "jest-haste-map": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "natural-compare": "^1.4.0", - "pretty-format": "^29.1.0", + "pretty-format": "^29.1.2", "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "jest-util": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz", - "integrity": "sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", "dev": true, "requires": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12390,17 +12313,17 @@ } }, "jest-validate": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz", - "integrity": "sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", + "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", "dev": true, "requires": { - "@jest/types": "^29.1.0", + "@jest/types": "^29.1.2", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^29.1.0" + "pretty-format": "^29.1.2" }, "dependencies": { "camelcase": { @@ -12412,28 +12335,29 @@ } }, "jest-watcher": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz", - "integrity": "sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", + "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", "dev": true, "requires": { - "@jest/test-result": "^29.1.0", - "@jest/types": "^29.1.0", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^29.1.0", + "jest-util": "^29.1.2", "string-length": "^4.0.1" } }, "jest-worker": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz", - "integrity": "sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", + "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", "dev": true, "requires": { "@types/node": "*", + "jest-util": "^29.1.2", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -12455,9 +12379,9 @@ "integrity": "sha512-KEhB/eLGLomWGPTb+/RNbYsTjIyx03JmbqAyIyiXBuNSa7CmNrJd5ysFhblayzs/e/vbOPMUaLnjHUMhGp4yLw==" }, "js-sdsl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", - "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", "dev": true }, "js-tokens": { @@ -12477,7 +12401,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "jsesc": { "version": "2.5.2", @@ -12504,13 +12428,13 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "json5": { "version": "2.2.1", @@ -12799,12 +12723,9 @@ } }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", + "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==" }, "make-dir": { "version": "3.1.0", @@ -12860,16 +12781,16 @@ } }, "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -12885,10 +12806,16 @@ "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, "minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", "requires": { "yallist": "^4.0.0" } @@ -12916,7 +12843,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "node-int64": { @@ -12938,24 +12865,14 @@ "dev": true }, "npm-package-arg": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz", - "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", "requires": { "hosted-git-info": "^5.0.0", "proc-log": "^2.0.1", "semver": "^7.3.5", "validate-npm-package-name": "^4.0.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "npm-run-path": { @@ -12990,7 +12907,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -13012,6 +12929,16 @@ "lru-cache": "^6.0.0", "object-hash": "^2.0.1", "oidc-token-hash": "^5.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "optionator": { @@ -13031,7 +12958,7 @@ "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true }, "p-limit": { @@ -13076,6 +13003,18 @@ "callsites": "^3.0.0" } }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -13085,7 +13024,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -13106,7 +13045,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "picocolors": { "version": "1.0.0", @@ -13183,7 +13122,7 @@ "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "integrity": "sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -13194,7 +13133,7 @@ "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -13215,7 +13154,7 @@ "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -13224,13 +13163,13 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true }, "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "integrity": "sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -13239,7 +13178,7 @@ "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true } } @@ -13257,9 +13196,9 @@ "dev": true }, "pretty-format": { - "version": "29.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz", - "integrity": "sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -13278,7 +13217,7 @@ "printable-characters": { "version": "1.0.42", "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", - "integrity": "sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g=" + "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==" }, "proc-log": { "version": "2.0.1", @@ -13304,13 +13243,13 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "punycode": { "version": "2.1.1", @@ -13318,9 +13257,9 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "queue-microtask": { "version": "1.2.3", @@ -13347,20 +13286,12 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "requires": { "resolve": "^1.1.6" } @@ -13408,15 +13339,6 @@ "mime-types": "^2.1.12" } }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -13427,15 +13349,16 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { @@ -13484,9 +13407,9 @@ "dev": true }, "rfc4648": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.0.tgz", - "integrity": "sha512-FA6W9lDNeX8WbMY31io1xWg+TpZCbeDKsBo0ocwACZiWnh9TUAyk9CCuBQuOPmYnwwdEQZmraQ2ZK7yJsxErBg==" + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.2.tgz", + "integrity": "sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==" }, "rfdc": { "version": "1.3.0", @@ -13521,15 +13444,33 @@ } }, "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -13553,6 +13494,16 @@ "rechoir": "^0.6.2" } }, + "shx": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", + "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", + "dev": true, + "requires": { + "minimist": "^1.2.3", + "shelljs": "^0.8.5" + } + }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -13581,9 +13532,9 @@ }, "dependencies": { "ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.1.tgz", + "integrity": "sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==", "dev": true } } @@ -13607,25 +13558,11 @@ "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==", "dev": true, "requires": { "concat-stream": "^1.4.7", "os-shim": "^0.1.2" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - } } }, "sprintf-js": { @@ -13635,9 +13572,9 @@ "dev": true }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -13679,14 +13616,6 @@ "dev": true, "requires": { "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "string-argv": { @@ -13706,13 +13635,13 @@ } }, "string-width": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.0.1.tgz", - "integrity": "sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { + "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", - "is-fullwidth-code-point": "^4.0.0", "strip-ansi": "^7.0.1" }, "dependencies": { @@ -13777,6 +13706,11 @@ "supports-color": "^7.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, "system-commands": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz", @@ -13819,7 +13753,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "through": { @@ -13865,6 +13799,15 @@ "is-number": "^7.0.0" } }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, "ts-jest": { "version": "29.0.3", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", @@ -13879,17 +13822,6 @@ "make-error": "1.x", "semver": "7.x", "yargs-parser": "^21.0.1" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "ts-node": { @@ -13914,9 +13846,9 @@ } }, "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "tsutils": { "version": "3.21.0", @@ -13938,7 +13870,7 @@ "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "requires": { "safe-buffer": "^5.0.1" } @@ -13946,7 +13878,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "type-check": { "version": "0.4.0", @@ -13972,7 +13904,7 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, "typescript": { @@ -13982,9 +13914,9 @@ "dev": true }, "underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==" + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "update-browserslist-db": { "version": "1.0.9", @@ -14007,7 +13939,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "uuid": { @@ -14043,7 +13975,7 @@ "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -14053,7 +13985,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" } } }, @@ -14066,6 +13998,14 @@ "makeerror": "1.0.12" } }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -14107,7 +14047,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { "version": "4.0.2", @@ -14120,9 +14060,9 @@ } }, "ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "requires": {} }, "y18n": { @@ -14136,17 +14076,17 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", - "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.2.tgz", + "integrity": "sha512-VSdf2/K3FqAetooKQv45Hcu6sA00aDgWZeGcG6V9IYJnVLTnb6988Tie79K5nx2vK7cEpf+yW8Oy+7iPAbdiHA==", "dev": true }, "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", "requires": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", diff --git a/package.json b/package.json index 2831347..556dc06 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "./bin/index.ts", "type": "module", "scripts": { - "build": "esbuild ./bin/install.mts --bundle --platform=node --format=cjs --outfile=./dist/argopm.cjs --external:shelljs && sed -i.bak 's,/bin/env -S npx ts-node --esm,/bin/env node,g' ./dist/argopm.cjs && cp -r ./lib/static/ ./dist/static/", + "build": "esbuild ./bin/install.mts --bundle --platform=node --format=esm --outfile=./dist/argopm.mjs --external:shelljs --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" && sed -i.bak 's,/bin/env -S npx ts-node --esm,/bin/env node,g' ./dist/argopm.mjs", "test": "jest --detectOpenHandles", "prettier": "prettier --write .", "eslint": "eslint --fix .", From d804f5c07c12258b40e5afcd1a9ddfcaa868ce2e Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Tue, 4 Oct 2022 21:55:00 +0800 Subject: [PATCH 05/11] Extend part-install and exclude-deps features; Attempt at incorporating ts-jest ESM --- bin/install.mts | 150 ++- bin/install.spec.mts | 54 + lib/constants.mts | 2 +- lib/index.mts | 9 +- lib/init.mts | 11 +- lib/install.mts | 150 +-- lib/k8s.mts | 26 +- lib/models/argument.mts | 13 +- lib/models/input.mts | 11 +- lib/models/package.mts | 36 +- lib/models/template.mts | 10 +- lib/s3.mts | 33 +- lib/utils.mts | 52 +- mjs-resolver.ts | 15 + package-lock.json | 2149 +++++++++++++++++++-------------------- package.json | 33 +- tests/base.test.ts | 26 - tsconfig.json | 2 +- 18 files changed, 1470 insertions(+), 1312 deletions(-) create mode 100755 bin/install.spec.mts create mode 100644 mjs-resolver.ts delete mode 100644 tests/base.test.ts diff --git a/bin/install.mts b/bin/install.mts index 8e026fe..78b759b 100755 --- a/bin/install.mts +++ b/bin/install.mts @@ -1,5 +1,5 @@ #!/usr/bin/env -S npx ts-node --esm -import { bright, cyan, dim } from "ansicolor"; +import { bright, cyan, dim, green, yellow } from "ansicolor"; import asTable from "as-table"; import yargs from "yargs"; import { hideBin } from "yargs/helpers"; @@ -9,6 +9,7 @@ import { init } from "../lib/init.mjs"; import { install, installGlobal } from "../lib/install.mjs"; import { K8sInstallerOptionsType } from "../lib/k8s.mjs"; import { Package } from "../lib/models/package.mjs"; +import { constants } from "./constants.mjs"; asTable.configure({ title: (x) => bright(x), @@ -16,7 +17,27 @@ asTable.configure({ dash: bright(cyan("-")), }); -yargs(hideBin(process.argv)) +const yarg = yargs(hideBin(process.argv)); + +yarg + .option("namespace", { + alias: "n", + type: "string", + description: "Kubernetes namespace. Packages will be installed in this namespace", + default: "argo", + }) + .option("registry", { + alias: "r", + type: "string", + description: "Argo Package Registry", + default: "https://packages.atlan.com", + }) + .option("cluster", { + alias: "c", + type: "boolean", + description: "Install the template at cluster level", + default: false, + }) .command({ command: "install ", aliases: ["i"], @@ -26,7 +47,7 @@ yargs(hideBin(process.argv)) .option("save", { alias: "s", type: "boolean", - description: "Save the package as a dependency in the current project.", + description: "Save the package as a dependency in the current project", default: true, }) .option("force", { @@ -53,30 +74,91 @@ yargs(hideBin(process.argv)) description: "Time Zone", demandOption: false, default: Intl.DateTimeFormat().resolvedOptions().timeZone, + }) + .option("exclude-dependencies", { + alias: "x", + type: "boolean", + description: "Exclude dependencies from package.json", + demandOption: false, + default: false, + }) + .option("workflow-templates", { + alias: "wftmpl", + type: "array", + description: "Install all (leave empty) or specific workflowtemplates (for local package only)", + demandOption: false, + }) + .option("configmaps", { + alias: "cm", + type: "array", + description: "Install all (leave empty) or specific configmaps (for local package only)", + demandOption: false, + }) + .option("secrets", { + alias: "sec", + type: "array", + description: "Install all (leave empty) or specific secrets (for local package only)", + demandOption: false, + }) + .option("cronworkflows", { + alias: "cwf", + type: "array", + description: "Install all (leave empty) or specific cronworkflows (for local package only)", + demandOption: false, + }) + .option("pipelines", { + alias: "pl", + type: "array", + description: "Install all (leave empty) or specific pipelines (for local package only)", + demandOption: false, }), handler: async (argv) => { let packageName: string; - const options: K8sInstallerOptionsType = { - force: argv.force, - cronString: argv.cronString, - timeZone: argv.timeZone, + const { + global, + namespace, + registry, + cluster, + excludeDependencies, + save, + force, + cronString, + timeZone, + workflowTemplates, + configmaps, + secrets, + cronworkflows, + pipelines, + } = argv; + const options: K8sInstallerOptionsType = { force, cronString, timeZone }; + const installParts: any = { + [constants.ARGO_WORKFLOW_TEMPLATES_KIND]: workflowTemplates.length > 0 ? workflowTemplates : undefined, + [constants.CONFIGMAP_KIND]: configmaps.length > 0 ? configmaps : undefined, + [constants.SECRET_KIND]: secrets.length > 0 ? secrets : undefined, + [constants.ARGO_CRON_WORKFLOW_KIND]: cronworkflows.length > 0 ? cronworkflows : undefined, + [constants.ARGO_DATAFLOW_KIND]: pipelines.length > 0 ? pipelines : undefined, }; - if (argv.global) { + + if (global) { packageName = await installGlobal( - argv.package as string, - argv.registry as string, - argv.namespace as string, - argv.cluster as boolean, - options as K8sInstallerOptionsType + argv.package as string, // package is a JS reserved word + registry, + namespace, + cluster, + excludeDependencies, + options, + installParts ); } else { packageName = await install( argv.package as string, - argv.registry as string, - argv.namespace as string, - argv.save, - argv.cluster as boolean, - options + registry, + namespace, + save, + cluster, + excludeDependencies, + options, + installParts ); } @@ -94,7 +176,7 @@ yargs(hideBin(process.argv)) ); const info = argv.template ? argoPackage.templateInfo(argv.template as string) - : argoPackage.packageInfo(argv.namespace as string); + : await argoPackage.packageInfo(argv.namespace as string); console.log(info); }, }) @@ -124,7 +206,7 @@ yargs(hideBin(process.argv)) argv.imagePullSecrets as string, argv.cluster as boolean ); - console.log(`Package run successful`); + console.log(green(`Package run successful.`)); }, }) .command({ @@ -133,7 +215,7 @@ yargs(hideBin(process.argv)) describe: "Uninstall a package. Uninstalls all dependencies associated with the package.", handler: async (argv) => { await uninstall(argv.namespace as string, argv.package as string, argv.cluster as boolean); - console.log(`Successfully deleted package ${argv.package}`); + console.log(green(`Successfully deleted package ${argv.package}`)); }, }) .command({ @@ -158,29 +240,13 @@ yargs(hideBin(process.argv)) handler: async (argv) => { const argoPackages = await Package.list(argv.namespace as string, argv.cluster as boolean); if (argoPackages.length === 0) { - console.log("No packages found"); - return; + console.log(yellow("No packages found")); } + console.log(asTable(argoPackages.map((p) => p.info))); }, }) - .option("namespace", { - alias: "n", - type: "string", - description: "Kubernetes namespace. Packages will be installed in this namespace", - default: "argo", - }) - .option("registry", { - alias: "r", - type: "string", - description: "Argo Package Registry", - default: "https://packages.atlan.com", - }) - .option("cluster", { - alias: "c", - type: "boolean", - description: "Install the template at cluster level", - default: false, - }) .demandCommand() - .wrap(144) + .wrap(yarg.terminalWidth()) .help().argv; + +export default yarg; diff --git a/bin/install.spec.mts b/bin/install.spec.mts new file mode 100755 index 0000000..c84695d --- /dev/null +++ b/bin/install.spec.mts @@ -0,0 +1,54 @@ +import yarg from "./install.mjs"; + +describe("cli", () => { + let originalArgv; + + beforeEach(() => { + // Remove all cached modules. The cache needs to be cleared before running + // each command, otherwise you will see the same results from the command + // run in your first test in subsequent tests. + jest.resetModules(); + + // Each test overwrites process arguments so store the original arguments + originalArgv = process.argv; + }); + + afterEach(() => { + jest.resetAllMocks(); + + // Set process arguments back to the original value + process.argv = originalArgv; + }); + + it("should run install command", async () => { + const consoleSpy = jest.spyOn(console, "log"); + + await runCommand("install", "some-package", "--save"); + + expect(consoleSpy).toHaveBeenCalledWith("Installing"); + }); + + it("should run uninstall command", async () => { + const consoleSpy = jest.spyOn(console, "log"); + + await runCommand("uninstall", "some-package"); + + expect(consoleSpy).toHaveBeenCalledWith("Uninstalling"); + }); +}); + +/** + * Programmatically set arguments and execute the CLI script + * + * @param {...string} args - positional and option arguments for the command to run + */ +async function runCommand(...args) { + process.argv = [ + "node", // Not used but a value is required at this index in the array + "cli.js", // Not used but a value is required at this index in the array + ...args, + ]; + + // Require the yargs CLI script + return yarg; +} diff --git a/lib/constants.mts b/lib/constants.mts index 6e07111..c99fa86 100644 --- a/lib/constants.mts +++ b/lib/constants.mts @@ -18,7 +18,7 @@ export const constants = { ARGO_CRON_WORKFLOW_KIND: "CronWorkflow", ARGO_DATAFLOW_KIND: "Pipeline", CONFIGMAP_KIND: "ConfigMap", - SECERT_KIND: "Secret", + SECRET_KIND: "Secret", // workflow ARGO_K8S_API_GROUP: "argoproj.io", diff --git a/lib/index.mts b/lib/index.mts index 20d6eb8..553e1be 100644 --- a/lib/index.mts +++ b/lib/index.mts @@ -29,9 +29,10 @@ export async function run( imagePullSecrets: string, cluster: boolean ) { - const runArguments = generateArguments(process.argv); + const runArguments = generateArguments(); + const argoPackage = await Package.info(namespace, name, cluster); - if (templateName) + if (templateName) { return argoPackage.runTemplate( templateName, runArguments, @@ -40,5 +41,7 @@ export async function run( cluster, namespace ); - return argoPackage.run(runArguments, serviceAccountName, imagePullSecrets, cluster, namespace); + } else { + return argoPackage.run(runArguments, serviceAccountName, imagePullSecrets, cluster, namespace); + } } diff --git a/lib/init.mts b/lib/init.mts index 9b6a8b4..6f9330f 100644 --- a/lib/init.mts +++ b/lib/init.mts @@ -1,9 +1,5 @@ import shell from "shelljs"; -import { dirname } from "node:path"; -import { fileURLToPath } from "node:url"; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); +import { getDirName } from "./utils.mjs"; /** * Init an Argo package inside the folder @@ -17,16 +13,17 @@ const __dirname = dirname(__filename); export const init = async (force: boolean) => { // const dirPath = "/tmp/test-package"; const dirPath = shell.pwd(); + const dirName = getDirName(import.meta.url); const pathComponents = dirPath.split("/"); const packageName = pathComponents[pathComponents.length - 1]; console.log(`Installing from the current directory (${dirPath}) with the package name "${packageName}"...`); if (!force && shell.ls("package.json").length > 0) { - throw new Error(`Files already present in the ${__dirname}. Run this command again with --force to ignore`); + throw new Error(`Files already present in the ${dirName}. Run this command again with --force to ignore`); } - const skeletonPackagePath = `${__dirname}/static/package`; + const skeletonPackagePath = `${dirName}/static/package`; shell.cp("-R", `${skeletonPackagePath}/*`, dirPath); shell.sed("-i", /NAME/g, packageName, `${dirPath}/*.*`); diff --git a/lib/install.mts b/lib/install.mts index 92c9938..8b1c825 100644 --- a/lib/install.mts +++ b/lib/install.mts @@ -9,6 +9,7 @@ import shell from "shelljs"; // import system from "system-commands"; import npa from "npm-package-arg"; import process from "process"; +import { red, yellow } from "ansicolor"; /** * Downloads the given package @@ -42,13 +43,24 @@ export const installGlobal = async function ( registry: string, namespace: string, cluster: boolean, - options: K8sInstallerOptionsType + excludeDependencies: boolean, + options: K8sInstallerOptionsType, + installParts: { [k: string]: string[] } ) { let dirPath = `/tmp/argopm/${packageName}`; dirPath = dirPath.split("@").slice(0, -1).join("@"); - let mainPackageName: string | null | undefined = packageName; - mainPackageName = await install(packageName, registry, namespace, false, cluster, options, dirPath); - deleteDir(dirPath); + const mainPackageName = await install( + packageName, + registry, + namespace, + false, + cluster, + excludeDependencies, + options, + installParts, + dirPath + ); + await deleteDir(dirPath); return mainPackageName; }; @@ -63,42 +75,6 @@ const packageNameFromPath = function (path: string): string { return `${packageObject.name}@${packageObject.version}`; }; -/** - * Execute k8sInstaller and dashboardInstaller. - * @param {string} dirPath - * @param {boolean} cluster - * @param {string} namespace - * @param {string} parentPackageName - * @param {string} registry - * @param {K8sInstallerOptionsType} options - */ -const processInstallers = async ( - dirPath: string, - cluster: boolean, - namespace: string, - parentPackageName: string, - registry: string, - options: K8sInstallerOptionsType -) => { - // Upload Static Files - const s3Uploader = new S3( - constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, - constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(dirPath)) - ); - - // Install Template on Argo - const k8sInstaller = new K8sInstaller(dirPath, namespace, parentPackageName, registry, options); - - // Install Dashboards - const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dirPath); - - await k8sInstaller.install(cluster); - await dashboardInstaller.install(); - await s3Uploader.initialize(); - return await s3Uploader.uploadStaticFiles(dirPath); -}; - /** * Install a package * @@ -115,52 +91,80 @@ export const install = async function ( namespace: string, save: boolean, cluster: boolean, + excludeDependencies: boolean, options: K8sInstallerOptionsType, + installParts: { [k: string]: string[] }, dirPath: string = process.cwd() ) { - const packageJSONFilePath = `${dirPath}/package.json`; - if (packageName === "." && save && !existsSync(packageJSONFilePath)) { - throw new Error(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`); + let parentPackageName = packageName; + const nodeModulesPath = `${dirPath}/node_modules`; + + if (packageName === ".") { + parentPackageName = packageNameFromPath(`${dirPath}`); + registry = "local"; + } else { + const cleanedPackageParts = packageName.split("@"); + let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); + if (cleanedPackageName == "") { + cleanedPackageName = packageName; + } + parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); } - let parentPackageName = packageName; - const npmInstallResult = npmInstall(dirPath, packageName, registry, save); - console.log(npmInstallResult.stdout); + const processInstallers = async (dirPath: string) => { + // Upload Static Files + const s3Uploader = new S3( + constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, + constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, + npa(packageNameFromPath(dirPath)) + ); + + // Install Template on Argo + const k8sInstaller = new K8sInstaller(dirPath, namespace, parentPackageName, registry, options); + + // Install Dashboards + const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dirPath); + + await k8sInstaller.install(cluster, installParts); + await dashboardInstaller.install(); + await s3Uploader.initialize(); + return await s3Uploader.uploadStaticFiles(dirPath); + }; + + if (!excludeDependencies) { + const packageJSONFilePath = `${dirPath}/package.json`; + if (packageName === "." && save && !existsSync(packageJSONFilePath)) { + console.error( + red(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`) + ); + process.exit(1); + } - let dirs: string[] = []; + npmInstall(dirPath, packageName, registry, save); - const nodeModulesPath = `${dirPath}/node_modules`; - if (existsSync(nodeModulesPath)) { - if (packageName !== ".") { - const cleanedPackageParts = packageName.split("@"); - let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); - if (cleanedPackageName == "") { - cleanedPackageName = packageName; - } + let dirs: string[] = []; - parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); - } else { - parentPackageName = packageNameFromPath(`${dirPath}`); - registry = "local"; + if (existsSync(nodeModulesPath)) { + console.log(yellow(`Installing parent package ${parentPackageName}`)); + dirs = await listDirs(nodeModulesPath); + dirs = dirs.filter((dir) => dir !== undefined); } - console.log(`Installing parent package ${parentPackageName}`); - dirs = (await listDirs(nodeModulesPath)).filter((dir) => dir !== undefined); + dirs.forEach(async (dir) => { + if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { + const innerDirs = await listDirs(dir); + innerDirs.forEach(async (innerDir) => { + await processInstallers(innerDir); + }); + } else { + await processInstallers(dir); + } + }); } - dirs.forEach(async (dir) => { - if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { - const innerDirs = await listDirs(dir); - innerDirs.forEach(async (innerDir) => { - await processInstallers(innerDir, cluster, namespace, parentPackageName, registry, options); - }); - } else { - await processInstallers(dir, cluster, namespace, parentPackageName, registry, options); - } - }); - if (packageName === ".") { - await processInstallers(dirPath, cluster, namespace, parentPackageName, registry, options); + parentPackageName = packageNameFromPath(`${dirPath}`); + await processInstallers(dirPath); } const parsedPackage = npa(parentPackageName); diff --git a/lib/k8s.mts b/lib/k8s.mts index ea7a740..44c4853 100644 --- a/lib/k8s.mts +++ b/lib/k8s.mts @@ -117,19 +117,19 @@ export class K8sInstaller { * Installs the given package to Argo K8s deployment * @param {boolean} cluster */ - async install(cluster: boolean) { + async install(cluster: boolean, installParts: { [k: string]: string[] }) { console.log(`Installing package ${this.package.name}@${this.package.version}`); - await this.installConfigs(); - await this.installSecrets(); - await this.installPipelines(); - await this.installTemplates(cluster); - await this.installCronWorkflows(cluster); + await this.installConfigmaps(installParts[constants.CONFIGMAP_KIND]); + await this.installSecrets(installParts[constants.SECRET_KIND]); + await this.installPipelines(installParts[constants.ARGO_DATAFLOW_KIND]); + await this.installTemplates(cluster, installParts[constants.ARGO_WORKFLOW_TEMPLATES_KIND]); + await this.installCronWorkflows(cluster, installParts[constants.ARGO_CRON_WORKFLOW_KIND]); } /** * Installs the config maps */ - async installConfigs() { + async installConfigmaps(names?: string[]) { const dirPath = `${this.packagePath}/configmaps/`; return await this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", K8sInstaller.upsertConfigMap); } @@ -137,16 +137,16 @@ export class K8sInstaller { /** * Installs secrets */ - async installSecrets() { + async installSecrets(names?: string[]) { const dirPath = `${this.packagePath}/secrets/`; - return await this.installYamlInPath(dirPath, false, constants.SECERT_KIND, "", K8sInstaller.upsertSecret); + return await this.installYamlInPath(dirPath, false, constants.SECRET_KIND, "", K8sInstaller.upsertSecret); } /** * Installs cron workflows * @param {boolean} cluster - determines whether the templateRef is from the cluster scope or a namespace */ - async installCronWorkflows(cluster: boolean) { + async installCronWorkflows(cluster: boolean, names?: string[]) { const dirPath = `${this.packagePath}/cronworkflows/`; return await this.installYamlInPath( dirPath, @@ -160,7 +160,7 @@ export class K8sInstaller { /** * Installs data pipelines */ - async installPipelines() { + async installPipelines(names?: string[]) { const dirPath = `${this.packagePath}/pipelines/`; return await this.installYamlInPath( dirPath, @@ -175,7 +175,7 @@ export class K8sInstaller { * Installs the templates * @param {boolean} cluster Determines if ClusterWorkflowTemplates or WorkflowTemplates are installed */ - async installTemplates(cluster: boolean) { + async installTemplates(cluster: boolean, names?: string[]) { const dirPath = `${this.packagePath}/templates/`; const kind = cluster ? constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND : constants.ARGO_WORKFLOW_TEMPLATES_KIND; @@ -201,6 +201,7 @@ export class K8sInstaller { cluster: boolean, kind: string, group: string, + names: string[], fn: ( packageName: string, namespace: string, @@ -219,6 +220,7 @@ export class K8sInstaller { const filePath = `${dirPath}${file}`; const data = await readFile(filePath, "utf8"); const yamlData = load(data) as GenericK8sSpecType; + if (yamlData) { const fileName = file.substring(0, file.lastIndexOf(".")); const folder = dirPath diff --git a/lib/models/argument.mts b/lib/models/argument.mts index 3b836b8..d34a3fc 100644 --- a/lib/models/argument.mts +++ b/lib/models/argument.mts @@ -1,7 +1,7 @@ import { Parameter } from "./parameter.mjs"; -import { yellow } from "ansicolor"; +import { red, yellow } from "ansicolor"; -export class Argument { +export class Arguments { parameters: Parameter[]; /** @@ -17,7 +17,11 @@ export class Argument { this.parameters = Parameter.generate(argumentObj.parameters); } - info() { + /** + * Returns info of an Argument + * @returns {string} + */ + info(): string { let argumentInfo = yellow("Arguments:\n"); argumentInfo += `- ${yellow("Parameters: \n")}`; @@ -34,7 +38,8 @@ export class Argument { checkRequiredArgs(args) { this.parameters.forEach((parameter) => { if (parameter.isRequired && args.getParameterValue(parameter.name) === undefined) { - throw new Error(`Required parameter missing ${parameter.name}`); + console.error(red(`Required parameter missing ${parameter.name}.`)); + process.exit(1); } }); return true; diff --git a/lib/models/input.mts b/lib/models/input.mts index 5d51e00..a816ad5 100644 --- a/lib/models/input.mts +++ b/lib/models/input.mts @@ -1,5 +1,5 @@ import { Parameter } from "./parameter.mjs"; -import { yellow } from "ansicolor"; +import { red, yellow } from "ansicolor"; export type InputObjectType = { parameters?: any; @@ -22,7 +22,11 @@ export class Input { this.parameters = Parameter.generate(inputsObj.parameters); } - info() { + /** + * Return info of Input + * @returns {string} + */ + info(): string { let inputHelp = yellow("Inputs:\n"); inputHelp += `- ${yellow("Parameters: \n")}`; @@ -39,7 +43,8 @@ export class Input { checkRequiredArgs(input: Input) { this.parameters.forEach((parameter) => { if (parameter.isRequired && input.getParameterValue(parameter.name) === undefined) { - throw new Error(`Required parameter missing '${parameter.name}'`); + console.error(red(`Required parameter missing '${parameter.name}'`)); + process.exit(1); } }); return true; diff --git a/lib/models/package.mts b/lib/models/package.mts index 6a8f302..b186906 100644 --- a/lib/models/package.mts +++ b/lib/models/package.mts @@ -1,10 +1,11 @@ import { CoreV1Api, CustomObjectsApi, KubeConfig, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; -import { blue, bright, lightCyan, yellow } from "ansicolor"; +import { blue, bright, lightCyan, red, yellow } from "ansicolor"; import { load } from "js-yaml"; import { readFile } from "node:fs/promises"; import { constants } from "../constants.mjs"; import { K8sApiResponse as K8sApiListResponse } from "../k8s.mjs"; -import { Argument } from "./argument.mjs"; +import { getDirName } from "../utils.mjs"; +import { Arguments } from "./argument.mjs"; import { PackageInfo } from "./info.mjs"; import { Parameter } from "./parameter.mjs"; import { Template } from "./template.mjs"; @@ -20,7 +21,7 @@ export class Package { spec: any; info: PackageInfo; isExecutable: boolean; - arguments: Argument; + arguments: Arguments; templates: Template[]; /** @@ -32,7 +33,7 @@ export class Package { this.spec = k8sYaml.spec; this.info = new PackageInfo(this.metadata.labels); this.isExecutable = !!this.spec.entrypoint; - this.arguments = new Argument(this.spec.arguments); + this.arguments = new Arguments(this.spec.arguments); this.templates = Template.generate(this.spec.templates); } @@ -377,15 +378,23 @@ export class Package { throw "Package is not runnable"; } - const runtimeArguments = new Argument(args); + const dirName = getDirName(import.meta.url); + + const runtimeArguments = new Arguments(args); this.arguments.checkRequiredArgs(runtimeArguments); - const yamlStr = await readFile(`${__dirname}/../static/workflows/workflow.yaml`); + const yamlStr = await readFile(`${dirName}/../static/workflows/workflow.yaml`); const workflow: any = load(yamlStr.toString()); const name = this.metadata.name; workflow.metadata.generateName = `${name}-`; - if (serviceAccountName) workflow.spec.serviceAccountName = serviceAccountName; - if (imagePullSecrets) workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; + if (serviceAccountName) { + workflow.spec.serviceAccountName = serviceAccountName; + } + + if (imagePullSecrets) { + workflow.spec.imagePullSecrets = [{ name: imagePullSecrets }]; + } + workflow.spec.workflowTemplateRef.name = name; workflow.spec.workflowTemplateRef.clusterScope = cluster; workflow.spec.arguments = runtimeArguments; @@ -418,7 +427,7 @@ export class Package { namespace: string ) { const template = this.templateForName(templateName); - const workflow = template.generateWorkflow( + const workflow = await template.generateWorkflow( this.metadata.name, args, serviceAccountName, @@ -438,7 +447,7 @@ export class Package { * Get Installer label * @returns {string} */ - static getInstallerLabel() { + static getInstallerLabel(): string { return `${constants.ARGOPM_INSTALLER_LABEL}=${constants.ARGOPM_INSTALLER_LABEL_VALUE}`; } @@ -480,7 +489,8 @@ export class Package { } const items = response.body.items; if (items.length !== 1) { - throw new Error(`${packageName} not found`); + console.error(red(`Package "${packageName}" is not found.`)); + process.exit(1); } return new Package(items[0]); } @@ -489,9 +499,9 @@ export class Package { * Get all installed packages in the namespace * @param {string} namespace * @param {boolean} cluster - * @returns + * @returns {Package[]} packages */ - static async list(namespace: string, cluster: boolean) { + static async list(namespace: string, cluster: boolean): Promise { let response: K8sApiListResponse; let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; diff --git a/lib/models/template.mts b/lib/models/template.mts index ca57c62..bbd3535 100644 --- a/lib/models/template.mts +++ b/lib/models/template.mts @@ -1,8 +1,9 @@ -import { Input } from "./input.mjs"; -import { readFile } from "node:fs/promises"; -import { load } from "js-yaml"; import { blue, bright } from "ansicolor"; +import { load } from "js-yaml"; +import { readFile } from "node:fs/promises"; import { GenericK8sSpecType } from "../k8s.mjs"; +import { getDirName } from "../utils.mjs"; +import { Input } from "./input.mjs"; type TemplateObjectType = { name: string; @@ -45,10 +46,11 @@ export class Template { imagePullSecrets: string, cluster: boolean ) { + const dirName = getDirName(import.meta.url); const runtimeInputs = new Input(args); this.inputs.checkRequiredArgs(runtimeInputs); - const data = await readFile(`${__dirname}/../static/workflows/template-workflow.yaml`); + const data = await readFile(`${dirName}/../static/workflows/template-workflow.yaml`); const workflow: GenericK8sSpecType = load(data.toString()); workflow.metadata.generateName = `${this.name}-`; diff --git a/lib/s3.mts b/lib/s3.mts index 378e7f3..a1729fb 100644 --- a/lib/s3.mts +++ b/lib/s3.mts @@ -1,6 +1,7 @@ -import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; +import { PutObjectCommand, PutObjectCommandInput, S3Client } from "@aws-sdk/client-s3"; import { CoreV1Api, KubeConfig } from "@kubernetes/client-node"; -import { readFileSync } from "fs"; +import { yellow } from "ansicolor"; +import { existsSync, readFileSync } from "fs"; import { load } from "js-yaml"; import { Result } from "npm-package-arg"; import { walk } from "./utils.mjs"; @@ -52,8 +53,8 @@ export class S3 { const coreK8sApi = kc.makeApiClient(CoreV1Api); const argoWorkflowControllerConfigMap = await coreK8sApi.readNamespacedConfigMap(configMapName, argoNamespace); if (argoWorkflowControllerConfigMap.body.data) { - const bucket: string = load(argoWorkflowControllerConfigMap.body.data["bucket"]) as string; - const region: string = load(argoWorkflowControllerConfigMap.body.data["region"]) as string; + const bucket: string = argoWorkflowControllerConfigMap.body.data["bucket"]; + const region: string = argoWorkflowControllerConfigMap.body.data["region"]; return { bucket, region, @@ -77,14 +78,16 @@ export class S3 { if (fileContent.length > 0) { const pathSplit = path.split("static/"); const key = `${this.s3KeyPrefix}/${pathSplit[pathSplit.length - 1]}`; + console.log(`Uploading file: ${path} to ${key}`); - const params = { - Bucket: this.bucketName, - Key: key, - Body: fileContent, - }; - return await this.client.send(new PutObjectCommand(params)); + return await this.client.send( + new PutObjectCommand({ + Bucket: this.bucketName, + Key: key, + Body: fileContent, + }) + ); } } @@ -94,8 +97,12 @@ export class S3 { * @param {String} dirPath Absolute path of the directory */ async uploadStaticFiles(dirPath) { - let dirs = await walk(`${dirPath}/static`); - dirs = dirs.filter((dir) => !dir.endsWith(".md")); - await Promise.all(dirs.map((dir) => this.uploadFile(dir))); + if (existsSync(`${dirPath}/static`)) { + let dirs = await walk(`${dirPath}/static`); + dirs = dirs.filter((dir) => !dir.endsWith(".md")); + await Promise.all(dirs.map((dir) => this.uploadFile(dir))); + } else { + console.log(yellow(`No "static" dir under ${dirPath}.`)); + } } } diff --git a/lib/utils.mts b/lib/utils.mts index 511503a..e0fd739 100644 --- a/lib/utils.mts +++ b/lib/utils.mts @@ -1,11 +1,25 @@ -import { join } from "path"; +import { dirname, join } from "path"; import { readdir, stat, access } from "node:fs/promises"; import { promisify } from "node:util"; import rimraf from "rimraf"; import { Parameter } from "./models/parameter.mjs"; +import { hideBin, Parser } from "yargs/helpers"; +import { fileURLToPath } from "url"; + const rimrafPromise = promisify(rimraf); +/** + * Returns ESM-specific dir name + * @param {string} url + * @returns {string} __dirname + */ +export const getDirName = (url: string): string => { + const __filename = fileURLToPath(url); + const __dirname = dirname(__filename); + return __dirname; +}; + /** * Recursively walk through the folder and return all file paths * @param dir @@ -54,31 +68,19 @@ export async function deleteDir(dir: string) { /** * Generate arguments - * @param {[string]} args - * @returns {Object} + * @returns */ -export function generateArguments(args: string[]) { - const index = args.indexOf("--"); - const parameters: Parameter[] = []; - - if (index === -1) return { parameters: parameters }; +export function generateArguments() { + const argStartIndex = process.argv.indexOf("--"); + let parameters: Parameter[] = []; - let key: string; - args.slice(index + 1).forEach((arg) => { - if (!key) { - key = arg.replace("--", ""); - } else { - parameters.push( - new Parameter({ - name: key, - value: arg, - }) - ); - key = undefined; - } - }); + if (argStartIndex > -1) { + const runArgv = hideBin(process.argv.slice(argStartIndex - 1)); + const parsedArgs = Parser.detailed(runArgv); + parameters = Object.entries(parsedArgs.argv) + .filter(([key, _]) => key !== "_") + .map(([key, value]) => new Parameter({ name: key, value })); + } - return { - parameters: parameters, - }; + return { parameters }; } diff --git a/mjs-resolver.ts b/mjs-resolver.ts new file mode 100644 index 0000000..18d1c70 --- /dev/null +++ b/mjs-resolver.ts @@ -0,0 +1,15 @@ +const mjsResolver = (path, options) => { + const mjsExtRegex = /\.mjs$/i; + const resolver = options.defaultResolver; + if (mjsExtRegex.test(path)) { + try { + return resolver(path.replace(mjsExtRegex, ".mts"), options); + } catch { + // use default resolver + } + } + + return resolver(path, options); +}; + +module.exports = mjsResolver; diff --git a/package-lock.json b/package-lock.json index f2bf4ba..a8578fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "argopm", - "version": "1.0.0", + "version": "1.0.0-rc.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "argopm", - "version": "1.0.0", + "version": "1.0.0-rc.1", "license": "MIT", "dependencies": { "@aws-sdk/client-s3": "^3.180.0", @@ -20,16 +20,15 @@ "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", "shelljs": "^0.8.5", - "system-commands": "^1.1.7", "yargs": "^17.5.1" }, "bin": { - "argopm": "dist/install.cjs" + "argopm": "dist/install.mjs" }, "devDependencies": { "@types/jest": "^29.0.3", "@types/js-yaml": "^4.0.5", - "@types/node": "^18.7.23", + "@types/node": "^18.8.1", "@types/npm-package-arg": "^6.1.1", "@types/rimraf": "^3.0.2", "@types/shelljs": "^0.8.11", @@ -192,11 +191,11 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz", - "integrity": "sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.183.0.tgz", + "integrity": "sha512-iRhdCoC/QyyB6iRCytb12T0XtfmQRn849vnbcUd8BprXvkQ/YwmFS//4Lj02uxS+myqXCntoAj1nKvZZwcFmbg==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -204,78 +203,78 @@ } }, "node_modules/@aws-sdk/chunked-blob-reader": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz", - "integrity": "sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.183.0.tgz", + "integrity": "sha512-N8fyzlo6yvLH7SYxGyWUWj8kpESdlE9wbSY1+1LxB8Z/VIUUiyivMH2dcvwcYnP1LexNXrazTE3zxo13O0XUaA==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/chunked-blob-reader-native": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz", - "integrity": "sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.183.0.tgz", + "integrity": "sha512-CjFeO3F9IwVdfLUzqIuHtDpbzd7zqDyGpyy6qIdf1WKbpqrJ0TlGXuvIm4LytVaDSd4lLvBc7VXsSQS0Pz0A0A==", "dependencies": { - "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-browser": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.181.0.tgz", - "integrity": "sha512-EUJ/Y8SWALh5bfxcg+LQytpI/R3KXHYilWRnBBsKLBUfAWPj+8NzZdDK8wD/6htBtAV4XnqHux3cMCnpeoRf8g==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.183.0.tgz", + "integrity": "sha512-wDEpbGjLZzSd6oqALlcO+kaZOABrljebjV4PAsfcsl0R6DMFmNj/gxcVL329nwWN3yUXDaZXRqx2Rd22jMKbjQ==", "dependencies": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.181.0", - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.181.0", - "@aws-sdk/eventstream-serde-browser": "3.178.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.178.0", - "@aws-sdk/eventstream-serde-node": "3.178.0", - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/hash-blob-browser": "3.178.0", - "@aws-sdk/hash-node": "3.178.0", - "@aws-sdk/hash-stream-node": "3.178.0", - "@aws-sdk/invalid-dependency": "3.178.0", - "@aws-sdk/md5-js": "3.178.0", - "@aws-sdk/middleware-bucket-endpoint": "3.178.0", - "@aws-sdk/middleware-content-length": "3.178.0", - "@aws-sdk/middleware-expect-continue": "3.178.0", - "@aws-sdk/middleware-flexible-checksums": "3.178.0", - "@aws-sdk/middleware-host-header": "3.178.0", - "@aws-sdk/middleware-location-constraint": "3.178.0", - "@aws-sdk/middleware-logger": "3.178.0", - "@aws-sdk/middleware-recursion-detection": "3.178.0", - "@aws-sdk/middleware-retry": "3.178.0", - "@aws-sdk/middleware-sdk-s3": "3.178.0", - "@aws-sdk/middleware-serde": "3.178.0", - "@aws-sdk/middleware-signing": "3.179.0", - "@aws-sdk/middleware-ssec": "3.178.0", - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/middleware-user-agent": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4-multi-region": "3.180.0", - "@aws-sdk/smithy-client": "3.180.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-base64-node": "3.170.0", - "@aws-sdk/util-body-length-browser": "3.170.0", - "@aws-sdk/util-body-length-node": "3.170.0", - "@aws-sdk/util-defaults-mode-browser": "3.180.0", - "@aws-sdk/util-defaults-mode-node": "3.180.0", - "@aws-sdk/util-stream-browser": "3.178.0", - "@aws-sdk/util-stream-node": "3.178.0", - "@aws-sdk/util-user-agent-browser": "3.178.0", - "@aws-sdk/util-user-agent-node": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", - "@aws-sdk/util-waiter": "3.180.0", - "@aws-sdk/xml-builder": "3.170.0", + "@aws-sdk/client-sts": "3.183.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/credential-provider-node": "3.183.0", + "@aws-sdk/eventstream-serde-browser": "3.183.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.183.0", + "@aws-sdk/eventstream-serde-node": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/hash-blob-browser": "3.183.0", + "@aws-sdk/hash-node": "3.183.0", + "@aws-sdk/hash-stream-node": "3.183.0", + "@aws-sdk/invalid-dependency": "3.183.0", + "@aws-sdk/md5-js": "3.183.0", + "@aws-sdk/middleware-bucket-endpoint": "3.183.0", + "@aws-sdk/middleware-content-length": "3.183.0", + "@aws-sdk/middleware-expect-continue": "3.183.0", + "@aws-sdk/middleware-flexible-checksums": "3.183.0", + "@aws-sdk/middleware-host-header": "3.183.0", + "@aws-sdk/middleware-location-constraint": "3.183.0", + "@aws-sdk/middleware-logger": "3.183.0", + "@aws-sdk/middleware-recursion-detection": "3.183.0", + "@aws-sdk/middleware-retry": "3.183.0", + "@aws-sdk/middleware-sdk-s3": "3.183.0", + "@aws-sdk/middleware-serde": "3.183.0", + "@aws-sdk/middleware-signing": "3.183.0", + "@aws-sdk/middleware-ssec": "3.183.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/middleware-user-agent": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4-multi-region": "3.183.0", + "@aws-sdk/smithy-client": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-node": "3.183.0", + "@aws-sdk/util-body-length-browser": "3.183.0", + "@aws-sdk/util-body-length-node": "3.183.0", + "@aws-sdk/util-defaults-mode-browser": "3.183.0", + "@aws-sdk/util-defaults-mode-node": "3.183.0", + "@aws-sdk/util-stream-browser": "3.183.0", + "@aws-sdk/util-stream-node": "3.183.0", + "@aws-sdk/util-user-agent-browser": "3.183.0", + "@aws-sdk/util-user-agent-node": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/util-waiter": "3.183.0", + "@aws-sdk/xml-builder": "3.183.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" @@ -285,40 +284,40 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.181.0.tgz", - "integrity": "sha512-p/HsYVAO7fgjFfn4LqlnlpSKPXGPegAwjPpY+SqyK3/Hj1OtED4whG8LTgxZSTtYwNIkHEjrHnXTiymyXh34Aw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.183.0.tgz", + "integrity": "sha512-Dw2objS0rxlziFL0Jahzy8H1OlyrRCnmVH7f1pBrmU7RSzztBpU2Z8OPaE5m1MwUISzpOWQlo8zEVUMYuT/Rww==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/hash-node": "3.178.0", - "@aws-sdk/invalid-dependency": "3.178.0", - "@aws-sdk/middleware-content-length": "3.178.0", - "@aws-sdk/middleware-host-header": "3.178.0", - "@aws-sdk/middleware-logger": "3.178.0", - "@aws-sdk/middleware-recursion-detection": "3.178.0", - "@aws-sdk/middleware-retry": "3.178.0", - "@aws-sdk/middleware-serde": "3.178.0", - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/middleware-user-agent": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/smithy-client": "3.180.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-base64-node": "3.170.0", - "@aws-sdk/util-body-length-browser": "3.170.0", - "@aws-sdk/util-body-length-node": "3.170.0", - "@aws-sdk/util-defaults-mode-browser": "3.180.0", - "@aws-sdk/util-defaults-mode-node": "3.180.0", - "@aws-sdk/util-user-agent-browser": "3.178.0", - "@aws-sdk/util-user-agent-node": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/hash-node": "3.183.0", + "@aws-sdk/invalid-dependency": "3.183.0", + "@aws-sdk/middleware-content-length": "3.183.0", + "@aws-sdk/middleware-host-header": "3.183.0", + "@aws-sdk/middleware-logger": "3.183.0", + "@aws-sdk/middleware-recursion-detection": "3.183.0", + "@aws-sdk/middleware-retry": "3.183.0", + "@aws-sdk/middleware-serde": "3.183.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/middleware-user-agent": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/smithy-client": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-node": "3.183.0", + "@aws-sdk/util-body-length-browser": "3.183.0", + "@aws-sdk/util-body-length-node": "3.183.0", + "@aws-sdk/util-defaults-mode-browser": "3.183.0", + "@aws-sdk/util-defaults-mode-node": "3.183.0", + "@aws-sdk/util-user-agent-browser": "3.183.0", + "@aws-sdk/util-user-agent-node": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -326,43 +325,43 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.181.0.tgz", - "integrity": "sha512-j//F9kjdSv9lUa8p87cg+xk6l5E8o8+GTYP5838eFQR7XcEc3yEljSCkuj2xIzrtf1jKuMXBnswTKmxJhjbTzQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.183.0.tgz", + "integrity": "sha512-xl7CDncgUmcSJ5Nq3zDylyCzdJhfWzu3GUHXFv5HszcmSwrVZOtmm+j0XQfnqO3XdN8o/1CtsAkiUC7hQV8iDg==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.181.0", - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/hash-node": "3.178.0", - "@aws-sdk/invalid-dependency": "3.178.0", - "@aws-sdk/middleware-content-length": "3.178.0", - "@aws-sdk/middleware-host-header": "3.178.0", - "@aws-sdk/middleware-logger": "3.178.0", - "@aws-sdk/middleware-recursion-detection": "3.178.0", - "@aws-sdk/middleware-retry": "3.178.0", - "@aws-sdk/middleware-sdk-sts": "3.179.0", - "@aws-sdk/middleware-serde": "3.178.0", - "@aws-sdk/middleware-signing": "3.179.0", - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/middleware-user-agent": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/smithy-client": "3.180.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-base64-node": "3.170.0", - "@aws-sdk/util-body-length-browser": "3.170.0", - "@aws-sdk/util-body-length-node": "3.170.0", - "@aws-sdk/util-defaults-mode-browser": "3.180.0", - "@aws-sdk/util-defaults-mode-node": "3.180.0", - "@aws-sdk/util-user-agent-browser": "3.178.0", - "@aws-sdk/util-user-agent-node": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/credential-provider-node": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/hash-node": "3.183.0", + "@aws-sdk/invalid-dependency": "3.183.0", + "@aws-sdk/middleware-content-length": "3.183.0", + "@aws-sdk/middleware-host-header": "3.183.0", + "@aws-sdk/middleware-logger": "3.183.0", + "@aws-sdk/middleware-recursion-detection": "3.183.0", + "@aws-sdk/middleware-retry": "3.183.0", + "@aws-sdk/middleware-sdk-sts": "3.183.0", + "@aws-sdk/middleware-serde": "3.183.0", + "@aws-sdk/middleware-signing": "3.183.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/middleware-user-agent": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/smithy-client": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-node": "3.183.0", + "@aws-sdk/util-body-length-browser": "3.183.0", + "@aws-sdk/util-body-length-node": "3.183.0", + "@aws-sdk/util-defaults-mode-browser": "3.183.0", + "@aws-sdk/util-defaults-mode-node": "3.183.0", + "@aws-sdk/util-user-agent-browser": "3.183.0", + "@aws-sdk/util-user-agent-node": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" @@ -372,14 +371,14 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz", - "integrity": "sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.183.0.tgz", + "integrity": "sha512-cJBY5g+yJAI0iigketD3rbweyoLOw6SFiJDzRqZq3KgytmnhnrmNbRVTSdq1Qtn+d20NVxT9kSRUu21QyHb1nw==", "dependencies": { - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-config-provider": "3.170.0", - "@aws-sdk/util-middleware": "3.178.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-config-provider": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -387,12 +386,12 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz", - "integrity": "sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.183.0.tgz", + "integrity": "sha512-RJ1QZxpfWf3hmjUm1fYCEj3p4Rl61kMFfU6ab3hpDGuSXbuLkAvTOIbssIUDHcgxUSszV5XqpPzBUnTui3cZYA==", "dependencies": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -400,14 +399,14 @@ } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz", - "integrity": "sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.183.0.tgz", + "integrity": "sha512-RHzciaoW0sPV52VUMd3SrIFrKhXsKbn9okEF+UdR2P3RgxNsguUZsewpDqhjGZBH0E2IiuFrBPjsxQKAI+mFbQ==", "dependencies": { - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -415,17 +414,17 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.181.0.tgz", - "integrity": "sha512-jOa42qYFgkdMumw0IRO0ASAjM0vZMXvPpy3DGOaG0Ehy4KHeykEj4/J23SxCTCkOqAbz2+8XVCuyTExUmWCuWw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.183.0.tgz", + "integrity": "sha512-tWiTIeA72L/7nJnDS5GfNmX58Ms9bUQLb7e9PXv5lWAfyiT9po6KMdBGIN7qld1kxBDcwFZPxsxtkHrbU+6d6A==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.178.0", - "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.181.0", - "@aws-sdk/credential-provider-web-identity": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/credential-provider-env": "3.183.0", + "@aws-sdk/credential-provider-imds": "3.183.0", + "@aws-sdk/credential-provider-sso": "3.183.0", + "@aws-sdk/credential-provider-web-identity": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -433,19 +432,19 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.181.0.tgz", - "integrity": "sha512-RlLdp+7faCKzJsmUlBSr4CjqN9WG+YZpmuVVlW5fXGUdXLBLEvLMTl5rmwKtRSUytyYK0Vqtmt48I4nBze8MrA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.183.0.tgz", + "integrity": "sha512-APVAOnB/5CWqnLOY4FnZ779jFg7c8EU4zlj1klZRdNLCTjDXkQSrkJ14Zy44NiTWfxalU5BPsCFHDsQo0hkyQQ==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.178.0", - "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-ini": "3.181.0", - "@aws-sdk/credential-provider-process": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.181.0", - "@aws-sdk/credential-provider-web-identity": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/credential-provider-env": "3.183.0", + "@aws-sdk/credential-provider-imds": "3.183.0", + "@aws-sdk/credential-provider-ini": "3.183.0", + "@aws-sdk/credential-provider-process": "3.183.0", + "@aws-sdk/credential-provider-sso": "3.183.0", + "@aws-sdk/credential-provider-web-identity": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -453,13 +452,13 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz", - "integrity": "sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.183.0.tgz", + "integrity": "sha512-JRePfiFPWpyF3iotHx45WyP1qe50BsPdOOFGh3vmyx5L92lnzchlGsOMpcNUiATUuA3Ar0LUt5bS299LTZWeuQ==", "dependencies": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -467,14 +466,14 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.181.0.tgz", - "integrity": "sha512-03YAvns+P7hw5rLwYLExezn9iGX9HD2GAKCEgpSaZSlNLzMw0jU7VEmqJvrLqi+xAoshuRR5A3v8HFQU246QRA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.183.0.tgz", + "integrity": "sha512-jddGjwAFbYyZkIiR+ghPPh92MQuljI/tusOEgvvUM/w+Cx4jvulZo8rJuEvlU49cXn76dyNxGeDWeqfskuOMpQ==", "dependencies": { - "@aws-sdk/client-sso": "3.181.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/client-sso": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -482,12 +481,12 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz", - "integrity": "sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.183.0.tgz", + "integrity": "sha512-AZGZ4zrjMgtVk5MhsRGj6glsivls4qWUQ1Vuq9FjlaN+ltW74w3D0juTwpUI/OHuSHhOznOZsO9fI4DlCfUeSw==", "dependencies": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -495,23 +494,23 @@ } }, "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz", - "integrity": "sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.183.0.tgz", + "integrity": "sha512-GHZ1Xn7Lv0bR3MxYVSyaLb75GsQA2sWlq7XvU5QFifFHskXzRCjuoHTvxg3K8Ez3AuTTkYhH0NOhv1teQ1NHow==", "dependencies": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-hex-encoding": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-hex-encoding": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/eventstream-serde-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz", - "integrity": "sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.183.0.tgz", + "integrity": "sha512-qJOlWKRPSe132EOP/05JZA1OUYAuinUbofgE3N05sCSWBmdlwQPFGIEcePjNg+HfJKXMWI86o4BWmfBgB8ZFcg==", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/eventstream-serde-universal": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -519,11 +518,11 @@ } }, "node_modules/@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz", - "integrity": "sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.183.0.tgz", + "integrity": "sha512-Tdefws3/NjD7NdP2OqiZZlQAoPhjgMrFSwqT//njMGnkcbhO52w/jhJXEW5HePl4wbRgpp40Ae8uQSRfsYJhuw==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -531,12 +530,12 @@ } }, "node_modules/@aws-sdk/eventstream-serde-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz", - "integrity": "sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.183.0.tgz", + "integrity": "sha512-16l2a3TdWhMdzPxSLKfboj/NbEKxNyJF8Xu6zGOY61g5kRpXD2Nqg8ycDjq1CW+60H5SaCxRV2EsYKgroSWgTg==", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/eventstream-serde-universal": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -544,12 +543,12 @@ } }, "node_modules/@aws-sdk/eventstream-serde-universal": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz", - "integrity": "sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.183.0.tgz", + "integrity": "sha512-9mfTUdPafq+P2aUSZMh6/+XIxq0Lq2oWldcF8vb2gKH6ZBJLU1Nw7CRXbO6wbaPl/YM83y6G3Y5mkRnjBcxP1A==", "dependencies": { - "@aws-sdk/eventstream-codec": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/eventstream-codec": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -557,35 +556,35 @@ } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz", - "integrity": "sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.183.0.tgz", + "integrity": "sha512-YaVXUTYnm6ZsT4qVWcAvtjkxsxzGJW1l0o4oXnnz3hhl7AZM/RjL2l24aixSMeoj7R4hA4Yi7sHFm5OlHSTg5A==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/querystring-builder": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/querystring-builder": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-blob-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz", - "integrity": "sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.183.0.tgz", + "integrity": "sha512-kytjmG+xupsMxxIA8+e1zV82EdydFF82+jMfxOUovidVbVq9uTTcpF2WqbaFMje1ylZjSbHCCptjGRg1DfTc8w==", "dependencies": { - "@aws-sdk/chunked-blob-reader": "3.170.0", - "@aws-sdk/chunked-blob-reader-native": "3.170.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/chunked-blob-reader": "3.183.0", + "@aws-sdk/chunked-blob-reader-native": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz", - "integrity": "sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.183.0.tgz", + "integrity": "sha512-XPe1TzupofkypgLw4Y38ruUM4hrrGIGwJGI/KsljDoEDpz24SyMItyCZbF7ddaPkbJGa4oO+HN072SXPB/z/6g==", "dependencies": { - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -593,11 +592,11 @@ } }, "node_modules/@aws-sdk/hash-stream-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz", - "integrity": "sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.183.0.tgz", + "integrity": "sha512-xqMIftU/mQAPXmjNahgA6SXNY7H/8GyDY7XC0w7aHIVBZx0DZlvStbFZ+BdZKyOHVzQOftliikDJzqPz3EiPWA==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -605,18 +604,18 @@ } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz", - "integrity": "sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.183.0.tgz", + "integrity": "sha512-ouKWKIFzWEt64Eg+WPjMlG/KzvQ4h3DakjHJ6L1IB/lXDL8TzJwqKdyEyt3V6/jOXLt8Wf6LtG8HA+5OC+jASQ==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz", - "integrity": "sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.183.0.tgz", + "integrity": "sha512-s0ukhcjX1dUPRFPLyWJw9mg6SB+5YOdV2vHoKez0L7ry97p3C29wtImV2NOdw54fn/lKOtil22lFN7JpoaqU/w==", "dependencies": { "tslib": "^2.3.1" }, @@ -625,25 +624,25 @@ } }, "node_modules/@aws-sdk/md5-js": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz", - "integrity": "sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.183.0.tgz", + "integrity": "sha512-FUQsZY8GwICKcHuJ8dcvmMlVOjWzdPoGIdjLl2F7kqJosTz908UoOQzIdm50UOChk8OVLgfVDOJDQ1ioycClCA==", "dependencies": { - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz", - "integrity": "sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.183.0.tgz", + "integrity": "sha512-JpqE+5BdblM1zAoQwlTC5st4ev/MNvewYayFZgroElyPySs5Ushy0u6b3FiJx/pdKPNX/Io75VNFxGeRcJsspA==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-arn-parser": "3.170.0", - "@aws-sdk/util-config-provider": "3.170.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-arn-parser": "3.183.0", + "@aws-sdk/util-config-provider": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -651,12 +650,12 @@ } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz", - "integrity": "sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.183.0.tgz", + "integrity": "sha512-dcLMEEa6j3eDH8obsDHZaHgOZIUPDIZdkgtLYB0tyvJEo8HZGEE/Ch1abwlIzXkZ7qRPXysgX7JayJV8N7kxEw==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -664,12 +663,12 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz", - "integrity": "sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.183.0.tgz", + "integrity": "sha512-4267Sy91KH0XaCE0ANWeck13sGVHkWLozd9i9jPxIXQabnOFFnfo4nkH05n7tuR7ItDyp3R5S6S9fqXj6QYXsA==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -677,15 +676,15 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz", - "integrity": "sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.183.0.tgz", + "integrity": "sha512-amfk55oTAvGN0VluzaNTcQO4ERT7V5pvdjBGxBMjPJD9G3vdj6o2ZvjgGANKZDqarmebcrbEepLCp5PLtfdUgA==", "dependencies": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.170.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/is-array-buffer": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -693,12 +692,12 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz", - "integrity": "sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.183.0.tgz", + "integrity": "sha512-EcInz6QFQ0ljK8QABX/NRcLYGySv+S/mmJYSLIHkU+/FDh+Wh08Awq9OVjJwGp2mmHM1ZHHHI0sTrdBdmBLX3g==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -706,11 +705,11 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz", - "integrity": "sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.183.0.tgz", + "integrity": "sha512-XIj2NZa2R+hioPWXH4TIQN1Jy5m6m3u5ouPcVxijMdJ6HozEEJZVaWiXNQczr8otWCYzXqq88p6Zu683V/oTPw==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -718,11 +717,11 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz", - "integrity": "sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.183.0.tgz", + "integrity": "sha512-bEjira7lUPtIfOCDAAkWR53gIJG2g8HhYeL0C+fGB4lztf2Cdlqg9quLXXHRVd0Vmio4OR3NMm5aPIwMnUULWQ==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -730,12 +729,12 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz", - "integrity": "sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.183.0.tgz", + "integrity": "sha512-RcsFN5Mp10SO9yKRVeFqedxQIhqWi00Kb5EpE1SR7bC/tcrizS2e0ytFkLk2Bv2U6tbT1CYg7EMa76ssRaSk5w==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -743,14 +742,14 @@ } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz", - "integrity": "sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ==", - "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/service-error-classification": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-middleware": "3.178.0", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.183.0.tgz", + "integrity": "sha512-TV3yKWd5g+18/0XjqVeG4/IrksAvBBqSuBVaaNFUACBhwZGZy6IV0sSOlYnWHLTPbPIwrxN9TTt+uIdvCbf+hw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/service-error-classification": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, @@ -759,14 +758,14 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz", - "integrity": "sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.183.0.tgz", + "integrity": "sha512-Ot3CsBqayUMls+G87Mfm/I6Kksgb2Pw5HoSFj8qI66IB2enwvfJp+aak4ZsRE7YpjXMQ51hCvfJUPnRvsZuycw==", "dependencies": { - "@aws-sdk/middleware-bucket-endpoint": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-arn-parser": "3.170.0", + "@aws-sdk/middleware-bucket-endpoint": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-arn-parser": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -774,15 +773,15 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.179.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz", - "integrity": "sha512-uU9UdG9ornvblXdLLNsZNpgMOA9vgFMB93zo3DL/Q6MPmYprZYyK7dUiA06i1pe4HP2gR3N3hxXwzmKU6Bjt6A==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.183.0.tgz", + "integrity": "sha512-d8zqIDiT1/Zqh0RB/VV4RHz+CIyrMbxEm81rx0pn/9eMVLO4A33j1DaaTcQ0fuCCU7K2rptJC+t2tvkzmXPERg==", "dependencies": { - "@aws-sdk/middleware-signing": "3.179.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/middleware-signing": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -790,11 +789,11 @@ } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz", - "integrity": "sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.183.0.tgz", + "integrity": "sha512-8VqXmaIbH5E1L7ORXLAhaLKpoUJl7vYCbFpL3NKPlVBPDPAydLhyEltBc3mJTfUo4XWYn6qRqgNwlppXUJZ1xg==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -802,15 +801,15 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.179.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz", - "integrity": "sha512-rtB6t3w1Km3ngO1yoiEUqsobujcBk36oPs2fTUKTbmuTr+54YH3NF0zAwVJv08lpfAs56holtp+bYyAxZJIxSQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.183.0.tgz", + "integrity": "sha512-ABb8aSs6649pOZg2Ck3EyeMJo03eYBIqUw7vOhBR6IhQA/XHCFzFX8vEhWjhEWfQcUQBIzNlgoY+0uXK0wVEYQ==", "dependencies": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-middleware": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -818,11 +817,11 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz", - "integrity": "sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.183.0.tgz", + "integrity": "sha512-eDzWpJA4FkTI41LvAR1lavsidS/5WXFbok2kraAZSdnnU+GXiOqh8I/LPpO/vljcp68kh0on2YMnl/nB22BLqg==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -830,9 +829,9 @@ } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz", - "integrity": "sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.183.0.tgz", + "integrity": "sha512-xNvGdj5qgSiC0WETkDOk1Rr7goR7smjbRc/vcYzO4HLwfw2JX/QxtZ2iNAdBMwW1M8O4JfVqS3ynqlE6Ssd7YQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -841,12 +840,12 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz", - "integrity": "sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.183.0.tgz", + "integrity": "sha512-XPX6LKS+zD11yB7nMSQHnW749+2RcFDjr0l2Eb+X0Tffr70JrWpiSx8wYAWUcuTg5Zv4aJAdzYCCaJKZt61Wqg==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -854,13 +853,13 @@ } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz", - "integrity": "sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.183.0.tgz", + "integrity": "sha512-Y15Byu7uJxkpHes4PxLBfJEgvxXS5ovyfDGJKJYISwBqJFkDP9gp8/5hg/uHxlJuVWEgFDSTi5kOUjnOhaCZ/A==", "dependencies": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -868,14 +867,14 @@ } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz", - "integrity": "sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.183.0.tgz", + "integrity": "sha512-mwxwcDW03qZDk/XHr+MJrFUIAaCSIOPYemiM24gOhEqv6/B0ikxAzZIrggd8jKFlnPxPHME0FCFuIQ6tmokEyA==", "dependencies": { - "@aws-sdk/abort-controller": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/querystring-builder": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/abort-controller": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/querystring-builder": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -883,11 +882,11 @@ } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz", - "integrity": "sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.183.0.tgz", + "integrity": "sha512-IYZNJX/S2wQsDKx+Pm+gwCKFR037/T+K85YW7j8be7aItqZqwOo7yRNXhJSOJPMANxhz4KmHH3n1oXhmCBvyug==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -895,11 +894,11 @@ } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz", - "integrity": "sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.183.0.tgz", + "integrity": "sha512-uFxp2YDRQgvHvGWY91CqZjqhDFoiPx9dr45ZIq/jZ4bOQ9rY619PAIBQ15eh54v7DI1zm4pLlXXvytA0LJF3jg==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -907,12 +906,12 @@ } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz", - "integrity": "sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.183.0.tgz", + "integrity": "sha512-12IFkuyPyJk8MZ1CKxiFo0GCTmqTwlJ3rMRk7L1wk44yObdKpQK/MSkUl0QgZHSjsS84zfqdeOXQJqLGGaIETg==", "dependencies": { - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-uri-escape": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-uri-escape": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -920,11 +919,11 @@ } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz", - "integrity": "sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.183.0.tgz", + "integrity": "sha512-0yB48bevrHMzXf2afYIAAqYfqCea3aeTyGLa+7IeWZbgP481JbGQyMMNtQBA8VgOB3k7vDEqIYT+QuVxbVhKCA==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -932,18 +931,19 @@ } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz", - "integrity": "sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.183.0.tgz", + "integrity": "sha512-WCQzfRgCHdSXT6spTpGNV2zjBWN1QMxwA3L7sdmXvGDYR1USZlyNRwvYOc7g6Px2ZmMI5DnzjIKu60eSyVsH+w==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz", - "integrity": "sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.183.0.tgz", + "integrity": "sha512-QqLdLthJP73m+h9FhCPsRUsF0AAtHVLivOvtH9ZRoph7C2bqSvfm8LHQO20R61acN9o72mgMiVDVBp/XhiGpkA==", "dependencies": { + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -951,15 +951,15 @@ } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz", - "integrity": "sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.183.0.tgz", + "integrity": "sha512-XlYaSVbC6acTdc7FI5hmfZqOLPBwNCbnutmoElTdJQKwhSS6LvwwUngM4L5tm3etlPkKVFSsWllG68Au/vFF4w==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.170.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-hex-encoding": "3.170.0", - "@aws-sdk/util-middleware": "3.178.0", - "@aws-sdk/util-uri-escape": "3.170.0", + "@aws-sdk/is-array-buffer": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-hex-encoding": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", + "@aws-sdk/util-uri-escape": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -967,14 +967,14 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz", - "integrity": "sha512-3IjwOy/x6UroV3TAbeCwpCRmt/8TW89JI1r8gtDbpQ42WiQ/1J+R5a78NP8bYa53kiDghW6pKlvLcbuoh3zWHQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.183.0.tgz", + "integrity": "sha512-lVW5tlwsS5WrMZ3gy1pp+r21C0z8mbqlqz3FbW0PxyU1YFI77Y/WIxO8/KSzHZ9h/GNfKqkLajuVIJDL6jArrw==", "dependencies": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-arn-parser": "3.170.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-arn-parser": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -990,12 +990,12 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz", - "integrity": "sha512-1vWafiUdn6RvOsD4CyNjMeDtDujuPi4Iq4Db6HrFmVPpJAutOLlCg52Dt7k96KCcIKgxVAs6Br0Waef+pcoGNA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.183.0.tgz", + "integrity": "sha512-HesHCNI09yCGh/QaLWyiMia0I3i6xs9v7ghksGXNhpNNrTIshFu5AUh2uJTdlaHiUN9zlED3ulkPo2FrE7Lxww==", "dependencies": { - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1003,27 +1003,27 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.178.0.tgz", - "integrity": "sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.183.0.tgz", + "integrity": "sha512-V5IU7q7Y2ADIFzvUxoGfpVahhVnGjCABTv9jZYUSyJW7/OwSB+eA2C1B8ZsKAYLWtc9xKxYpRl5FI5e7FBGUIQ==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz", - "integrity": "sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.183.0.tgz", + "integrity": "sha512-hrgeIDyAIJfGYbfGfQJD41iUwncfdhObyQ+aPfjZjAzqNSmNCV1jF9+k/BXdMnjCAM6n8rX6ZNko9PhtGz9uKw==", "dependencies": { - "@aws-sdk/querystring-parser": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/querystring-parser": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz", - "integrity": "sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.183.0.tgz", + "integrity": "sha512-uteIR9dHoGeW1TuVzVTWmRzw+C+m2FFshAx5bh6o8aNmVu/lpUK2tk3fZdjz283ghG9YmAdDhVIVyiCNPBDP6w==", "dependencies": { "tslib": "^2.3.1" }, @@ -1032,19 +1032,19 @@ } }, "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz", - "integrity": "sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.183.0.tgz", + "integrity": "sha512-rDTgkDHQbQtg/2RGbBb1ztZCRF8ELAXyhVQ7CqEqZSirdpQyIdOOVi8ucr4sjVyUQIq92irfJO1SEcANsaFhWQ==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-base64-node": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz", - "integrity": "sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.183.0.tgz", + "integrity": "sha512-FqgzW17oMvv41eB6Lsq2q32HGch5pSmUtXdcVjvXkPKc5CGtNIB49pRx4re4SOGKexkBabB9gdmubs3jH8BB5Q==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1052,17 +1052,17 @@ } }, "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz", - "integrity": "sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.183.0.tgz", + "integrity": "sha512-HniybeERXdHnN+NceOOlaeWgqfDgfWhtFmdOxJYWaxUW21RX+GQiObXtjnU7Nb0DtzTkAv/PWfkZ5lS8WLGQ2Q==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz", - "integrity": "sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.183.0.tgz", + "integrity": "sha512-BBaGaQtSQFXtKB9hXnGog5osNTasAe1GlvQCRqvBEvF2LwM54M+Hsr5HisJKnCybUgQGi0R2Al3CohjMy+mczQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -1071,11 +1071,11 @@ } }, "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz", - "integrity": "sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.183.0.tgz", + "integrity": "sha512-y/GPvo7kqM7taj6+Iq2uUxdrdDcUAtmQEX1l24qjl7MYEnZMncfxWjFdBhIvq4HBJjN3Oq8OIvTc/ZDB2obBJA==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.170.0", + "@aws-sdk/is-array-buffer": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1083,9 +1083,9 @@ } }, "node_modules/@aws-sdk/util-config-provider": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz", - "integrity": "sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.183.0.tgz", + "integrity": "sha512-F6QaY3giXX4kSJk1VIkw9n9I4heTNgv5RmAgY5xlCNU5BqoWyIbWG9B8r/P7metlPhACZ1M8dMp5RwQi8Ae1Jw==", "dependencies": { "tslib": "^2.3.1" }, @@ -1094,12 +1094,12 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz", - "integrity": "sha512-XGq/RUuhqnLlApETBmBWDszNG4TR3FCOSNwFvok1UIPgFXxjh0JOzNc5mAX1St2hfx1IDb9Ja4BmTkYKix7byg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.183.0.tgz", + "integrity": "sha512-YWKb4Y0bo/hpAVvf27wAQ3vj8OSVHkyHeoZC6ni9alkK41SAlv3RjodfTAhN0039QD+DirTa3EkLQj9ag1Igdg==", "dependencies": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "bowser": "^2.11.0", "tslib": "^2.3.1" }, @@ -1108,15 +1108,15 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz", - "integrity": "sha512-ch9VR4OKYGEaNbLhX/EyZDpNZst5T+/VYsFyqMA47J0YyMbg7GWyn2FjjhZ7qOV3XU6W8YEBNdd7U/LFFVp8uA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.183.0.tgz", + "integrity": "sha512-zuNFv2nSgtK6yTEMiEZW2vNxtC6vcKlt6vv0QtIEZZGGhjxEx2dK28jKr9GHlDLIt99mjvJaqiP4tiyfNE5Xpg==", "dependencies": { - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/credential-provider-imds": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1124,9 +1124,9 @@ } }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz", - "integrity": "sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.183.0.tgz", + "integrity": "sha512-pcvgpSID2mFnkaWPd/cpP4H7Lpu9w9Sc2QcMc2kvkOgkNb7mNres+guybqIMIlsOfuVuFK6291KwtYEgYIWHjQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -1135,9 +1135,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.170.0.tgz", - "integrity": "sha512-uQvn3ZaAokWcNSY+tNR71RGXPPncv5ejrpGa/MGOCioeBjkU5n5OJp7BdaTGouZu4fffeVpdZJ/ZNld8LWMgLw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.183.0.tgz", + "integrity": "sha512-zcto3whSC1EHnKlygkSBmwI95r3mOpG3o37M2zHhKJlJbPZhI61+MnNQ13T46m4MRWC5gJgPi3gL7kI9Bnb+hA==", "dependencies": { "tslib": "^2.3.1" }, @@ -1146,9 +1146,9 @@ } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz", - "integrity": "sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.183.0.tgz", + "integrity": "sha512-zbAFH5SkJ1kTFWPZVg4JdQEhfnJAyL/BDDtGPublVCbplXHAFxoYsneL0he4OEyJbf9KQyITOlzOcthB1kS9Qg==", "dependencies": { "tslib": "^2.3.1" }, @@ -1157,26 +1157,26 @@ } }, "node_modules/@aws-sdk/util-stream-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz", - "integrity": "sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.183.0.tgz", + "integrity": "sha512-Ot0ZUiSo57tKFt8dGAwvVz5/CojjNbbztUa3q9m0Bk7RgZB8tbKvVR/tmKzhCLT4zdFEHl+M3wmxPJ7QVIdkKQ==", "dependencies": { - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-hex-encoding": "3.170.0", - "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-hex-encoding": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-stream-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz", - "integrity": "sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.183.0.tgz", + "integrity": "sha512-R3E5o0H/7E3xdBH4ySi4z3lshjbVaaiGmcbUxaINzKABT8wnsPCEhk3MvxFJyIZnpwHWS9yMR2aWSX2vRWvWlA==", "dependencies": { - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1184,9 +1184,9 @@ } }, "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz", - "integrity": "sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.183.0.tgz", + "integrity": "sha512-pBTwFR/s3ITNHDbsnjhGu6g47PUb5NFbAOWRMFukJME5glOTkFViGlSrEbq0xZB/A0jKFZBQWXLDtgR2G0N8TA==", "dependencies": { "tslib": "^2.3.1" }, @@ -1195,22 +1195,22 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz", - "integrity": "sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.183.0.tgz", + "integrity": "sha512-uLUFxHFzh/ivcEeocpvMZBnpEDA793lAtsReaG7QRA1PheRgAQQHeugrTOkQ7doGCz0YBbocXAMcNDrmN1EdNA==", "dependencies": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz", - "integrity": "sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.183.0.tgz", + "integrity": "sha512-EsyNWuW4ZhLoo5sDs/rMuL5BwGgyyO5bJxI4GzXhDcPPJerQvDZ3ZD3aB55IzAWd4EMHft3Man2uB2bCSWavjA==", "dependencies": { - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1226,19 +1226,19 @@ } }, "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz", - "integrity": "sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.183.0.tgz", + "integrity": "sha512-6JHlQ5VkF2XdUfyK1pjpR1A8I+hVdyV0yGiyOB3Vge2zIkcc6oZQYIsSePFmqujJspz29GK0InbQhJXKuLDekg==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz", - "integrity": "sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.183.0.tgz", + "integrity": "sha512-5oIc0Bco765sMd0X4jOpwidBxPOXocGXuaTM5LxfFlw+KZjgh609VQHii9pUlere23kCXF3cZzup++oSQBSrTg==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1246,12 +1246,12 @@ } }, "node_modules/@aws-sdk/util-waiter": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz", - "integrity": "sha512-fDBGplYp6pIIfrB7073tUhU4zppRaSiPjBCCT00yth9woWwZPUCIg7iQZKEqkBmvCzcJSYn0jRopLhf3Y7i5Wg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.183.0.tgz", + "integrity": "sha512-gp8zuE8+6N9khmwpfNtkiiScnosoGEh5touy8KGqAy5OYcTFCyjqoEwqH3JCiZxzoTMB+81iGR3mbj4EiGwUOw==", "dependencies": { - "@aws-sdk/abort-controller": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/abort-controller": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" }, "engines": { @@ -1259,9 +1259,9 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz", - "integrity": "sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.183.0.tgz", + "integrity": "sha512-lzDdGSe5Yg60vTdo8nUpFh1NKCaN7hGSTWDBdlEg/0PaOVuevyl7QSzVqKoUVzgu9j2Pq72SgQPNO/XggcEsOw==", "dependencies": { "tslib": "^2.3.1" }, @@ -2640,9 +2640,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.8.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.0.tgz", - "integrity": "sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==", + "version": "18.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz", + "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==", "dev": true }, "node_modules/@types/npm-package-arg": { @@ -2708,14 +2708,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", - "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", + "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/type-utils": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -2740,14 +2740,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", - "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", + "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "debug": "^4.3.4" }, "engines": { @@ -2767,13 +2767,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", - "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", + "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1" + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2784,13 +2784,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", - "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", + "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2811,9 +2811,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", - "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", + "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2824,13 +2824,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", - "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", + "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2851,15 +2851,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", - "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", + "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -2875,12 +2875,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", - "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", + "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/types": "5.39.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3706,9 +3706,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.270", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz", - "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==", + "version": "1.4.271", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.271.tgz", + "integrity": "sha512-BCPBtK07xR1/uY2HFDtl3wK2De66AW4MSiPlLrnPNxKC/Qhccxd59W73654S3y6Rb/k3hmuGJOBnhjfoutetXA==", "dev": true }, "node_modules/emittery": { @@ -4192,9 +4192,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz", - "integrity": "sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA==", + "version": "27.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.1.0.tgz", + "integrity": "sha512-sqojX5GKzQ8+PScF9rJ7dRMtu0NEIWsaDMLwRRvVE28mnWctZe5VAti394Nmut11vPwgxck9XnDmmjx/U9NowQ==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.10.0" @@ -7520,11 +7520,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/system-commands": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz", - "integrity": "sha512-PfswB3P+qrSZcm7nIOJzKMe0qMp7wGVM7B+UYBkaduS6z2n+iM2sk4kw3G4+zY1aRI32+ZgKTUUAlhc3YSneJA==" - }, "node_modules/tar": { "version": "6.1.11", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", @@ -8282,874 +8277,875 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz", - "integrity": "sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.183.0.tgz", + "integrity": "sha512-iRhdCoC/QyyB6iRCytb12T0XtfmQRn849vnbcUd8BprXvkQ/YwmFS//4Lj02uxS+myqXCntoAj1nKvZZwcFmbg==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/chunked-blob-reader": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz", - "integrity": "sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.183.0.tgz", + "integrity": "sha512-N8fyzlo6yvLH7SYxGyWUWj8kpESdlE9wbSY1+1LxB8Z/VIUUiyivMH2dcvwcYnP1LexNXrazTE3zxo13O0XUaA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz", - "integrity": "sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.183.0.tgz", + "integrity": "sha512-CjFeO3F9IwVdfLUzqIuHtDpbzd7zqDyGpyy6qIdf1WKbpqrJ0TlGXuvIm4LytVaDSd4lLvBc7VXsSQS0Pz0A0A==", "requires": { - "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/util-base64-browser": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-s3": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.181.0.tgz", - "integrity": "sha512-EUJ/Y8SWALh5bfxcg+LQytpI/R3KXHYilWRnBBsKLBUfAWPj+8NzZdDK8wD/6htBtAV4XnqHux3cMCnpeoRf8g==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.183.0.tgz", + "integrity": "sha512-wDEpbGjLZzSd6oqALlcO+kaZOABrljebjV4PAsfcsl0R6DMFmNj/gxcVL329nwWN3yUXDaZXRqx2Rd22jMKbjQ==", "requires": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.181.0", - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.181.0", - "@aws-sdk/eventstream-serde-browser": "3.178.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.178.0", - "@aws-sdk/eventstream-serde-node": "3.178.0", - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/hash-blob-browser": "3.178.0", - "@aws-sdk/hash-node": "3.178.0", - "@aws-sdk/hash-stream-node": "3.178.0", - "@aws-sdk/invalid-dependency": "3.178.0", - "@aws-sdk/md5-js": "3.178.0", - "@aws-sdk/middleware-bucket-endpoint": "3.178.0", - "@aws-sdk/middleware-content-length": "3.178.0", - "@aws-sdk/middleware-expect-continue": "3.178.0", - "@aws-sdk/middleware-flexible-checksums": "3.178.0", - "@aws-sdk/middleware-host-header": "3.178.0", - "@aws-sdk/middleware-location-constraint": "3.178.0", - "@aws-sdk/middleware-logger": "3.178.0", - "@aws-sdk/middleware-recursion-detection": "3.178.0", - "@aws-sdk/middleware-retry": "3.178.0", - "@aws-sdk/middleware-sdk-s3": "3.178.0", - "@aws-sdk/middleware-serde": "3.178.0", - "@aws-sdk/middleware-signing": "3.179.0", - "@aws-sdk/middleware-ssec": "3.178.0", - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/middleware-user-agent": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4-multi-region": "3.180.0", - "@aws-sdk/smithy-client": "3.180.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-base64-node": "3.170.0", - "@aws-sdk/util-body-length-browser": "3.170.0", - "@aws-sdk/util-body-length-node": "3.170.0", - "@aws-sdk/util-defaults-mode-browser": "3.180.0", - "@aws-sdk/util-defaults-mode-node": "3.180.0", - "@aws-sdk/util-stream-browser": "3.178.0", - "@aws-sdk/util-stream-node": "3.178.0", - "@aws-sdk/util-user-agent-browser": "3.178.0", - "@aws-sdk/util-user-agent-node": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", - "@aws-sdk/util-waiter": "3.180.0", - "@aws-sdk/xml-builder": "3.170.0", + "@aws-sdk/client-sts": "3.183.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/credential-provider-node": "3.183.0", + "@aws-sdk/eventstream-serde-browser": "3.183.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.183.0", + "@aws-sdk/eventstream-serde-node": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/hash-blob-browser": "3.183.0", + "@aws-sdk/hash-node": "3.183.0", + "@aws-sdk/hash-stream-node": "3.183.0", + "@aws-sdk/invalid-dependency": "3.183.0", + "@aws-sdk/md5-js": "3.183.0", + "@aws-sdk/middleware-bucket-endpoint": "3.183.0", + "@aws-sdk/middleware-content-length": "3.183.0", + "@aws-sdk/middleware-expect-continue": "3.183.0", + "@aws-sdk/middleware-flexible-checksums": "3.183.0", + "@aws-sdk/middleware-host-header": "3.183.0", + "@aws-sdk/middleware-location-constraint": "3.183.0", + "@aws-sdk/middleware-logger": "3.183.0", + "@aws-sdk/middleware-recursion-detection": "3.183.0", + "@aws-sdk/middleware-retry": "3.183.0", + "@aws-sdk/middleware-sdk-s3": "3.183.0", + "@aws-sdk/middleware-serde": "3.183.0", + "@aws-sdk/middleware-signing": "3.183.0", + "@aws-sdk/middleware-ssec": "3.183.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/middleware-user-agent": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4-multi-region": "3.183.0", + "@aws-sdk/smithy-client": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-node": "3.183.0", + "@aws-sdk/util-body-length-browser": "3.183.0", + "@aws-sdk/util-body-length-node": "3.183.0", + "@aws-sdk/util-defaults-mode-browser": "3.183.0", + "@aws-sdk/util-defaults-mode-node": "3.183.0", + "@aws-sdk/util-stream-browser": "3.183.0", + "@aws-sdk/util-stream-node": "3.183.0", + "@aws-sdk/util-user-agent-browser": "3.183.0", + "@aws-sdk/util-user-agent-node": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/util-waiter": "3.183.0", + "@aws-sdk/xml-builder": "3.183.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-sso": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.181.0.tgz", - "integrity": "sha512-p/HsYVAO7fgjFfn4LqlnlpSKPXGPegAwjPpY+SqyK3/Hj1OtED4whG8LTgxZSTtYwNIkHEjrHnXTiymyXh34Aw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.183.0.tgz", + "integrity": "sha512-Dw2objS0rxlziFL0Jahzy8H1OlyrRCnmVH7f1pBrmU7RSzztBpU2Z8OPaE5m1MwUISzpOWQlo8zEVUMYuT/Rww==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/hash-node": "3.178.0", - "@aws-sdk/invalid-dependency": "3.178.0", - "@aws-sdk/middleware-content-length": "3.178.0", - "@aws-sdk/middleware-host-header": "3.178.0", - "@aws-sdk/middleware-logger": "3.178.0", - "@aws-sdk/middleware-recursion-detection": "3.178.0", - "@aws-sdk/middleware-retry": "3.178.0", - "@aws-sdk/middleware-serde": "3.178.0", - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/middleware-user-agent": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/smithy-client": "3.180.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-base64-node": "3.170.0", - "@aws-sdk/util-body-length-browser": "3.170.0", - "@aws-sdk/util-body-length-node": "3.170.0", - "@aws-sdk/util-defaults-mode-browser": "3.180.0", - "@aws-sdk/util-defaults-mode-node": "3.180.0", - "@aws-sdk/util-user-agent-browser": "3.178.0", - "@aws-sdk/util-user-agent-node": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/hash-node": "3.183.0", + "@aws-sdk/invalid-dependency": "3.183.0", + "@aws-sdk/middleware-content-length": "3.183.0", + "@aws-sdk/middleware-host-header": "3.183.0", + "@aws-sdk/middleware-logger": "3.183.0", + "@aws-sdk/middleware-recursion-detection": "3.183.0", + "@aws-sdk/middleware-retry": "3.183.0", + "@aws-sdk/middleware-serde": "3.183.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/middleware-user-agent": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/smithy-client": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-node": "3.183.0", + "@aws-sdk/util-body-length-browser": "3.183.0", + "@aws-sdk/util-body-length-node": "3.183.0", + "@aws-sdk/util-defaults-mode-browser": "3.183.0", + "@aws-sdk/util-defaults-mode-node": "3.183.0", + "@aws-sdk/util-user-agent-browser": "3.183.0", + "@aws-sdk/util-user-agent-node": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-sts": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.181.0.tgz", - "integrity": "sha512-j//F9kjdSv9lUa8p87cg+xk6l5E8o8+GTYP5838eFQR7XcEc3yEljSCkuj2xIzrtf1jKuMXBnswTKmxJhjbTzQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.183.0.tgz", + "integrity": "sha512-xl7CDncgUmcSJ5Nq3zDylyCzdJhfWzu3GUHXFv5HszcmSwrVZOtmm+j0XQfnqO3XdN8o/1CtsAkiUC7hQV8iDg==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-node": "3.181.0", - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/hash-node": "3.178.0", - "@aws-sdk/invalid-dependency": "3.178.0", - "@aws-sdk/middleware-content-length": "3.178.0", - "@aws-sdk/middleware-host-header": "3.178.0", - "@aws-sdk/middleware-logger": "3.178.0", - "@aws-sdk/middleware-recursion-detection": "3.178.0", - "@aws-sdk/middleware-retry": "3.178.0", - "@aws-sdk/middleware-sdk-sts": "3.179.0", - "@aws-sdk/middleware-serde": "3.178.0", - "@aws-sdk/middleware-signing": "3.179.0", - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/middleware-user-agent": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/smithy-client": "3.180.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-base64-node": "3.170.0", - "@aws-sdk/util-body-length-browser": "3.170.0", - "@aws-sdk/util-body-length-node": "3.170.0", - "@aws-sdk/util-defaults-mode-browser": "3.180.0", - "@aws-sdk/util-defaults-mode-node": "3.180.0", - "@aws-sdk/util-user-agent-browser": "3.178.0", - "@aws-sdk/util-user-agent-node": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/credential-provider-node": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/hash-node": "3.183.0", + "@aws-sdk/invalid-dependency": "3.183.0", + "@aws-sdk/middleware-content-length": "3.183.0", + "@aws-sdk/middleware-host-header": "3.183.0", + "@aws-sdk/middleware-logger": "3.183.0", + "@aws-sdk/middleware-recursion-detection": "3.183.0", + "@aws-sdk/middleware-retry": "3.183.0", + "@aws-sdk/middleware-sdk-sts": "3.183.0", + "@aws-sdk/middleware-serde": "3.183.0", + "@aws-sdk/middleware-signing": "3.183.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/middleware-user-agent": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/smithy-client": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-node": "3.183.0", + "@aws-sdk/util-body-length-browser": "3.183.0", + "@aws-sdk/util-body-length-node": "3.183.0", + "@aws-sdk/util-defaults-mode-browser": "3.183.0", + "@aws-sdk/util-defaults-mode-node": "3.183.0", + "@aws-sdk/util-user-agent-browser": "3.183.0", + "@aws-sdk/util-user-agent-node": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" } }, "@aws-sdk/config-resolver": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz", - "integrity": "sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.183.0.tgz", + "integrity": "sha512-cJBY5g+yJAI0iigketD3rbweyoLOw6SFiJDzRqZq3KgytmnhnrmNbRVTSdq1Qtn+d20NVxT9kSRUu21QyHb1nw==", "requires": { - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-config-provider": "3.170.0", - "@aws-sdk/util-middleware": "3.178.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-config-provider": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-env": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz", - "integrity": "sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.183.0.tgz", + "integrity": "sha512-RJ1QZxpfWf3hmjUm1fYCEj3p4Rl61kMFfU6ab3hpDGuSXbuLkAvTOIbssIUDHcgxUSszV5XqpPzBUnTui3cZYA==", "requires": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz", - "integrity": "sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.183.0.tgz", + "integrity": "sha512-RHzciaoW0sPV52VUMd3SrIFrKhXsKbn9okEF+UdR2P3RgxNsguUZsewpDqhjGZBH0E2IiuFrBPjsxQKAI+mFbQ==", "requires": { - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/url-parser": "3.178.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/url-parser": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.181.0.tgz", - "integrity": "sha512-jOa42qYFgkdMumw0IRO0ASAjM0vZMXvPpy3DGOaG0Ehy4KHeykEj4/J23SxCTCkOqAbz2+8XVCuyTExUmWCuWw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.183.0.tgz", + "integrity": "sha512-tWiTIeA72L/7nJnDS5GfNmX58Ms9bUQLb7e9PXv5lWAfyiT9po6KMdBGIN7qld1kxBDcwFZPxsxtkHrbU+6d6A==", "requires": { - "@aws-sdk/credential-provider-env": "3.178.0", - "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.181.0", - "@aws-sdk/credential-provider-web-identity": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/credential-provider-env": "3.183.0", + "@aws-sdk/credential-provider-imds": "3.183.0", + "@aws-sdk/credential-provider-sso": "3.183.0", + "@aws-sdk/credential-provider-web-identity": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-node": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.181.0.tgz", - "integrity": "sha512-RlLdp+7faCKzJsmUlBSr4CjqN9WG+YZpmuVVlW5fXGUdXLBLEvLMTl5rmwKtRSUytyYK0Vqtmt48I4nBze8MrA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.183.0.tgz", + "integrity": "sha512-APVAOnB/5CWqnLOY4FnZ779jFg7c8EU4zlj1klZRdNLCTjDXkQSrkJ14Zy44NiTWfxalU5BPsCFHDsQo0hkyQQ==", "requires": { - "@aws-sdk/credential-provider-env": "3.178.0", - "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/credential-provider-ini": "3.181.0", - "@aws-sdk/credential-provider-process": "3.178.0", - "@aws-sdk/credential-provider-sso": "3.181.0", - "@aws-sdk/credential-provider-web-identity": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/credential-provider-env": "3.183.0", + "@aws-sdk/credential-provider-imds": "3.183.0", + "@aws-sdk/credential-provider-ini": "3.183.0", + "@aws-sdk/credential-provider-process": "3.183.0", + "@aws-sdk/credential-provider-sso": "3.183.0", + "@aws-sdk/credential-provider-web-identity": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-process": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz", - "integrity": "sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.183.0.tgz", + "integrity": "sha512-JRePfiFPWpyF3iotHx45WyP1qe50BsPdOOFGh3vmyx5L92lnzchlGsOMpcNUiATUuA3Ar0LUt5bS299LTZWeuQ==", "requires": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.181.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.181.0.tgz", - "integrity": "sha512-03YAvns+P7hw5rLwYLExezn9iGX9HD2GAKCEgpSaZSlNLzMw0jU7VEmqJvrLqi+xAoshuRR5A3v8HFQU246QRA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.183.0.tgz", + "integrity": "sha512-jddGjwAFbYyZkIiR+ghPPh92MQuljI/tusOEgvvUM/w+Cx4jvulZo8rJuEvlU49cXn76dyNxGeDWeqfskuOMpQ==", "requires": { - "@aws-sdk/client-sso": "3.181.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/client-sso": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz", - "integrity": "sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.183.0.tgz", + "integrity": "sha512-AZGZ4zrjMgtVk5MhsRGj6glsivls4qWUQ1Vuq9FjlaN+ltW74w3D0juTwpUI/OHuSHhOznOZsO9fI4DlCfUeSw==", "requires": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-codec": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz", - "integrity": "sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.183.0.tgz", + "integrity": "sha512-GHZ1Xn7Lv0bR3MxYVSyaLb75GsQA2sWlq7XvU5QFifFHskXzRCjuoHTvxg3K8Ez3AuTTkYhH0NOhv1teQ1NHow==", "requires": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-hex-encoding": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-hex-encoding": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz", - "integrity": "sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.183.0.tgz", + "integrity": "sha512-qJOlWKRPSe132EOP/05JZA1OUYAuinUbofgE3N05sCSWBmdlwQPFGIEcePjNg+HfJKXMWI86o4BWmfBgB8ZFcg==", "requires": { - "@aws-sdk/eventstream-serde-universal": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/eventstream-serde-universal": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz", - "integrity": "sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.183.0.tgz", + "integrity": "sha512-Tdefws3/NjD7NdP2OqiZZlQAoPhjgMrFSwqT//njMGnkcbhO52w/jhJXEW5HePl4wbRgpp40Ae8uQSRfsYJhuw==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz", - "integrity": "sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.183.0.tgz", + "integrity": "sha512-16l2a3TdWhMdzPxSLKfboj/NbEKxNyJF8Xu6zGOY61g5kRpXD2Nqg8ycDjq1CW+60H5SaCxRV2EsYKgroSWgTg==", "requires": { - "@aws-sdk/eventstream-serde-universal": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/eventstream-serde-universal": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-universal": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz", - "integrity": "sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.183.0.tgz", + "integrity": "sha512-9mfTUdPafq+P2aUSZMh6/+XIxq0Lq2oWldcF8vb2gKH6ZBJLU1Nw7CRXbO6wbaPl/YM83y6G3Y5mkRnjBcxP1A==", "requires": { - "@aws-sdk/eventstream-codec": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/eventstream-codec": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz", - "integrity": "sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.183.0.tgz", + "integrity": "sha512-YaVXUTYnm6ZsT4qVWcAvtjkxsxzGJW1l0o4oXnnz3hhl7AZM/RjL2l24aixSMeoj7R4hA4Yi7sHFm5OlHSTg5A==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/querystring-builder": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/querystring-builder": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-blob-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz", - "integrity": "sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.183.0.tgz", + "integrity": "sha512-kytjmG+xupsMxxIA8+e1zV82EdydFF82+jMfxOUovidVbVq9uTTcpF2WqbaFMje1ylZjSbHCCptjGRg1DfTc8w==", "requires": { - "@aws-sdk/chunked-blob-reader": "3.170.0", - "@aws-sdk/chunked-blob-reader-native": "3.170.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/chunked-blob-reader": "3.183.0", + "@aws-sdk/chunked-blob-reader-native": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz", - "integrity": "sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.183.0.tgz", + "integrity": "sha512-XPe1TzupofkypgLw4Y38ruUM4hrrGIGwJGI/KsljDoEDpz24SyMItyCZbF7ddaPkbJGa4oO+HN072SXPB/z/6g==", "requires": { - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-stream-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz", - "integrity": "sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.183.0.tgz", + "integrity": "sha512-xqMIftU/mQAPXmjNahgA6SXNY7H/8GyDY7XC0w7aHIVBZx0DZlvStbFZ+BdZKyOHVzQOftliikDJzqPz3EiPWA==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/invalid-dependency": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz", - "integrity": "sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.183.0.tgz", + "integrity": "sha512-ouKWKIFzWEt64Eg+WPjMlG/KzvQ4h3DakjHJ6L1IB/lXDL8TzJwqKdyEyt3V6/jOXLt8Wf6LtG8HA+5OC+jASQ==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/is-array-buffer": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz", - "integrity": "sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.183.0.tgz", + "integrity": "sha512-s0ukhcjX1dUPRFPLyWJw9mg6SB+5YOdV2vHoKez0L7ry97p3C29wtImV2NOdw54fn/lKOtil22lFN7JpoaqU/w==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/md5-js": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz", - "integrity": "sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.183.0.tgz", + "integrity": "sha512-FUQsZY8GwICKcHuJ8dcvmMlVOjWzdPoGIdjLl2F7kqJosTz908UoOQzIdm50UOChk8OVLgfVDOJDQ1ioycClCA==", "requires": { - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-utf8-browser": "3.170.0", - "@aws-sdk/util-utf8-node": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/util-utf8-node": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz", - "integrity": "sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.183.0.tgz", + "integrity": "sha512-JpqE+5BdblM1zAoQwlTC5st4ev/MNvewYayFZgroElyPySs5Ushy0u6b3FiJx/pdKPNX/Io75VNFxGeRcJsspA==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-arn-parser": "3.170.0", - "@aws-sdk/util-config-provider": "3.170.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-arn-parser": "3.183.0", + "@aws-sdk/util-config-provider": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-content-length": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz", - "integrity": "sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.183.0.tgz", + "integrity": "sha512-dcLMEEa6j3eDH8obsDHZaHgOZIUPDIZdkgtLYB0tyvJEo8HZGEE/Ch1abwlIzXkZ7qRPXysgX7JayJV8N7kxEw==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz", - "integrity": "sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.183.0.tgz", + "integrity": "sha512-4267Sy91KH0XaCE0ANWeck13sGVHkWLozd9i9jPxIXQabnOFFnfo4nkH05n7tuR7ItDyp3R5S6S9fqXj6QYXsA==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-flexible-checksums": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz", - "integrity": "sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.183.0.tgz", + "integrity": "sha512-amfk55oTAvGN0VluzaNTcQO4ERT7V5pvdjBGxBMjPJD9G3vdj6o2ZvjgGANKZDqarmebcrbEepLCp5PLtfdUgA==", "requires": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.170.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/is-array-buffer": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-host-header": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz", - "integrity": "sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.183.0.tgz", + "integrity": "sha512-EcInz6QFQ0ljK8QABX/NRcLYGySv+S/mmJYSLIHkU+/FDh+Wh08Awq9OVjJwGp2mmHM1ZHHHI0sTrdBdmBLX3g==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz", - "integrity": "sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.183.0.tgz", + "integrity": "sha512-XIj2NZa2R+hioPWXH4TIQN1Jy5m6m3u5ouPcVxijMdJ6HozEEJZVaWiXNQczr8otWCYzXqq88p6Zu683V/oTPw==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-logger": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz", - "integrity": "sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.183.0.tgz", + "integrity": "sha512-bEjira7lUPtIfOCDAAkWR53gIJG2g8HhYeL0C+fGB4lztf2Cdlqg9quLXXHRVd0Vmio4OR3NMm5aPIwMnUULWQ==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz", - "integrity": "sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.183.0.tgz", + "integrity": "sha512-RcsFN5Mp10SO9yKRVeFqedxQIhqWi00Kb5EpE1SR7bC/tcrizS2e0ytFkLk2Bv2U6tbT1CYg7EMa76ssRaSk5w==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-retry": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz", - "integrity": "sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ==", - "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/service-error-classification": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-middleware": "3.178.0", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.183.0.tgz", + "integrity": "sha512-TV3yKWd5g+18/0XjqVeG4/IrksAvBBqSuBVaaNFUACBhwZGZy6IV0sSOlYnWHLTPbPIwrxN9TTt+uIdvCbf+hw==", + "requires": { + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/service-error-classification": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz", - "integrity": "sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.183.0.tgz", + "integrity": "sha512-Ot3CsBqayUMls+G87Mfm/I6Kksgb2Pw5HoSFj8qI66IB2enwvfJp+aak4ZsRE7YpjXMQ51hCvfJUPnRvsZuycw==", "requires": { - "@aws-sdk/middleware-bucket-endpoint": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-arn-parser": "3.170.0", + "@aws-sdk/middleware-bucket-endpoint": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-arn-parser": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.179.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.179.0.tgz", - "integrity": "sha512-uU9UdG9ornvblXdLLNsZNpgMOA9vgFMB93zo3DL/Q6MPmYprZYyK7dUiA06i1pe4HP2gR3N3hxXwzmKU6Bjt6A==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.183.0.tgz", + "integrity": "sha512-d8zqIDiT1/Zqh0RB/VV4RHz+CIyrMbxEm81rx0pn/9eMVLO4A33j1DaaTcQ0fuCCU7K2rptJC+t2tvkzmXPERg==", "requires": { - "@aws-sdk/middleware-signing": "3.179.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/middleware-signing": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-serde": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz", - "integrity": "sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.183.0.tgz", + "integrity": "sha512-8VqXmaIbH5E1L7ORXLAhaLKpoUJl7vYCbFpL3NKPlVBPDPAydLhyEltBc3mJTfUo4XWYn6qRqgNwlppXUJZ1xg==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-signing": { - "version": "3.179.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.179.0.tgz", - "integrity": "sha512-rtB6t3w1Km3ngO1yoiEUqsobujcBk36oPs2fTUKTbmuTr+54YH3NF0zAwVJv08lpfAs56holtp+bYyAxZJIxSQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.183.0.tgz", + "integrity": "sha512-ABb8aSs6649pOZg2Ck3EyeMJo03eYBIqUw7vOhBR6IhQA/XHCFzFX8vEhWjhEWfQcUQBIzNlgoY+0uXK0wVEYQ==", "requires": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-middleware": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-ssec": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz", - "integrity": "sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.183.0.tgz", + "integrity": "sha512-eDzWpJA4FkTI41LvAR1lavsidS/5WXFbok2kraAZSdnnU+GXiOqh8I/LPpO/vljcp68kh0on2YMnl/nB22BLqg==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-stack": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz", - "integrity": "sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.183.0.tgz", + "integrity": "sha512-xNvGdj5qgSiC0WETkDOk1Rr7goR7smjbRc/vcYzO4HLwfw2JX/QxtZ2iNAdBMwW1M8O4JfVqS3ynqlE6Ssd7YQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz", - "integrity": "sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.183.0.tgz", + "integrity": "sha512-XPX6LKS+zD11yB7nMSQHnW749+2RcFDjr0l2Eb+X0Tffr70JrWpiSx8wYAWUcuTg5Zv4aJAdzYCCaJKZt61Wqg==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-config-provider": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz", - "integrity": "sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.183.0.tgz", + "integrity": "sha512-Y15Byu7uJxkpHes4PxLBfJEgvxXS5ovyfDGJKJYISwBqJFkDP9gp8/5hg/uHxlJuVWEgFDSTi5kOUjnOhaCZ/A==", "requires": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/shared-ini-file-loader": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/shared-ini-file-loader": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-http-handler": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz", - "integrity": "sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.183.0.tgz", + "integrity": "sha512-mwxwcDW03qZDk/XHr+MJrFUIAaCSIOPYemiM24gOhEqv6/B0ikxAzZIrggd8jKFlnPxPHME0FCFuIQ6tmokEyA==", "requires": { - "@aws-sdk/abort-controller": "3.178.0", - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/querystring-builder": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/abort-controller": "3.183.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/querystring-builder": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/property-provider": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz", - "integrity": "sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.183.0.tgz", + "integrity": "sha512-IYZNJX/S2wQsDKx+Pm+gwCKFR037/T+K85YW7j8be7aItqZqwOo7yRNXhJSOJPMANxhz4KmHH3n1oXhmCBvyug==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/protocol-http": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz", - "integrity": "sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.183.0.tgz", + "integrity": "sha512-uFxp2YDRQgvHvGWY91CqZjqhDFoiPx9dr45ZIq/jZ4bOQ9rY619PAIBQ15eh54v7DI1zm4pLlXXvytA0LJF3jg==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-builder": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz", - "integrity": "sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.183.0.tgz", + "integrity": "sha512-12IFkuyPyJk8MZ1CKxiFo0GCTmqTwlJ3rMRk7L1wk44yObdKpQK/MSkUl0QgZHSjsS84zfqdeOXQJqLGGaIETg==", "requires": { - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-uri-escape": "3.170.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-uri-escape": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-parser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz", - "integrity": "sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.183.0.tgz", + "integrity": "sha512-0yB48bevrHMzXf2afYIAAqYfqCea3aeTyGLa+7IeWZbgP481JbGQyMMNtQBA8VgOB3k7vDEqIYT+QuVxbVhKCA==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/service-error-classification": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz", - "integrity": "sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw==" + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.183.0.tgz", + "integrity": "sha512-WCQzfRgCHdSXT6spTpGNV2zjBWN1QMxwA3L7sdmXvGDYR1USZlyNRwvYOc7g6Px2ZmMI5DnzjIKu60eSyVsH+w==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz", - "integrity": "sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.183.0.tgz", + "integrity": "sha512-QqLdLthJP73m+h9FhCPsRUsF0AAtHVLivOvtH9ZRoph7C2bqSvfm8LHQO20R61acN9o72mgMiVDVBp/XhiGpkA==", "requires": { + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz", - "integrity": "sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.183.0.tgz", + "integrity": "sha512-XlYaSVbC6acTdc7FI5hmfZqOLPBwNCbnutmoElTdJQKwhSS6LvwwUngM4L5tm3etlPkKVFSsWllG68Au/vFF4w==", "requires": { - "@aws-sdk/is-array-buffer": "3.170.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-hex-encoding": "3.170.0", - "@aws-sdk/util-middleware": "3.178.0", - "@aws-sdk/util-uri-escape": "3.170.0", + "@aws-sdk/is-array-buffer": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-hex-encoding": "3.183.0", + "@aws-sdk/util-middleware": "3.183.0", + "@aws-sdk/util-uri-escape": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4-multi-region": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.180.0.tgz", - "integrity": "sha512-3IjwOy/x6UroV3TAbeCwpCRmt/8TW89JI1r8gtDbpQ42WiQ/1J+R5a78NP8bYa53kiDghW6pKlvLcbuoh3zWHQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.183.0.tgz", + "integrity": "sha512-lVW5tlwsS5WrMZ3gy1pp+r21C0z8mbqlqz3FbW0PxyU1YFI77Y/WIxO8/KSzHZ9h/GNfKqkLajuVIJDL6jArrw==", "requires": { - "@aws-sdk/protocol-http": "3.178.0", - "@aws-sdk/signature-v4": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-arn-parser": "3.170.0", + "@aws-sdk/protocol-http": "3.183.0", + "@aws-sdk/signature-v4": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-arn-parser": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/smithy-client": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.180.0.tgz", - "integrity": "sha512-1vWafiUdn6RvOsD4CyNjMeDtDujuPi4Iq4Db6HrFmVPpJAutOLlCg52Dt7k96KCcIKgxVAs6Br0Waef+pcoGNA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.183.0.tgz", + "integrity": "sha512-HesHCNI09yCGh/QaLWyiMia0I3i6xs9v7ghksGXNhpNNrTIshFu5AUh2uJTdlaHiUN9zlED3ulkPo2FrE7Lxww==", "requires": { - "@aws-sdk/middleware-stack": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/middleware-stack": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/types": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.178.0.tgz", - "integrity": "sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ==" + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.183.0.tgz", + "integrity": "sha512-V5IU7q7Y2ADIFzvUxoGfpVahhVnGjCABTv9jZYUSyJW7/OwSB+eA2C1B8ZsKAYLWtc9xKxYpRl5FI5e7FBGUIQ==" }, "@aws-sdk/url-parser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz", - "integrity": "sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.183.0.tgz", + "integrity": "sha512-hrgeIDyAIJfGYbfGfQJD41iUwncfdhObyQ+aPfjZjAzqNSmNCV1jF9+k/BXdMnjCAM6n8rX6ZNko9PhtGz9uKw==", "requires": { - "@aws-sdk/querystring-parser": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/querystring-parser": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-arn-parser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz", - "integrity": "sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.183.0.tgz", + "integrity": "sha512-uteIR9dHoGeW1TuVzVTWmRzw+C+m2FFshAx5bh6o8aNmVu/lpUK2tk3fZdjz283ghG9YmAdDhVIVyiCNPBDP6w==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-base64-browser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz", - "integrity": "sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.183.0.tgz", + "integrity": "sha512-rDTgkDHQbQtg/2RGbBb1ztZCRF8ELAXyhVQ7CqEqZSirdpQyIdOOVi8ucr4sjVyUQIq92irfJO1SEcANsaFhWQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-base64-node": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz", - "integrity": "sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.183.0.tgz", + "integrity": "sha512-FqgzW17oMvv41eB6Lsq2q32HGch5pSmUtXdcVjvXkPKc5CGtNIB49pRx4re4SOGKexkBabB9gdmubs3jH8BB5Q==", "requires": { - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-browser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz", - "integrity": "sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.183.0.tgz", + "integrity": "sha512-HniybeERXdHnN+NceOOlaeWgqfDgfWhtFmdOxJYWaxUW21RX+GQiObXtjnU7Nb0DtzTkAv/PWfkZ5lS8WLGQ2Q==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-node": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz", - "integrity": "sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.183.0.tgz", + "integrity": "sha512-BBaGaQtSQFXtKB9hXnGog5osNTasAe1GlvQCRqvBEvF2LwM54M+Hsr5HisJKnCybUgQGi0R2Al3CohjMy+mczQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-buffer-from": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz", - "integrity": "sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.183.0.tgz", + "integrity": "sha512-y/GPvo7kqM7taj6+Iq2uUxdrdDcUAtmQEX1l24qjl7MYEnZMncfxWjFdBhIvq4HBJjN3Oq8OIvTc/ZDB2obBJA==", "requires": { - "@aws-sdk/is-array-buffer": "3.170.0", + "@aws-sdk/is-array-buffer": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-config-provider": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz", - "integrity": "sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.183.0.tgz", + "integrity": "sha512-F6QaY3giXX4kSJk1VIkw9n9I4heTNgv5RmAgY5xlCNU5BqoWyIbWG9B8r/P7metlPhACZ1M8dMp5RwQi8Ae1Jw==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.180.0.tgz", - "integrity": "sha512-XGq/RUuhqnLlApETBmBWDszNG4TR3FCOSNwFvok1UIPgFXxjh0JOzNc5mAX1St2hfx1IDb9Ja4BmTkYKix7byg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.183.0.tgz", + "integrity": "sha512-YWKb4Y0bo/hpAVvf27wAQ3vj8OSVHkyHeoZC6ni9alkK41SAlv3RjodfTAhN0039QD+DirTa3EkLQj9ag1Igdg==", "requires": { - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.180.0.tgz", - "integrity": "sha512-ch9VR4OKYGEaNbLhX/EyZDpNZst5T+/VYsFyqMA47J0YyMbg7GWyn2FjjhZ7qOV3XU6W8YEBNdd7U/LFFVp8uA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.183.0.tgz", + "integrity": "sha512-zuNFv2nSgtK6yTEMiEZW2vNxtC6vcKlt6vv0QtIEZZGGhjxEx2dK28jKr9GHlDLIt99mjvJaqiP4tiyfNE5Xpg==", "requires": { - "@aws-sdk/config-resolver": "3.178.0", - "@aws-sdk/credential-provider-imds": "3.178.0", - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/property-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/config-resolver": "3.183.0", + "@aws-sdk/credential-provider-imds": "3.183.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/property-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz", - "integrity": "sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.183.0.tgz", + "integrity": "sha512-pcvgpSID2mFnkaWPd/cpP4H7Lpu9w9Sc2QcMc2kvkOgkNb7mNres+guybqIMIlsOfuVuFK6291KwtYEgYIWHjQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-locate-window": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.170.0.tgz", - "integrity": "sha512-uQvn3ZaAokWcNSY+tNR71RGXPPncv5ejrpGa/MGOCioeBjkU5n5OJp7BdaTGouZu4fffeVpdZJ/ZNld8LWMgLw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.183.0.tgz", + "integrity": "sha512-zcto3whSC1EHnKlygkSBmwI95r3mOpG3o37M2zHhKJlJbPZhI61+MnNQ13T46m4MRWC5gJgPi3gL7kI9Bnb+hA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-middleware": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz", - "integrity": "sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.183.0.tgz", + "integrity": "sha512-zbAFH5SkJ1kTFWPZVg4JdQEhfnJAyL/BDDtGPublVCbplXHAFxoYsneL0he4OEyJbf9KQyITOlzOcthB1kS9Qg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-stream-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz", - "integrity": "sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.183.0.tgz", + "integrity": "sha512-Ot0ZUiSo57tKFt8dGAwvVz5/CojjNbbztUa3q9m0Bk7RgZB8tbKvVR/tmKzhCLT4zdFEHl+M3wmxPJ7QVIdkKQ==", "requires": { - "@aws-sdk/fetch-http-handler": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-base64-browser": "3.170.0", - "@aws-sdk/util-hex-encoding": "3.170.0", - "@aws-sdk/util-utf8-browser": "3.170.0", + "@aws-sdk/fetch-http-handler": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-hex-encoding": "3.183.0", + "@aws-sdk/util-utf8-browser": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-stream-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz", - "integrity": "sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.183.0.tgz", + "integrity": "sha512-R3E5o0H/7E3xdBH4ySi4z3lshjbVaaiGmcbUxaINzKABT8wnsPCEhk3MvxFJyIZnpwHWS9yMR2aWSX2vRWvWlA==", "requires": { - "@aws-sdk/node-http-handler": "3.178.0", - "@aws-sdk/types": "3.178.0", - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/node-http-handler": "3.183.0", + "@aws-sdk/types": "3.183.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-uri-escape": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz", - "integrity": "sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.183.0.tgz", + "integrity": "sha512-pBTwFR/s3ITNHDbsnjhGu6g47PUb5NFbAOWRMFukJME5glOTkFViGlSrEbq0xZB/A0jKFZBQWXLDtgR2G0N8TA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz", - "integrity": "sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.183.0.tgz", + "integrity": "sha512-uLUFxHFzh/ivcEeocpvMZBnpEDA793lAtsReaG7QRA1PheRgAQQHeugrTOkQ7doGCz0YBbocXAMcNDrmN1EdNA==", "requires": { - "@aws-sdk/types": "3.178.0", + "@aws-sdk/types": "3.183.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.178.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz", - "integrity": "sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.183.0.tgz", + "integrity": "sha512-EsyNWuW4ZhLoo5sDs/rMuL5BwGgyyO5bJxI4GzXhDcPPJerQvDZ3ZD3aB55IzAWd4EMHft3Man2uB2bCSWavjA==", "requires": { - "@aws-sdk/node-config-provider": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/node-config-provider": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-browser": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz", - "integrity": "sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.183.0.tgz", + "integrity": "sha512-6JHlQ5VkF2XdUfyK1pjpR1A8I+hVdyV0yGiyOB3Vge2zIkcc6oZQYIsSePFmqujJspz29GK0InbQhJXKuLDekg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-node": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz", - "integrity": "sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.183.0.tgz", + "integrity": "sha512-5oIc0Bco765sMd0X4jOpwidBxPOXocGXuaTM5LxfFlw+KZjgh609VQHii9pUlere23kCXF3cZzup++oSQBSrTg==", "requires": { - "@aws-sdk/util-buffer-from": "3.170.0", + "@aws-sdk/util-buffer-from": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-waiter": { - "version": "3.180.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.180.0.tgz", - "integrity": "sha512-fDBGplYp6pIIfrB7073tUhU4zppRaSiPjBCCT00yth9woWwZPUCIg7iQZKEqkBmvCzcJSYn0jRopLhf3Y7i5Wg==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.183.0.tgz", + "integrity": "sha512-gp8zuE8+6N9khmwpfNtkiiScnosoGEh5touy8KGqAy5OYcTFCyjqoEwqH3JCiZxzoTMB+81iGR3mbj4EiGwUOw==", "requires": { - "@aws-sdk/abort-controller": "3.178.0", - "@aws-sdk/types": "3.178.0", + "@aws-sdk/abort-controller": "3.183.0", + "@aws-sdk/types": "3.183.0", "tslib": "^2.3.1" } }, "@aws-sdk/xml-builder": { - "version": "3.170.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz", - "integrity": "sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g==", + "version": "3.183.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.183.0.tgz", + "integrity": "sha512-lzDdGSe5Yg60vTdo8nUpFh1NKCaN7hGSTWDBdlEg/0PaOVuevyl7QSzVqKoUVzgu9j2Pq72SgQPNO/XggcEsOw==", "requires": { "tslib": "^2.3.1" } @@ -10241,9 +10237,9 @@ "dev": true }, "@types/node": { - "version": "18.8.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.0.tgz", - "integrity": "sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==", + "version": "18.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz", + "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==", "dev": true }, "@types/npm-package-arg": { @@ -10309,14 +10305,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", - "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", + "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/type-utils": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -10325,53 +10321,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", - "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", + "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", - "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", + "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1" + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0" } }, "@typescript-eslint/type-utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", - "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", + "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", - "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", + "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", - "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", + "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -10380,26 +10376,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", - "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", + "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", - "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", + "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/types": "5.39.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -11019,9 +11015,9 @@ } }, "electron-to-chromium": { - "version": "1.4.270", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz", - "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==", + "version": "1.4.271", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.271.tgz", + "integrity": "sha512-BCPBtK07xR1/uY2HFDtl3wK2De66AW4MSiPlLrnPNxKC/Qhccxd59W73654S3y6Rb/k3hmuGJOBnhjfoutetXA==", "dev": true }, "emittery": { @@ -11304,9 +11300,9 @@ "requires": {} }, "eslint-plugin-jest": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz", - "integrity": "sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA==", + "version": "27.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.1.0.tgz", + "integrity": "sha512-sqojX5GKzQ8+PScF9rJ7dRMtu0NEIWsaDMLwRRvVE28mnWctZe5VAti394Nmut11vPwgxck9XnDmmjx/U9NowQ==", "dev": true, "requires": { "@typescript-eslint/utils": "^5.10.0" @@ -13711,11 +13707,6 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, - "system-commands": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/system-commands/-/system-commands-1.1.7.tgz", - "integrity": "sha512-PfswB3P+qrSZcm7nIOJzKMe0qMp7wGVM7B+UYBkaduS6z2n+iM2sk4kw3G4+zY1aRI32+ZgKTUUAlhc3YSneJA==" - }, "tar": { "version": "6.1.11", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", diff --git a/package.json b/package.json index 556dc06..409d2ce 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "argopm", - "version": "1.0.0", + "version": "1.0.0-rc.1", "description": "Argo package manager", "main": "./bin/index.ts", "type": "module", @@ -25,13 +25,12 @@ "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", "shelljs": "^0.8.5", - "system-commands": "^1.1.7", "yargs": "^17.5.1" }, "devDependencies": { "@types/jest": "^29.0.3", "@types/js-yaml": "^4.0.5", - "@types/node": "^18.7.23", + "@types/node": "^18.8.1", "@types/npm-package-arg": "^6.1.1", "@types/rimraf": "^3.0.2", "@types/shelljs": "^0.8.11", @@ -63,11 +62,33 @@ ], "jest": { "verbose": true, - "preset": "ts-jest", - "testEnvironment": "node" + "extensionsToTreatAsEsm": [ + ".ts", + ".mts" + ], + "resolver": "/mjs-resolver.ts", + "preset": "ts-jest/presets/default-esm", + "testEnvironment": "node", + "transform": { + "^.+\\.m[jt]s$": [ + "ts-jest", + { + "useEsm": true + } + ] + }, + "testMatch": [ + "**/?(*.)+(spec|test).m[jt]s" + ], + "moduleFileExtensions": [ + "js", + "ts", + "mts", + "mjs" + ] }, "bin": { - "argopm": "./dist/install.cjs" + "argopm": "./dist/install.mjs" }, "preferGlobal": true, "peerDependencies": { diff --git a/tests/base.test.ts b/tests/base.test.ts deleted file mode 100644 index 0fea290..0000000 --- a/tests/base.test.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { install } from "../lib/install.mjs"; -import { MOCK_PACKAGE_PATH, REGISTRY } from "./test-utils"; - -describe("simulate package install", () => { - const namespace = "default"; - const cluster = false; - - afterEach(async () => { - // await uninstall(namespace, getPackageName(MOCK_PACKAGE_PATH), cluster).catch((err) => { - // console.error(err); - // }); - }); - - it("must install local package", async () => { - let result: boolean; - try { - await install(".", REGISTRY, namespace, false, cluster, { force: false }, MOCK_PACKAGE_PATH); - console.log(`Argopm finished installing package`); - result = true; - } catch (err) { - console.error(err); - throw err; - } - expect(result).toBeTruthy(); - }); -}); diff --git a/tsconfig.json b/tsconfig.json index 9ac6fd4..c3b9c93 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "rootDirs": ["./bin/", "./lib/"], "outDir": "./dist/", - "module": "ES2022", + "module": "esnext", "target": "esnext", "allowJs": true, "esModuleInterop": true, From 898d4efd3b1119055eff9a191e113490da806cd1 Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Thu, 6 Oct 2022 10:58:10 +0800 Subject: [PATCH 06/11] Fix ESM errors for jest; Add partial impl for tests --- README.md | 120 +++--- bin/install.mts | 20 +- bin/install.spec.mts | 199 ++++++++-- lib/init.mts | 10 +- lib/k8s.mts | 7 +- lib/models/package.mts | 4 +- lib/models/template.mts | 4 +- package-lock.json | 798 ++++++++++++++++++++++++++++++++++++++-- package.json | 4 +- tsconfig.json | 6 +- 10 files changed, 1018 insertions(+), 154 deletions(-) diff --git a/README.md b/README.md index a2aa56c..a8db77b 100644 --- a/README.md +++ b/README.md @@ -1,82 +1,70 @@ -# argopm - A package manager for Argo +# Getting started with argopm - Atlan's Package Manager -This is an Argo package manager that helps you find, install and publish packages to your Argo cluster. +This package was bootstrapped using argopm -![npm-publish-status](https://github.com/atlanhq/argopm/actions/workflows/npm-publish.yml/badge.svg) +- Package Name: argopm -### Requirements +## Package Structure -1. Node.js `v16.9.0` +``` +. +├── README.md +├── index.js +├── package.json +├── configmaps +│   ├── README.md +│   ├── default-semaphore.yaml +│   └── default.yaml +├── cronworkflows +│   ├── README.md +│   └── default.yaml +├── pipelines +│   ├── README.md +│   └── default.yaml +├── secrets +│   ├── README.md +│   └── default.yaml +├── static +│   ├── README.md +│   └── data.json +└── templates + ├── README.md + └── default.yaml + +6 directories, 16 files +``` -Please ensure you have `kubectl` access to the Kubernetes cluster where Argo is deployed and the AWS credentials for writing files to AWS S3. +## Available Commands -### Installation +- `argopm install` +- `argopm list` +- `argopm run` +- `argopm info` -```bash -npm i -g argopm -``` +For more details on these commands run `argom --help` -### Usage - -```bash -$ argopm --help -argopm - -Commands: - argopm install Install a package. Package name can be of the format package@version [aliases: i] - argopm info [template] Get info of the installed package or a specific template in the package - argopm run [template] Run the package or the package template. Pass in arguments using -- - argopm uninstall Uninstall a package. Uninstalls all dependencies associated with the package. [aliases: u, r] - argopm init Initializes an Argo package inside the current working directory - argopm list List all the packages installed in the namespace [aliases: l] - -Options: - --version Show version number [boolean] - --namespace, -n Kubernetes namespace. Packages will be installed in this namespace [string] [default: "argo"] - --registry, -r Argo Package Registry [string] [default: "https://packages.atlan.com"] - --pipeline, -p Enable Argo Pipeline type [boolean] [default: false] - --cluster, -c Install the template at cluster level [boolean] [default: false] - --help Show help [boolean] -``` +## Pre-requisites -### Package Structure +- To run `argopm install` you must have `kubectl` access to the cluter where Argo is installed +- Files added in the `static` subdirectory are uploaded to the configured S3 artifactory bucket, make sure you have + the AWS credentials setup in your shell to upload static files. -This is the structure of a new package created with `argopm`. The +## Grafana Dashboards -```bash -. -├── README.md -├── index.js -├── package.json -├── configmaps # configmaps to be installed in the k8s cluster -│ ├── package-config.yaml -│ └── semaphore-config.yaml -├── cronworkflows # Cron Workflows to be installed on Argo -│ └── package-cronworkflow.yaml -├── pipelines # Argo Dataflow pipelines to be installed -│ └── package-pipeline.yaml -├── secrets # Secrets to be created in the k8s cluster -│ └── package-secret.yaml -├── static # Static data to be uploaded on S3 -│ └── data.json -└── templates # Workflow templates to be installed on Argo - └── package-template.yaml - -6 directories, 10 files -``` +Argopm supports declaring and uploading grafana dashboards as a part of the package. Files available in `dashboards/grafana/` will be uploaded to +a specified Grafana instance. -### Static Files +Declare the following environment variables if you want to upload dashboards to grafana. You can put these in the `.env` file too for +local development. -Everything present in the `static` subdirectory of a package will be uploaded to AWS S3 with the following location prefix : +- `GRAFANA_URL` - URL of the grafana instance +- `GRAFANA_API_TOKEN` - Grafana API Token + +A post request is sent to `GRAFANA_URL` with the JSON file content in `dashboards/grafana` and `GRAFANA_API_TOKEN` is sent in the `Authorization` +header as a bearer token. Refer to the [Grafana HTTP API Docs](https://grafana.com/docs/grafana/latest/http_api/) for more information. -``` -/argo-artifacts/argopm///static/ -``` -### Salient Features: +## Helpful Documentation -1. Built as a `npm` package -2. Works on marketplace built on [verdaccio](https://verdaccio.org). Verdaccio is an open-source _npm-like_ marketplace -3. Uses the K8s Custom resources to install packages into your Argo cluster -4. Support for uploading static files to the artifactory (available for AWS S3) -5. Manages versions and installed packages using K8s labels on Argo workflow templates +- https://argoproj.github.io/argo-workflows/ +- https://www.npmjs.com/package/argopm \ No newline at end of file diff --git a/bin/install.mts b/bin/install.mts index 78b759b..b278126 100755 --- a/bin/install.mts +++ b/bin/install.mts @@ -9,7 +9,7 @@ import { init } from "../lib/init.mjs"; import { install, installGlobal } from "../lib/install.mjs"; import { K8sInstallerOptionsType } from "../lib/k8s.mjs"; import { Package } from "../lib/models/package.mjs"; -import { constants } from "./constants.mjs"; +import { constants } from "../lib/constants.mjs"; asTable.configure({ title: (x) => bright(x), @@ -50,6 +50,12 @@ yarg description: "Save the package as a dependency in the current project", default: true, }) + .option("dry-run", { + alias: "d", + type: "boolean", + description: "Perform an install dry-run and display to-be-installed K8s resources", + default: true, + }) .option("force", { alias: "f", type: "boolean", @@ -132,11 +138,11 @@ yarg } = argv; const options: K8sInstallerOptionsType = { force, cronString, timeZone }; const installParts: any = { - [constants.ARGO_WORKFLOW_TEMPLATES_KIND]: workflowTemplates.length > 0 ? workflowTemplates : undefined, - [constants.CONFIGMAP_KIND]: configmaps.length > 0 ? configmaps : undefined, - [constants.SECRET_KIND]: secrets.length > 0 ? secrets : undefined, - [constants.ARGO_CRON_WORKFLOW_KIND]: cronworkflows.length > 0 ? cronworkflows : undefined, - [constants.ARGO_DATAFLOW_KIND]: pipelines.length > 0 ? pipelines : undefined, + [constants.ARGO_WORKFLOW_TEMPLATES_KIND]: workflowTemplates, + [constants.CONFIGMAP_KIND]: configmaps, + [constants.SECRET_KIND]: secrets, + [constants.ARGO_CRON_WORKFLOW_KIND]: cronworkflows, + [constants.ARGO_DATAFLOW_KIND]: pipelines, }; if (global) { @@ -245,7 +251,7 @@ yarg console.log(asTable(argoPackages.map((p) => p.info))); }, }) - .demandCommand() + // .demandCommand() .wrap(yarg.terminalWidth()) .help().argv; diff --git a/bin/install.spec.mts b/bin/install.spec.mts index c84695d..73594b9 100755 --- a/bin/install.spec.mts +++ b/bin/install.spec.mts @@ -1,54 +1,187 @@ import yarg from "./install.mjs"; +import shelljs from "shelljs"; +import nock from "nock"; +import { jest } from '@jest/globals' +import { initHelp } from "../lib/help.mjs"; +import * as querystring from 'querystring'; +import { Cluster, KubeConfig, KubernetesObjectApi } from "@kubernetes/client-node"; +import { anything, anyFunction, instance, mock, verify, when } from 'ts-mockito'; +import { WebSocketHandler, WebSocketInterface } from "@kubernetes/client-node/dist/web-socket-handler.js"; +import { S3 } from "../lib/s3.mjs"; -describe("cli", () => { - let originalArgv; +const kubeconfigConfig = { + clusters: [{ name: 'dc', server: 'https://d.i.y', skipTLSVerify: true }], + users: [{ name: 'ian', password: 'mackaye' }], + contexts: [{ name: 'dischord', cluster: 'dc', user: 'ian' }], + currentContext: 'dischord', +}; + +KubeConfig.prototype.loadFromDefault = jest.fn(() => KubeConfig.prototype.loadFromOptions(kubeconfigConfig)); +KubeConfig.prototype.getCurrentCluster = jest.fn(() => kubeconfigConfig.clusters[0]); + +const defaultConfigmap = { + "apiVersion": "v1", + "data": { + "bucket": "atlan-vcluster-aldwyn-argopm-revamp-7a2eo77n7k3e", + "domain": "aldwyn-argopm-revamp.atlan.dev", + "instance": "aldwyn-argopm-revamp", + "region": "ap-south-1", + "segment_write_key": "UltvqYHxLXFjbkhyIM7gLwabTnyk6PJh" + }, + "kind": "ConfigMap", + "metadata": { + "annotations": { + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"bucket\":\"atlan-vcluster-aldwyn-argopm-revamp-7a2eo77n7k3e\",\"domain\":\"aldwyn-argopm-revamp.atlan.dev\",\"instance\":\"aldwyn-argopm-revamp\",\"region\":\"ap-south-1\",\"segment_write_key\":\"UltvqYHxLXFjbkhyIM7gLwabTnyk6PJh\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"argocd.argoproj.io/instance\":\"aldwyn-argopm-revamp\",\"workflows.argoproj.io/configmap-type\":\"Parameter\"},\"name\":\"atlan-defaults\",\"namespace\":\"default\"}}\n" + }, + "creationTimestamp": "2022-09-30T05:19:29Z", + "labels": { + "argocd.argoproj.io/instance": "aldwyn-argopm-revamp", + "workflows.argoproj.io/configmap-type": "Parameter" + }, + "name": "atlan-defaults", + "namespace": "default", + "resourceVersion": "709", + "uid": "a438752f-c9d0-4337-ad3b-02c938ec3aec" + } +}; + +// const mockK8sApiClient = () => { +// const kc = new KubeConfig(); +// const fakeWebSocket: WebSocketInterface = mock(WebSocketHandler); +// const exec = new Exec(kc, instance(fakeWebSocket)); +// const cp = new Cp(kc, exec); + +// const namespace = 'somenamespace'; +// const pod = 'somepod'; +// const container = 'container'; +// const srcPath = '/'; +// const tgtPath = '/'; +// const cmdArray = ['tar', 'zcf', '-', srcPath]; +// const path = `/api/v1/namespaces/${namespace}/pods/${pod}/exec`; + +// const query = { +// stdout: true, +// stderr: true, +// stdin: false, +// tty: false, +// command: cmdArray, +// container, +// }; +// const queryStr = querystring.stringify(query); +// } + + + +describe("argopm init", () => { + const tmpDir = "/tmp/sample1"; beforeEach(() => { - // Remove all cached modules. The cache needs to be cleared before running - // each command, otherwise you will see the same results from the command - // run in your first test in subsequent tests. jest.resetModules(); - - // Each test overwrites process arguments so store the original arguments - originalArgv = process.argv; + shelljs.rm("-Rf", tmpDir); + shelljs.mkdir(tmpDir); }); afterEach(() => { jest.resetAllMocks(); - - // Set process arguments back to the original value - process.argv = originalArgv; + shelljs.rm("-Rf", tmpDir); + shelljs.cd("-"); }); - it("should run install command", async () => { + it("should run init successfully", async () => { const consoleSpy = jest.spyOn(console, "log"); + const currentDir = shelljs.pwd(); + shelljs.cd(tmpDir); - await runCommand("install", "some-package", "--save"); + await yarg.parse("init ."); - expect(consoleSpy).toHaveBeenCalledWith("Installing"); + const outputDirLs = shelljs.ls(`${tmpDir}/`); + const inputDirLs = shelljs.ls(`${currentDir.stdout}/lib/static/package/`); + expect(consoleSpy).toBeCalledWith("Installing from the current directory (/private/tmp/sample1) with the package name \"sample1\"...") + expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, "sample1")); + expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); + consoleSpy.mockRestore(); }); - it("should run uninstall command", async () => { - const consoleSpy = jest.spyOn(console, "log"); + it("should not run init successfully when with --force and package.json already exists", async () => { + const exitSpy = jest.spyOn(process, 'exit'); + shelljs.cd(tmpDir); - await runCommand("uninstall", "some-package"); + await yarg.parse("init ."); + await yarg.parse("init . -f"); - expect(consoleSpy).toHaveBeenCalledWith("Uninstalling"); + expect(async () => await yarg.parse("init .")) + .toThrow(`Files already present in the /private/tmp/sample1. Run this command again with --force to ignore`); + expect(exitSpy).toHaveBeenCalledWith(-1); + exitSpy.mockRestore(); }); }); -/** - * Programmatically set arguments and execute the CLI script - * - * @param {...string} args - positional and option arguments for the command to run - */ -async function runCommand(...args) { - process.argv = [ - "node", // Not used but a value is required at this index in the array - "cli.js", // Not used but a value is required at this index in the array - ...args, - ]; - - // Require the yargs CLI script - return yarg; -} + +// describe("argopm install", () => { +// const tmpDir = "/tmp/sample1"; + +// beforeEach(() => { +// jest.resetModules(); +// shelljs.mkdir(tmpDir); +// }); + +// afterEach(() => { +// jest.resetAllMocks(); +// shelljs.cd("-"); +// shelljs.rm("-Rf", tmpDir); +// }); + +// it("should run install the local package, without dependencies, successfully", async () => { +// const consoleSpy = jest.spyOn(console, "log"); +// const namespace = "default"; +// const atlanDefaultsConfigmap = "atlan-defaults"; +// const currentDir = shelljs.pwd(); +// shelljs.cp("-R", `${currentDir.stdout}/tests/fixtures/mock-package/*`, `${tmpDir}/`); +// shelljs.cd(tmpDir); + +// const scope = nock('https://d.i.y') +// .persist() +// .get(`/api/v1/namespaces/${namespace}/configmaps/${atlanDefaultsConfigmap}`) +// .reply(200, defaultConfigmap); + +// await yarg.parse("install . -x"); + +// scope.done(); +// expect(true).toEqual(true); +// }); +// }); + + +// describe("argopm uninstall", () => { +// const tmpDir = "/tmp/sample1"; + +// beforeEach(() => { +// jest.resetModules(); +// shelljs.mkdir(tmpDir); +// }); + +// afterEach(() => { +// jest.resetAllMocks(); +// shelljs.cd("-"); +// shelljs.rm("-Rf", tmpDir); +// }); + +// it("should run uninstall successfully", async () => { +// const namespace = "default"; +// const atlanDefaultsConfigmap = "atlan-defaults"; +// const currentDir = shelljs.pwd(); +// shelljs.cp("-R", `${currentDir.stdout}/tests/fixtures/mock-package/*`, `${tmpDir}/`); +// shelljs.cd(tmpDir); + +// const scope = nock('https://d.i.y') +// .persist() +// .get(`/api/v1/namespaces/${namespace}/configmaps/${atlanDefaultsConfigmap}`) +// .reply(200, defaultConfigmap); + +// await yarg.parse("install . -x"); + +// scope.done(); + +// await yarg.parse("uninstall . -x"); +// }); +// }); diff --git a/lib/init.mts b/lib/init.mts index 6f9330f..d5f70a0 100644 --- a/lib/init.mts +++ b/lib/init.mts @@ -1,3 +1,4 @@ +import { red } from "ansicolor"; import shell from "shelljs"; import { getDirName } from "./utils.mjs"; @@ -11,19 +12,18 @@ import { getDirName } from "./utils.mjs"; * @param {boolean} force */ export const init = async (force: boolean) => { - // const dirPath = "/tmp/test-package"; const dirPath = shell.pwd(); - const dirName = getDirName(import.meta.url); + const __dirname = getDirName(import.meta.url); const pathComponents = dirPath.split("/"); const packageName = pathComponents[pathComponents.length - 1]; console.log(`Installing from the current directory (${dirPath}) with the package name "${packageName}"...`); - if (!force && shell.ls("package.json").length > 0) { - throw new Error(`Files already present in the ${dirName}. Run this command again with --force to ignore`); + if (shell.ls("package.json").length > 0 && !force) { + throw new Error(`Files already present in the ${dirPath}. Run this command again with --force to ignore`); } - const skeletonPackagePath = `${dirName}/static/package`; + const skeletonPackagePath = `${__dirname}/static/package`; shell.cp("-R", `${skeletonPackagePath}/*`, dirPath); shell.sed("-i", /NAME/g, packageName, `${dirPath}/*.*`); diff --git a/lib/k8s.mts b/lib/k8s.mts index 44c4853..fd0f74d 100644 --- a/lib/k8s.mts +++ b/lib/k8s.mts @@ -131,7 +131,7 @@ export class K8sInstaller { */ async installConfigmaps(names?: string[]) { const dirPath = `${this.packagePath}/configmaps/`; - return await this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", K8sInstaller.upsertConfigMap); + return await this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", names, K8sInstaller.upsertConfigMap); } /** @@ -139,7 +139,7 @@ export class K8sInstaller { */ async installSecrets(names?: string[]) { const dirPath = `${this.packagePath}/secrets/`; - return await this.installYamlInPath(dirPath, false, constants.SECRET_KIND, "", K8sInstaller.upsertSecret); + return await this.installYamlInPath(dirPath, false, constants.SECRET_KIND, "", names, K8sInstaller.upsertSecret); } /** @@ -153,6 +153,7 @@ export class K8sInstaller { cluster, constants.ARGO_CRON_WORKFLOW_KIND, constants.ARGO_K8S_API_GROUP, + names, K8sInstaller.upsertTemplate ); } @@ -167,6 +168,7 @@ export class K8sInstaller { false, constants.ARGO_DATAFLOW_KIND, constants.ARGO_DATAFLOW_K8S_API_GROUP, + names, K8sInstaller.upsertTemplate ); } @@ -184,6 +186,7 @@ export class K8sInstaller { cluster, kind, constants.ARGO_K8S_API_GROUP, + names, K8sInstaller.upsertTemplate ); } diff --git a/lib/models/package.mts b/lib/models/package.mts index b186906..447bd67 100644 --- a/lib/models/package.mts +++ b/lib/models/package.mts @@ -378,11 +378,11 @@ export class Package { throw "Package is not runnable"; } - const dirName = getDirName(import.meta.url); + const __dirname = getDirName(import.meta.url); const runtimeArguments = new Arguments(args); this.arguments.checkRequiredArgs(runtimeArguments); - const yamlStr = await readFile(`${dirName}/../static/workflows/workflow.yaml`); + const yamlStr = await readFile(`${__dirname}/../static/workflows/workflow.yaml`); const workflow: any = load(yamlStr.toString()); const name = this.metadata.name; diff --git a/lib/models/template.mts b/lib/models/template.mts index bbd3535..e9fc0e1 100644 --- a/lib/models/template.mts +++ b/lib/models/template.mts @@ -46,11 +46,11 @@ export class Template { imagePullSecrets: string, cluster: boolean ) { - const dirName = getDirName(import.meta.url); + const __dirname = getDirName(import.meta.url); const runtimeInputs = new Input(args); this.inputs.checkRequiredArgs(runtimeInputs); - const data = await readFile(`${dirName}/../static/workflows/template-workflow.yaml`); + const data = await readFile(`${__dirname}/../static/workflows/template-workflow.yaml`); const workflow: GenericK8sSpecType = load(data.toString()); workflow.metadata.generateName = `${this.name}-`; diff --git a/package-lock.json b/package-lock.json index a8578fe..5ec2d8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,10 +17,12 @@ "compare-versions": "^5.0.1", "dotenv": "^16.0.2", "js-yaml": "^4.1.0", + "nock": "^13.2.9", "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", "shelljs": "^0.8.5", - "yargs": "^17.5.1" + "yargs": "^17.5.1", + "yargs-interactive": "^3.0.1" }, "bin": { "argopm": "dist/install.mjs" @@ -44,8 +46,10 @@ "lint-staged": "^13.0.3", "pre-commit": "^1.2.2", "prettier": "^2.7.1", + "querystring": "^0.2.1", "shx": "^0.3.4", "ts-jest": "^29.0.2", + "ts-mockito": "^2.6.1", "ts-node": "^10.9.1", "typescript": "^4.8.4" }, @@ -2953,7 +2957,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -2968,7 +2971,6 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, "engines": { "node": ">=10" }, @@ -3310,7 +3312,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, "engines": { "node": ">=6" } @@ -3340,7 +3341,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3361,6 +3361,11 @@ "node": ">=10" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -3394,7 +3399,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -3418,6 +3422,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -3589,7 +3601,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -3602,6 +3613,14 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -4428,6 +4447,30 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -4510,6 +4553,28 @@ "bser": "2.1.1" } }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -4803,7 +4868,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -4847,6 +4911,17 @@ "node": ">=10.17.0" } }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -4923,6 +4998,71 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -6068,6 +6208,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6313,8 +6458,12 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -6322,6 +6471,20 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/nock": { + "version": "13.2.9", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.9.tgz", + "integrity": "sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==", + "dependencies": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" + }, + "engines": { + "node": ">= 10.13" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -6474,6 +6637,14 @@ "node": ">= 0.4.0" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -6523,7 +6694,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, "engines": { "node": ">=6" } @@ -6859,6 +7029,14 @@ "node": ">= 6" } }, + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "engines": { + "node": ">= 8" + } + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -6886,6 +7064,16 @@ "node": ">=0.6" } }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -7011,6 +7199,11 @@ "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -7070,7 +7263,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -7114,6 +7306,14 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -7181,6 +7381,11 @@ "node": ">=10" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7488,7 +7693,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7575,8 +7779,7 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "node_modules/tmp": { "version": "0.2.1", @@ -7679,6 +7882,15 @@ } } }, + "node_modules/ts-mockito": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.6.1.tgz", + "integrity": "sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.5" + } + }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -7941,6 +8153,11 @@ "node": ">= 8" } }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" + }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -8069,6 +8286,199 @@ "node": ">=12" } }, + "node_modules/yargs-interactive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yargs-interactive/-/yargs-interactive-3.0.1.tgz", + "integrity": "sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw==", + "dependencies": { + "inquirer": "^7.0.0", + "yargs": "^14.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs-interactive/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/yargs-interactive/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/yargs-interactive/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/yargs-interactive/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/yargs-interactive/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs-interactive/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-interactive/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs-interactive/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/yargs-interactive/node_modules/yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/yargs-interactive/node_modules/yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", @@ -10443,7 +10853,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "requires": { "type-fest": "^0.21.3" }, @@ -10451,8 +10860,7 @@ "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" } } }, @@ -10716,8 +11124,7 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "caniuse-lite": { "version": "1.0.30001414", @@ -10734,7 +11141,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10746,6 +11152,11 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -10773,7 +11184,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -10788,6 +11198,11 @@ "string-width": "^5.0.0" } }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -10930,11 +11345,15 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "requires": { "ms": "2.1.2" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -11444,6 +11863,26 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -11512,6 +11951,21 @@ "bser": "2.1.1" } }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -11713,8 +12167,7 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "hosted-git-info": { "version": "5.1.0", @@ -11745,6 +12198,14 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -11797,6 +12258,61 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -12647,6 +13163,11 @@ "p-locate": "^5.0.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -12833,8 +13354,12 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "natural-compare": { "version": "1.4.0", @@ -12842,6 +13367,17 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "nock": { + "version": "13.2.9", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.9.tgz", + "integrity": "sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==", + "requires": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.21", + "propagate": "^2.0.0" + } + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -12957,6 +13493,11 @@ "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -12987,8 +13528,7 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "parent-module": { "version": "1.0.1", @@ -13236,6 +13776,11 @@ "sisteransi": "^1.0.5" } }, + "propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==" + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -13257,6 +13802,12 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, + "querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "dev": true + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -13347,6 +13898,11 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -13390,7 +13946,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -13421,6 +13976,11 @@ "glob": "^7.1.3" } }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -13467,6 +14027,11 @@ } } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -13687,7 +14252,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -13750,8 +14314,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "tmp": { "version": "0.2.1", @@ -13815,6 +14378,15 @@ "yargs-parser": "^21.0.1" } }, + "ts-mockito": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.6.1.tgz", + "integrity": "sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==", + "dev": true, + "requires": { + "lodash": "^4.17.5" + } + }, "ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -13997,6 +14569,11 @@ "isexe": "^2.0.0" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -14108,6 +14685,161 @@ } } }, + "yargs-interactive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yargs-interactive/-/yargs-interactive-3.0.1.tgz", + "integrity": "sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw==", + "requires": { + "inquirer": "^7.0.0", + "yargs": "^14.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", diff --git a/package.json b/package.json index 409d2ce..446a230 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "module", "scripts": { "build": "esbuild ./bin/install.mts --bundle --platform=node --format=esm --outfile=./dist/argopm.mjs --external:shelljs --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" && sed -i.bak 's,/bin/env -S npx ts-node --esm,/bin/env node,g' ./dist/argopm.mjs", - "test": "jest --detectOpenHandles", + "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage", "prettier": "prettier --write .", "eslint": "eslint --fix .", "lint-staged": "lint-staged" @@ -67,7 +67,7 @@ ".mts" ], "resolver": "/mjs-resolver.ts", - "preset": "ts-jest/presets/default-esm", + "preset": "ts-jest/presets/js-with-ts-esm", "testEnvironment": "node", "transform": { "^.+\\.m[jt]s$": [ diff --git a/tsconfig.json b/tsconfig.json index c3b9c93..84468fe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,11 +4,13 @@ "outDir": "./dist/", "module": "esnext", "target": "esnext", + "lib": ["ESNext"], "allowJs": true, "esModuleInterop": true, "moduleResolution": "Node", - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "types": ["node", "jest"] }, "include": ["./lib/**/*", "./bin/**/*"], - "exclude": ["./lib/static/*"] + "exclude": ["./lib/static/*", "node_modules"] } From df00fcf42ab8db56f3df67880f0555e4c1420270 Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Thu, 6 Oct 2022 21:40:38 +0800 Subject: [PATCH 07/11] Add initial units test cases for init and install command --- README.md | 5 +- bin/install.mts | 2 +- bin/install.spec.mts | 187 ----------------- lib/init.mts | 3 +- lib/install.mts | 6 +- lib/k8s.mts | 43 ++-- lib/models/info.mts | 6 +- lib/models/package.mts | 5 +- lib/models/template.mts | 4 +- lib/s3.mts | 3 +- package.json | 2 +- tests/init.spec.mts | 82 ++++++++ tests/install.spec.mts | 441 ++++++++++++++++++++++++++++++++++++++++ 13 files changed, 568 insertions(+), 221 deletions(-) delete mode 100755 bin/install.spec.mts create mode 100755 tests/init.spec.mts create mode 100755 tests/install.spec.mts diff --git a/README.md b/README.md index a8db77b..f023307 100644 --- a/README.md +++ b/README.md @@ -60,11 +60,10 @@ local development. - `GRAFANA_URL` - URL of the grafana instance - `GRAFANA_API_TOKEN` - Grafana API Token -A post request is sent to `GRAFANA_URL` with the JSON file content in `dashboards/grafana` and `GRAFANA_API_TOKEN` is sent in the `Authorization` +A post request is sent to `GRAFANA_URL` with the JSON file content in `dashboards/grafana` and `GRAFANA_API_TOKEN` is sent in the `Authorization` header as a bearer token. Refer to the [Grafana HTTP API Docs](https://grafana.com/docs/grafana/latest/http_api/) for more information. - ## Helpful Documentation - https://argoproj.github.io/argo-workflows/ -- https://www.npmjs.com/package/argopm \ No newline at end of file +- https://www.npmjs.com/package/argopm diff --git a/bin/install.mts b/bin/install.mts index b278126..bed2a3c 100755 --- a/bin/install.mts +++ b/bin/install.mts @@ -232,7 +232,7 @@ yarg alias: "f", type: "boolean", description: "Force the command", - default: true, + default: false, }), handler: async (argv) => { const packageName = await init(argv.force); diff --git a/bin/install.spec.mts b/bin/install.spec.mts deleted file mode 100755 index 73594b9..0000000 --- a/bin/install.spec.mts +++ /dev/null @@ -1,187 +0,0 @@ -import yarg from "./install.mjs"; -import shelljs from "shelljs"; -import nock from "nock"; -import { jest } from '@jest/globals' -import { initHelp } from "../lib/help.mjs"; -import * as querystring from 'querystring'; -import { Cluster, KubeConfig, KubernetesObjectApi } from "@kubernetes/client-node"; -import { anything, anyFunction, instance, mock, verify, when } from 'ts-mockito'; -import { WebSocketHandler, WebSocketInterface } from "@kubernetes/client-node/dist/web-socket-handler.js"; -import { S3 } from "../lib/s3.mjs"; - -const kubeconfigConfig = { - clusters: [{ name: 'dc', server: 'https://d.i.y', skipTLSVerify: true }], - users: [{ name: 'ian', password: 'mackaye' }], - contexts: [{ name: 'dischord', cluster: 'dc', user: 'ian' }], - currentContext: 'dischord', -}; - -KubeConfig.prototype.loadFromDefault = jest.fn(() => KubeConfig.prototype.loadFromOptions(kubeconfigConfig)); -KubeConfig.prototype.getCurrentCluster = jest.fn(() => kubeconfigConfig.clusters[0]); - -const defaultConfigmap = { - "apiVersion": "v1", - "data": { - "bucket": "atlan-vcluster-aldwyn-argopm-revamp-7a2eo77n7k3e", - "domain": "aldwyn-argopm-revamp.atlan.dev", - "instance": "aldwyn-argopm-revamp", - "region": "ap-south-1", - "segment_write_key": "UltvqYHxLXFjbkhyIM7gLwabTnyk6PJh" - }, - "kind": "ConfigMap", - "metadata": { - "annotations": { - "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"bucket\":\"atlan-vcluster-aldwyn-argopm-revamp-7a2eo77n7k3e\",\"domain\":\"aldwyn-argopm-revamp.atlan.dev\",\"instance\":\"aldwyn-argopm-revamp\",\"region\":\"ap-south-1\",\"segment_write_key\":\"UltvqYHxLXFjbkhyIM7gLwabTnyk6PJh\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"labels\":{\"argocd.argoproj.io/instance\":\"aldwyn-argopm-revamp\",\"workflows.argoproj.io/configmap-type\":\"Parameter\"},\"name\":\"atlan-defaults\",\"namespace\":\"default\"}}\n" - }, - "creationTimestamp": "2022-09-30T05:19:29Z", - "labels": { - "argocd.argoproj.io/instance": "aldwyn-argopm-revamp", - "workflows.argoproj.io/configmap-type": "Parameter" - }, - "name": "atlan-defaults", - "namespace": "default", - "resourceVersion": "709", - "uid": "a438752f-c9d0-4337-ad3b-02c938ec3aec" - } -}; - -// const mockK8sApiClient = () => { -// const kc = new KubeConfig(); -// const fakeWebSocket: WebSocketInterface = mock(WebSocketHandler); -// const exec = new Exec(kc, instance(fakeWebSocket)); -// const cp = new Cp(kc, exec); - -// const namespace = 'somenamespace'; -// const pod = 'somepod'; -// const container = 'container'; -// const srcPath = '/'; -// const tgtPath = '/'; -// const cmdArray = ['tar', 'zcf', '-', srcPath]; -// const path = `/api/v1/namespaces/${namespace}/pods/${pod}/exec`; - -// const query = { -// stdout: true, -// stderr: true, -// stdin: false, -// tty: false, -// command: cmdArray, -// container, -// }; -// const queryStr = querystring.stringify(query); -// } - - - -describe("argopm init", () => { - const tmpDir = "/tmp/sample1"; - - beforeEach(() => { - jest.resetModules(); - shelljs.rm("-Rf", tmpDir); - shelljs.mkdir(tmpDir); - }); - - afterEach(() => { - jest.resetAllMocks(); - shelljs.rm("-Rf", tmpDir); - shelljs.cd("-"); - }); - - it("should run init successfully", async () => { - const consoleSpy = jest.spyOn(console, "log"); - const currentDir = shelljs.pwd(); - shelljs.cd(tmpDir); - - await yarg.parse("init ."); - - const outputDirLs = shelljs.ls(`${tmpDir}/`); - const inputDirLs = shelljs.ls(`${currentDir.stdout}/lib/static/package/`); - expect(consoleSpy).toBeCalledWith("Installing from the current directory (/private/tmp/sample1) with the package name \"sample1\"...") - expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, "sample1")); - expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); - consoleSpy.mockRestore(); - }); - - it("should not run init successfully when with --force and package.json already exists", async () => { - const exitSpy = jest.spyOn(process, 'exit'); - shelljs.cd(tmpDir); - - await yarg.parse("init ."); - await yarg.parse("init . -f"); - - expect(async () => await yarg.parse("init .")) - .toThrow(`Files already present in the /private/tmp/sample1. Run this command again with --force to ignore`); - expect(exitSpy).toHaveBeenCalledWith(-1); - exitSpy.mockRestore(); - }); -}); - - -// describe("argopm install", () => { -// const tmpDir = "/tmp/sample1"; - -// beforeEach(() => { -// jest.resetModules(); -// shelljs.mkdir(tmpDir); -// }); - -// afterEach(() => { -// jest.resetAllMocks(); -// shelljs.cd("-"); -// shelljs.rm("-Rf", tmpDir); -// }); - -// it("should run install the local package, without dependencies, successfully", async () => { -// const consoleSpy = jest.spyOn(console, "log"); -// const namespace = "default"; -// const atlanDefaultsConfigmap = "atlan-defaults"; -// const currentDir = shelljs.pwd(); -// shelljs.cp("-R", `${currentDir.stdout}/tests/fixtures/mock-package/*`, `${tmpDir}/`); -// shelljs.cd(tmpDir); - -// const scope = nock('https://d.i.y') -// .persist() -// .get(`/api/v1/namespaces/${namespace}/configmaps/${atlanDefaultsConfigmap}`) -// .reply(200, defaultConfigmap); - -// await yarg.parse("install . -x"); - -// scope.done(); -// expect(true).toEqual(true); -// }); -// }); - - -// describe("argopm uninstall", () => { -// const tmpDir = "/tmp/sample1"; - -// beforeEach(() => { -// jest.resetModules(); -// shelljs.mkdir(tmpDir); -// }); - -// afterEach(() => { -// jest.resetAllMocks(); -// shelljs.cd("-"); -// shelljs.rm("-Rf", tmpDir); -// }); - -// it("should run uninstall successfully", async () => { -// const namespace = "default"; -// const atlanDefaultsConfigmap = "atlan-defaults"; -// const currentDir = shelljs.pwd(); -// shelljs.cp("-R", `${currentDir.stdout}/tests/fixtures/mock-package/*`, `${tmpDir}/`); -// shelljs.cd(tmpDir); - -// const scope = nock('https://d.i.y') -// .persist() -// .get(`/api/v1/namespaces/${namespace}/configmaps/${atlanDefaultsConfigmap}`) -// .reply(200, defaultConfigmap); - -// await yarg.parse("install . -x"); - -// scope.done(); - -// await yarg.parse("uninstall . -x"); -// }); -// }); diff --git a/lib/init.mts b/lib/init.mts index d5f70a0..091cafe 100644 --- a/lib/init.mts +++ b/lib/init.mts @@ -1,4 +1,3 @@ -import { red } from "ansicolor"; import shell from "shelljs"; import { getDirName } from "./utils.mjs"; @@ -19,7 +18,7 @@ export const init = async (force: boolean) => { const packageName = pathComponents[pathComponents.length - 1]; console.log(`Installing from the current directory (${dirPath}) with the package name "${packageName}"...`); - if (shell.ls("package.json").length > 0 && !force) { + if (!force && shell.test("-e", "package.json")) { throw new Error(`Files already present in the ${dirPath}. Run this command again with --force to ignore`); } diff --git a/lib/install.mts b/lib/install.mts index 8b1c825..bcdd316 100644 --- a/lib/install.mts +++ b/lib/install.mts @@ -23,9 +23,9 @@ const npmInstall = function (prefixPath: string, packageName: string, registry: let command: string; const saveParam = save ? "--save" : "--no-save"; if (packageName === ".") { - command = `NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force`; + command = `NPM_CONFIG_REGISTRY=${registry} npm i ${saveParam} --prefix ${prefixPath} --force --silent`; } else { - command = `NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force`; + command = `NPM_CONFIG_REGISTRY=${registry} npm i ${packageName} ${saveParam} --prefix ${prefixPath} --force --silent`; } return shell.exec(command, { fatal: true }); }; @@ -69,7 +69,7 @@ export const installGlobal = async function ( * @param {string} path * @returns string */ -const packageNameFromPath = function (path: string): string { +export const packageNameFromPath = function (path: string): string { const packageJSONFilePath = `${path}/package.json`; const packageObject = JSON.parse(readFileSync(packageJSONFilePath, "utf-8")); return `${packageObject.name}@${packageObject.version}`; diff --git a/lib/k8s.mts b/lib/k8s.mts index fd0f74d..82247a5 100644 --- a/lib/k8s.mts +++ b/lib/k8s.mts @@ -1,5 +1,4 @@ -import { CoreV1Api, CustomObjectsApi, KubeConfig } from "@kubernetes/client-node"; -import { load } from "js-yaml"; +import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; import { existsSync, readFileSync } from "node:fs"; import { readdir, readFile } from "node:fs/promises"; import { IncomingMessage } from "node:http"; @@ -36,7 +35,7 @@ export type K8sInstallerOptionsType = { * @param {GenericK8sSpecType[]} resources * @param {string} name */ -function getResourceByName(resources: GenericK8sSpecType[], name: string) { +export function getResourceByName(resources: GenericK8sSpecType[], name: string) { //TODO: Possible bottleneck if packages grow. const resource = resources.find(({ metadata }) => metadata.name === name); if (resource) { @@ -131,7 +130,14 @@ export class K8sInstaller { */ async installConfigmaps(names?: string[]) { const dirPath = `${this.packagePath}/configmaps/`; - return await this.installYamlInPath(dirPath, false, constants.CONFIGMAP_KIND, "", names, K8sInstaller.upsertConfigMap); + return await this.installYamlInPath( + dirPath, + false, + constants.CONFIGMAP_KIND, + "", + names, + K8sInstaller.upsertConfigMap + ); } /** @@ -139,7 +145,14 @@ export class K8sInstaller { */ async installSecrets(names?: string[]) { const dirPath = `${this.packagePath}/secrets/`; - return await this.installYamlInPath(dirPath, false, constants.SECRET_KIND, "", names, K8sInstaller.upsertSecret); + return await this.installYamlInPath( + dirPath, + false, + constants.SECRET_KIND, + "", + names, + K8sInstaller.upsertSecret + ); } /** @@ -148,7 +161,7 @@ export class K8sInstaller { */ async installCronWorkflows(cluster: boolean, names?: string[]) { const dirPath = `${this.packagePath}/cronworkflows/`; - return await this.installYamlInPath( + return await this.installYamlInPath( dirPath, cluster, constants.ARGO_CRON_WORKFLOW_KIND, @@ -163,7 +176,7 @@ export class K8sInstaller { */ async installPipelines(names?: string[]) { const dirPath = `${this.packagePath}/pipelines/`; - return await this.installYamlInPath( + return await this.installYamlInPath( dirPath, false, constants.ARGO_DATAFLOW_KIND, @@ -181,7 +194,7 @@ export class K8sInstaller { const dirPath = `${this.packagePath}/templates/`; const kind = cluster ? constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND : constants.ARGO_WORKFLOW_TEMPLATES_KIND; - return await this.installYamlInPath( + return await this.installYamlInPath( dirPath, cluster, kind, @@ -199,7 +212,7 @@ export class K8sInstaller { * @param {string} group * @param {any} fn */ - async installYamlInPath( + async installYamlInPath( dirPath: string, cluster: boolean, kind: string, @@ -222,7 +235,7 @@ export class K8sInstaller { for (const file of files) { const filePath = `${dirPath}${file}`; const data = await readFile(filePath, "utf8"); - const yamlData = load(data) as GenericK8sSpecType; + const yamlData = loadYaml(data); if (yamlData) { const fileName = file.substring(0, file.lastIndexOf(".")); @@ -331,9 +344,10 @@ export class K8sInstaller { headers: { "content-type": "application/strategic-merge-patch+json" }, } ); + } else { + console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); + return await coreK8sApi.createNamespacedConfigMap(namespace, yamlObject); } - console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); - return await coreK8sApi.createNamespacedConfigMap(namespace, yamlObject); } /** @@ -391,9 +405,10 @@ export class K8sInstaller { headers: { "content-type": "application/strategic-merge-patch+json" }, } ); + } else { + console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); + return await coreK8sApi.createNamespacedSecret(namespace, yamlObject); } - console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); - return await coreK8sApi.createNamespacedSecret(namespace, yamlObject); } /** diff --git a/lib/models/info.mts b/lib/models/info.mts index 3d528bf..9264041 100644 --- a/lib/models/info.mts +++ b/lib/models/info.mts @@ -5,7 +5,7 @@ import { constants } from "../constants.mjs"; * Encode a string * @param {string} str */ -const encode = function (str: string) { +export const encode = function (str: string) { return str.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); }; @@ -13,7 +13,7 @@ const encode = function (str: string) { * Special encode a string * @param {string} str */ -const specialEncode = function (str: string) { +export const specialEncode = function (str: string) { if (str === ".") return ""; return encode(str.replace(/@/g, "a-t-r").replace(/\//g, "s-l-a-s-h").replace(/:/g, "c-o-l-o-n")); }; @@ -22,7 +22,7 @@ const specialEncode = function (str: string) { * Decode a string * @param {string} str */ -const decode = function (str: string) { +export const decode = function (str: string) { return str .replace(/a-t-r/g, "@") .replace(/s-l-a-s-h/g, "/") diff --git a/lib/models/package.mts b/lib/models/package.mts index 447bd67..0e63cf4 100644 --- a/lib/models/package.mts +++ b/lib/models/package.mts @@ -1,6 +1,5 @@ -import { CoreV1Api, CustomObjectsApi, KubeConfig, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; +import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; import { blue, bright, lightCyan, red, yellow } from "ansicolor"; -import { load } from "js-yaml"; import { readFile } from "node:fs/promises"; import { constants } from "../constants.mjs"; import { K8sApiResponse as K8sApiListResponse } from "../k8s.mjs"; @@ -383,7 +382,7 @@ export class Package { const runtimeArguments = new Arguments(args); this.arguments.checkRequiredArgs(runtimeArguments); const yamlStr = await readFile(`${__dirname}/../static/workflows/workflow.yaml`); - const workflow: any = load(yamlStr.toString()); + const workflow: any = loadYaml(yamlStr.toString()); const name = this.metadata.name; workflow.metadata.generateName = `${name}-`; diff --git a/lib/models/template.mts b/lib/models/template.mts index e9fc0e1..e3a9ee2 100644 --- a/lib/models/template.mts +++ b/lib/models/template.mts @@ -1,5 +1,5 @@ +import { loadYaml } from "@kubernetes/client-node"; import { blue, bright } from "ansicolor"; -import { load } from "js-yaml"; import { readFile } from "node:fs/promises"; import { GenericK8sSpecType } from "../k8s.mjs"; import { getDirName } from "../utils.mjs"; @@ -51,7 +51,7 @@ export class Template { this.inputs.checkRequiredArgs(runtimeInputs); const data = await readFile(`${__dirname}/../static/workflows/template-workflow.yaml`); - const workflow: GenericK8sSpecType = load(data.toString()); + const workflow = loadYaml(data.toString()); workflow.metadata.generateName = `${this.name}-`; if (serviceAccountName) { diff --git a/lib/s3.mts b/lib/s3.mts index a1729fb..23d566b 100644 --- a/lib/s3.mts +++ b/lib/s3.mts @@ -1,8 +1,7 @@ -import { PutObjectCommand, PutObjectCommandInput, S3Client } from "@aws-sdk/client-s3"; +import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; import { CoreV1Api, KubeConfig } from "@kubernetes/client-node"; import { yellow } from "ansicolor"; import { existsSync, readFileSync } from "fs"; -import { load } from "js-yaml"; import { Result } from "npm-package-arg"; import { walk } from "./utils.mjs"; diff --git a/package.json b/package.json index 446a230..951a0b0 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "module", "scripts": { "build": "esbuild ./bin/install.mts --bundle --platform=node --format=esm --outfile=./dist/argopm.mjs --external:shelljs --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" && sed -i.bak 's,/bin/env -S npx ts-node --esm,/bin/env node,g' ./dist/argopm.mjs", - "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage", + "test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage --silent", "prettier": "prettier --write .", "eslint": "eslint --fix .", "lint-staged": "lint-staged" diff --git a/tests/init.spec.mts b/tests/init.spec.mts new file mode 100755 index 0000000..cb79aaa --- /dev/null +++ b/tests/init.spec.mts @@ -0,0 +1,82 @@ +import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals"; +import shell from "shelljs"; +import yarg from "../bin/install.mjs"; +import { initHelp } from "../lib/help.mjs"; + +const TMP_DIR = "/tmp/test-init-package"; + +describe("argopm init", () => { + beforeEach(() => { + jest.resetModules(); + shell.rm("-Rf", TMP_DIR); + shell.mkdir(TMP_DIR); + // jest.spyOn(console, 'log') + // jest.spyOn(console, 'error') + // jest.spyOn(process, 'exit').mockImplementation((code: number) => jest.fn() as never); + }); + + afterEach(() => { + jest.resetAllMocks(); + shell.rm("-Rf", TMP_DIR); + shell.cd("-"); + }); + + it("should run init successfully", async () => { + const consoleSpy = jest.spyOn(console, "log"); + const currentDir = shell.pwd(); + shell.cd(TMP_DIR); + + await yarg.parse("init ."); + expect(shell.test("-e", "package.json")).toBe(true); + + const outputDirLs = shell.ls(`${TMP_DIR}/`); + const inputDirLs = shell.ls(`${currentDir.stdout}/lib/static/package/`); + const packageNameSplit = TMP_DIR.split("/"); + const packageName = packageNameSplit[packageNameSplit.length - 1]; + expect(consoleSpy).toBeCalledWith( + `Installing from the current directory (/private${TMP_DIR}) with the package name "${packageName}"...` + ); + expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, packageName)); + expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); + consoleSpy.mockRestore(); + }); + + // it("should run init with different registry successfully", async () => { + // const consoleSpy = jest.spyOn(console, "log"); + // const currentDir = shell.pwd(); + // shell.cd(TMP_DIR); + + // await yarg.parse("init ."); + + // const outputDirLs = shell.ls(`${TMP_DIR}/`); + // const inputDirLs = shell.ls(`${currentDir.stdout}/lib/static/package/`); + // expect(consoleSpy).toBeCalledWith("Installing from the current directory (/private/tmp/sample1) with the package name \"sample1\"...") + // expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, "sample1")); + // expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); + // consoleSpy.mockRestore(); + // }); + + // it("should not run init successfully when with --force and package.json already exists", async () => { + // shell.cd(TMP_DIR); + + // await yarg.parse("init ."); + // expect(shell.test("-e", "package.json")).toBe(true); + + // const consoleErrorSpy = jest.spyOn(console, "error"); + // const exitSpy = jest.spyOn(process, 'exit'); + // // expect.assertions(1); + // await expect(() => yarg.parse("init .")).rejects.toThrowError(); + // // await yarg.parse("init ."); + // // expect(shell.test("-e", "package.json")).toBe(true); + // // try { + // // await expect(async () => await yarg.parse("init .")).rejects.toBeInstanceOf(Error); + // // } catch (err) { + // // // expect(err).toBe(Error) + // // } + // // // expect(exitSpy).toHaveBeenCalledWith(1); + // expect(consoleErrorSpy).toBeCalledWith(`Files already present in the /private/tmp/test-init-package. Run this command again with --force to ignore`) + // expect(consoleErrorSpy).toBeCalledTimes(1); + // exitSpy.mockRestore(); + // consoleErrorSpy.mockRestore(); + // }); +}); diff --git a/tests/install.spec.mts b/tests/install.spec.mts new file mode 100755 index 0000000..5ddde51 --- /dev/null +++ b/tests/install.spec.mts @@ -0,0 +1,441 @@ +import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals"; +import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; +import { readFile } from "fs/promises"; +import npa from "npm-package-arg"; +import shell from "shelljs"; +import yarg from "../bin/install.mjs"; +import { constants } from "../lib/constants.mjs"; +import { packageNameFromPath } from "../lib/install.mjs"; +import { GenericK8sSpecType, getResourceByName } from "../lib/k8s.mjs"; +import { encode, PackageInfo } from "../lib/models/info.mjs"; + +const kc = new KubeConfig(); +kc.loadFromDefault(); +const coreK8sApi = kc.makeApiClient(CoreV1Api); +const customK8sApi = kc.makeApiClient(CustomObjectsApi); + +const TMP_DIR = "/tmp/test-install-package"; +const CURRENT_DIR = shell.pwd(); +const MOCK_PACKAGE_DIR = `${CURRENT_DIR.stdout}/tests/fixtures/mock-package`; +const NEW_VERSION_BUMP = "0.0.2"; + +const getResource = async (path: string) => { + const data = await readFile(`${MOCK_PACKAGE_DIR}/${path}`); + const resource = loadYaml(data.toString()); + return resource; +}; + +describe("argopm install", () => { + const namespace = "argo"; + let packageName; + let packageJson; + let packageVersion; + const consoleDebugSpy = jest.spyOn(console, "debug"); + + beforeEach(async () => { + jest.resetModules(); + shell.rm("-Rf", TMP_DIR); + shell.mkdir(TMP_DIR); + shell.cp("-R", `${MOCK_PACKAGE_DIR}/*`, `${TMP_DIR}/`); + shell.cd(TMP_DIR); + packageName = npa(packageNameFromPath(TMP_DIR)); + }); + + afterEach(() => { + jest.resetAllMocks(); + shell.cd("-"); + // TODO: Need to uninstall after this test + }); + + describe("fresh-install all", () => { + beforeEach(async () => { + await yarg.parse("install ."); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); + }); + + it("should create configmaps successfully", async () => { + const configmap = await getResource("configmaps/default.yaml"); + const configmapList = await coreK8sApi.listNamespacedConfigMap( + namespace, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(configmapList.response.statusCode).toEqual(200); + expect(configmapList.body.items.length).toEqual(1); + expect(configmapList.body.items[0].metadata?.name).toEqual(configmap.metadata?.name); + expect(consoleDebugSpy).toBeCalledWith( + `${configmap.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }); + + it("should create secrets successfully", async () => { + const secret = await getResource("secrets/default.yaml"); + const secretList = await coreK8sApi.listNamespacedSecret( + namespace, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(secretList.response.statusCode).toEqual(200); + expect(secretList.body.items.length).toEqual(1); + expect(secretList.body.items[0].metadata?.name).toEqual(secret.metadata?.name); + expect(consoleDebugSpy).toBeCalledWith( + `${secret.metadata?.name} ${constants.SECRET_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }); + + it("should create workflow templates successfully", async () => { + const workflowTemplate = await getResource("templates/default.yaml"); + const workflowTemplateList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(workflowTemplateList.response.statusCode).toEqual(200); + expect(workflowTemplateList.body).toHaveProperty("items"); + expect(workflowTemplateList.body["items"]).toBeInstanceOf(Array); + expect(workflowTemplateList.body["items"].length).toEqual(1); + expect(workflowTemplateList.body["items"][0].metadata?.name).toEqual(workflowTemplate.metadata?.name); + expect(consoleDebugSpy).toBeCalledWith( + `${workflowTemplate.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }); + + it("should create cronworkflows successfully", async () => { + const cronWorkflow = await getResource("cronworkflows/default.yaml"); + const cronWorkflowList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(cronWorkflowList.response.statusCode).toEqual(200); + expect(cronWorkflowList.body).toHaveProperty("items"); + expect(cronWorkflowList.body["items"]).toBeInstanceOf(Array); + expect(cronWorkflowList.body["items"].length).toEqual(1); + expect(cronWorkflowList.body["items"][0].metadata?.name).toEqual(cronWorkflow.metadata?.name); + expect(consoleDebugSpy).toBeCalledWith( + `${cronWorkflow.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }); + + it("should create pipelines successfully", async () => { + const pipeline = await getResource("pipelines/default.yaml"); + const pipelineList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(pipelineList.response.statusCode).toEqual(200); + expect(pipelineList.body).toHaveProperty("items"); + expect(pipelineList.body["items"]).toBeInstanceOf(Array); + expect(pipelineList.body["items"].length).toEqual(1); + expect(pipelineList.body["items"][0].metadata?.name).toEqual(pipeline.metadata?.name); + expect(consoleDebugSpy).toBeCalledWith( + `${pipeline.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }); + }); + + describe("patch-install all", () => { + beforeEach(async () => { + await yarg.parse("install ."); + }); + + it("should patch configmaps successfully", async () => { + // Check existence of fresh-install objects first + const configmap = await getResource("configmaps/default.yaml"); + const configmapList = await coreK8sApi.listNamespacedConfigMap( + namespace, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + expect(configmapList.response.statusCode).toEqual(200); + expect(configmapList.body.items.length).toEqual(1); + expect(configmapList.body.items[0].metadata?.name).toEqual(configmap.metadata?.name); + + const resource = getResourceByName(configmapList.body.items, configmap.metadata?.name || ""); + const msgPrefix = `${configmap.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + // const newVersion = encode(packageJson.version); + // const resourcePresentMsg = `${msgPrefix} v${resource?.version} installed is newer than v${newVersion}. Skipping update.`; + // const resourceAbsentMsg = `${name} ${kind} not present in the cluster. Installing v${newVersion}`; + }); + + it("should patch secrets successfully", async () => { + const secret = await getResource("secrets/default.yaml"); + const secretList = await coreK8sApi.listNamespacedSecret( + namespace, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(secretList.response.statusCode).toEqual(200); + expect(secretList.body.items.length).toEqual(1); + expect(secretList.body.items[0].metadata?.name).toEqual(secret.metadata?.name); + + const resource = getResourceByName(secretList.body.items, secret.metadata?.name || ""); + const msgPrefix = `${secret.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }); + + it("should patch workflow templates successfully", async () => { + const workflowTemplate = await getResource("templates/default.yaml"); + const workflowTemplateList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(workflowTemplateList.response.statusCode).toEqual(200); + expect(workflowTemplateList.body).toHaveProperty("items"); + expect(workflowTemplateList.body["items"]).toBeInstanceOf(Array); + expect(workflowTemplateList.body["items"].length).toEqual(1); + expect(workflowTemplateList.body["items"][0].metadata?.name).toEqual(workflowTemplate.metadata?.name); + + const resource = getResourceByName( + workflowTemplateList.body["items"], + workflowTemplate.metadata?.name || "" + ); + const msgPrefix = `${workflowTemplate.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }); + + it("should patch cronworkflows successfully", async () => { + const cronWorkflow = await getResource("cronworkflows/default.yaml"); + const cronWorkflowList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(cronWorkflowList.response.statusCode).toEqual(200); + expect(cronWorkflowList.body).toHaveProperty("items"); + expect(cronWorkflowList.body["items"]).toBeInstanceOf(Array); + expect(cronWorkflowList.body["items"].length).toEqual(1); + expect(cronWorkflowList.body["items"][0].metadata?.name).toEqual(cronWorkflow.metadata?.name); + + const resource = getResourceByName(cronWorkflowList.body["items"], cronWorkflow.metadata?.name || ""); + const msgPrefix = `${cronWorkflow.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }); + + it("should patch pipelines successfully", async () => { + const pipeline = await getResource("pipelines/default.yaml"); + const pipelineList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(pipelineList.response.statusCode).toEqual(200); + expect(pipelineList.body).toHaveProperty("items"); + expect(pipelineList.body["items"]).toBeInstanceOf(Array); + expect(pipelineList.body["items"].length).toEqual(1); + expect(pipelineList.body["items"][0].metadata?.name).toEqual(pipeline.metadata?.name); + + const resource = getResourceByName(pipelineList.body["items"], pipeline.metadata?.name || ""); + const msgPrefix = `${pipeline.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }); + }); + + describe("patch-install all bump-version", () => { + const consoleDebugSpy = jest.spyOn(console, "debug"); + + beforeEach(async () => { + shell.sed("-i", /0.0.1/g, NEW_VERSION_BUMP, `${TMP_DIR}/package.json`); + await yarg.parse("install ."); + }); + + it("should replace configmaps to newer package version successfully", async () => { + // Check existence of fresh-install objects first + const configmap = await getResource("configmaps/default.yaml"); + const configmapList = await coreK8sApi.listNamespacedConfigMap( + namespace, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + expect(configmapList.response.statusCode).toEqual(200); + expect(configmapList.body.items.length).toEqual(1); + expect(configmapList.body.items[0].metadata?.name).toEqual(configmap.metadata?.name); + + const resource = getResourceByName(configmapList.body["items"], configmap.metadata?.name || ""); + const msgPrefix = `${configmap.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` + ); + }); + + it("should replace secrets to newer package version successfully", async () => { + const secret = await getResource("secrets/default.yaml"); + const secretList = await coreK8sApi.listNamespacedSecret( + namespace, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(secretList.response.statusCode).toEqual(200); + expect(secretList.body.items.length).toEqual(1); + expect(secretList.body.items[0].metadata?.name).toEqual(secret.metadata?.name); + + const resource = getResourceByName(secretList.body["items"], secret.metadata?.name || ""); + const msgPrefix = `${secret.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` + ); + }); + + it("should replace workflow to newer package version templates successfully", async () => { + const workflowTemplate = await getResource("templates/default.yaml"); + const workflowTemplateList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(workflowTemplateList.response.statusCode).toEqual(200); + expect(workflowTemplateList.body).toHaveProperty("items"); + expect(workflowTemplateList.body["items"]).toBeInstanceOf(Array); + expect(workflowTemplateList.body["items"].length).toEqual(1); + expect(workflowTemplateList.body["items"][0].metadata?.name).toEqual(workflowTemplate.metadata?.name); + + const resource = getResourceByName( + workflowTemplateList.body["items"], + workflowTemplate.metadata?.name || "" + ); + const msgPrefix = `${workflowTemplate.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` + ); + }); + + it("should replace cronworkflows to newer package version successfully", async () => { + const cronWorkflow = await getResource("cronworkflows/default.yaml"); + const cronWorkflowList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(cronWorkflowList.response.statusCode).toEqual(200); + expect(cronWorkflowList.body).toHaveProperty("items"); + expect(cronWorkflowList.body["items"]).toBeInstanceOf(Array); + expect(cronWorkflowList.body["items"].length).toEqual(1); + expect(cronWorkflowList.body["items"][0].metadata?.name).toEqual(cronWorkflow.metadata?.name); + + const resource = getResourceByName(cronWorkflowList.body["items"], cronWorkflow.metadata?.name || ""); + const msgPrefix = `${cronWorkflow.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` + ); + }); + + it("should replace pipelines to newer package version successfully", async () => { + const pipeline = await getResource("pipelines/default.yaml"); + const pipelineList = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + undefined, + undefined, + undefined, + undefined, + packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined + ); + + expect(pipelineList.response.statusCode).toEqual(200); + expect(pipelineList.body).toHaveProperty("items"); + expect(pipelineList.body["items"]).toBeInstanceOf(Array); + expect(pipelineList.body["items"].length).toEqual(1); + expect(pipelineList.body["items"][0].metadata?.name).toEqual(pipeline.metadata?.name); + + const resource = getResourceByName(pipelineList.body["items"], pipeline.metadata?.name || ""); + const msgPrefix = `${pipeline.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` + ); + }); + }); +}); From d70c47eb07e5e53dc55ebeed742f97b3ccbf6f1a Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Fri, 7 Oct 2022 17:08:34 +0800 Subject: [PATCH 08/11] Update install.spec.ts --- lib/install.mts | 81 +- lib/k8s.mts | 9 +- lib/models/info.mts | 5 +- lib/models/package.mts | 2 +- package-lock.json | 2856 +++++++++++++++------------------------- package.json | 5 +- tests/init.spec.mts | 2 +- tests/install.spec.mts | 614 ++++----- 8 files changed, 1376 insertions(+), 2198 deletions(-) diff --git a/lib/install.mts b/lib/install.mts index bcdd316..52bade2 100644 --- a/lib/install.mts +++ b/lib/install.mts @@ -99,69 +99,68 @@ export const install = async function ( let parentPackageName = packageName; const nodeModulesPath = `${dirPath}/node_modules`; - if (packageName === ".") { - parentPackageName = packageNameFromPath(`${dirPath}`); - registry = "local"; - } else { - const cleanedPackageParts = packageName.split("@"); - let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); - if (cleanedPackageName == "") { - cleanedPackageName = packageName; - } - parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); - } - - const processInstallers = async (dirPath: string) => { + const processInstallers = async (_dirPath: string) => { // Upload Static Files const s3Uploader = new S3( constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(dirPath)) + npa(packageNameFromPath(_dirPath)) ); // Install Template on Argo - const k8sInstaller = new K8sInstaller(dirPath, namespace, parentPackageName, registry, options); + const k8sInstaller = new K8sInstaller(_dirPath, namespace, parentPackageName, registry, options); // Install Dashboards - const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, dirPath); + const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, _dirPath); await k8sInstaller.install(cluster, installParts); await dashboardInstaller.install(); await s3Uploader.initialize(); - return await s3Uploader.uploadStaticFiles(dirPath); + return await s3Uploader.uploadStaticFiles(_dirPath); }; - if (!excludeDependencies) { - const packageJSONFilePath = `${dirPath}/package.json`; - if (packageName === "." && save && !existsSync(packageJSONFilePath)) { - console.error( - red(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`) - ); - process.exit(1); - } + const packageJSONFilePath = `${dirPath}/package.json`; + if (packageName === "." && save && !existsSync(packageJSONFilePath)) { + console.error( + red(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`) + ); + process.exit(1); + } - npmInstall(dirPath, packageName, registry, save); + npmInstall(dirPath, packageName, registry, save); - let dirs: string[] = []; + let dirs: string[] = []; + + if (existsSync(nodeModulesPath)) { + if (packageName !== ".") { + const cleanedPackageParts = packageName.split("@"); + let cleanedPackageName = cleanedPackageParts.slice(0, -1).join("@"); + if (cleanedPackageName == "") { + cleanedPackageName = packageName; + } - if (existsSync(nodeModulesPath)) { - console.log(yellow(`Installing parent package ${parentPackageName}`)); - dirs = await listDirs(nodeModulesPath); - dirs = dirs.filter((dir) => dir !== undefined); + parentPackageName = packageNameFromPath(`${nodeModulesPath}/${cleanedPackageName}`); + } else { + parentPackageName = packageNameFromPath(`${dirPath}`); + registry = "local"; } - dirs.forEach(async (dir) => { - if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { - const innerDirs = await listDirs(dir); - innerDirs.forEach(async (innerDir) => { - await processInstallers(innerDir); - }); - } else { - await processInstallers(dir); - } - }); + console.log(yellow(`Installing parent package ${parentPackageName}`)); + dirs = await listDirs(nodeModulesPath); + dirs = dirs.filter((dir) => dir !== undefined); } + dirs.forEach(async (dir) => { + if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { + const innerDirs = await listDirs(dir); + innerDirs.forEach(async (innerDir) => { + await processInstallers(innerDir); + }); + } else { + await processInstallers(dir); + } + }); + if (packageName === ".") { parentPackageName = packageNameFromPath(`${dirPath}`); await processInstallers(dirPath); diff --git a/lib/k8s.mts b/lib/k8s.mts index 82247a5..84b4e3b 100644 --- a/lib/k8s.mts +++ b/lib/k8s.mts @@ -1,4 +1,4 @@ -import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; +import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1ObjectMeta, V1Secret } from "@kubernetes/client-node"; import { existsSync, readFileSync } from "node:fs"; import { readdir, readFile } from "node:fs/promises"; import { IncomingMessage } from "node:http"; @@ -15,7 +15,7 @@ const coreK8sApi = kc.makeApiClient(CoreV1Api); export type GenericK8sSpecType = { apiVersion?: string; kind?: string; - metadata?: any; + metadata?: V1ObjectMeta; spec?: any; }; @@ -535,9 +535,10 @@ export class K8sInstaller { cluster, apiGroup ); + } else { + console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); + return await K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); } - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return await K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); } } else { console.debug(`${name} ${yamlObject.kind} not present in the cluster. Installing v${newVersion}`); diff --git a/lib/models/info.mts b/lib/models/info.mts index 9264041..8707dcb 100644 --- a/lib/models/info.mts +++ b/lib/models/info.mts @@ -78,7 +78,8 @@ export class PackageInfo { * @returns {string} */ getDependencyLabel(): string { - const parentName = encode(`${this.name}@${this.version}`); + const parentName = specialEncode(`${this.name}@${this.version}`); + // const parentName = `${this.name}@${this.version}`; return `${constants.ARGOPM_LIBRARY_PARENT_LABEL}=${parentName}`; } @@ -87,7 +88,7 @@ export class PackageInfo { * @returns {string} */ getPackageLabel(): string { - return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${encode(this.name)}`; + return `${constants.ARGOPM_LIBRARY_NAME_LABEL}=${specialEncode(this.name)}`; } /** diff --git a/lib/models/package.mts b/lib/models/package.mts index 0e63cf4..199bff1 100644 --- a/lib/models/package.mts +++ b/lib/models/package.mts @@ -212,7 +212,7 @@ export class Package { response.body.items.forEach((template: any) => { const argoPackage = new Package(template); if (argoPackage.info.name !== this.info.name) { - packages.push(new Package(template)); + packages.push(argoPackage); } }); return packages; diff --git a/package-lock.json b/package-lock.json index 5ec2d8e..734be1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,20 +16,16 @@ "axios": "^0.27.2", "compare-versions": "^5.0.1", "dotenv": "^16.0.2", - "js-yaml": "^4.1.0", - "nock": "^13.2.9", "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", "shelljs": "^0.8.5", - "yargs": "^17.5.1", - "yargs-interactive": "^3.0.1" + "yargs": "^17.5.1" }, "bin": { "argopm": "dist/install.mjs" }, "devDependencies": { "@types/jest": "^29.0.3", - "@types/js-yaml": "^4.0.5", "@types/node": "^18.8.1", "@types/npm-package-arg": "^6.1.1", "@types/rimraf": "^3.0.2", @@ -46,10 +42,8 @@ "lint-staged": "^13.0.3", "pre-commit": "^1.2.2", "prettier": "^2.7.1", - "querystring": "^0.2.1", "shx": "^0.3.4", "ts-jest": "^29.0.2", - "ts-mockito": "^2.6.1", "ts-node": "^10.9.1", "typescript": "^4.8.4" }, @@ -195,11 +189,11 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.183.0.tgz", - "integrity": "sha512-iRhdCoC/QyyB6iRCytb12T0XtfmQRn849vnbcUd8BprXvkQ/YwmFS//4Lj02uxS+myqXCntoAj1nKvZZwcFmbg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz", + "integrity": "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -207,78 +201,78 @@ } }, "node_modules/@aws-sdk/chunked-blob-reader": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.183.0.tgz", - "integrity": "sha512-N8fyzlo6yvLH7SYxGyWUWj8kpESdlE9wbSY1+1LxB8Z/VIUUiyivMH2dcvwcYnP1LexNXrazTE3zxo13O0XUaA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.186.0.tgz", + "integrity": "sha512-ChpW/teYM0vhV4vG7/ZE4zwr2IWrLX+R/s6LulqgC9x/5fngMUAjT7D8V9UgoCwjKosxBEaKEKuGcgBdODGndg==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/chunked-blob-reader-native": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.183.0.tgz", - "integrity": "sha512-CjFeO3F9IwVdfLUzqIuHtDpbzd7zqDyGpyy6qIdf1WKbpqrJ0TlGXuvIm4LytVaDSd4lLvBc7VXsSQS0Pz0A0A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.186.0.tgz", + "integrity": "sha512-klbrNZYWRhfkRMSK9NJObXgU9DD1lqYufH0BjeoYgApg5Dsywa+GpN/1DQveKTxGs08GFnhsc27dJLcNJCmAXw==", "dependencies": { - "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.183.0.tgz", - "integrity": "sha512-wDEpbGjLZzSd6oqALlcO+kaZOABrljebjV4PAsfcsl0R6DMFmNj/gxcVL329nwWN3yUXDaZXRqx2Rd22jMKbjQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.186.0.tgz", + "integrity": "sha512-tUvUkqKh1MQ8g4HDJyekZnSVjJ44pjo0QZmrV9gwpnyCymYoxPShz5zT5CsYyXYTOx81yxIBw6/mkFKEJ8MZ2g==", "dependencies": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.183.0", - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/credential-provider-node": "3.183.0", - "@aws-sdk/eventstream-serde-browser": "3.183.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.183.0", - "@aws-sdk/eventstream-serde-node": "3.183.0", - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/hash-blob-browser": "3.183.0", - "@aws-sdk/hash-node": "3.183.0", - "@aws-sdk/hash-stream-node": "3.183.0", - "@aws-sdk/invalid-dependency": "3.183.0", - "@aws-sdk/md5-js": "3.183.0", - "@aws-sdk/middleware-bucket-endpoint": "3.183.0", - "@aws-sdk/middleware-content-length": "3.183.0", - "@aws-sdk/middleware-expect-continue": "3.183.0", - "@aws-sdk/middleware-flexible-checksums": "3.183.0", - "@aws-sdk/middleware-host-header": "3.183.0", - "@aws-sdk/middleware-location-constraint": "3.183.0", - "@aws-sdk/middleware-logger": "3.183.0", - "@aws-sdk/middleware-recursion-detection": "3.183.0", - "@aws-sdk/middleware-retry": "3.183.0", - "@aws-sdk/middleware-sdk-s3": "3.183.0", - "@aws-sdk/middleware-serde": "3.183.0", - "@aws-sdk/middleware-signing": "3.183.0", - "@aws-sdk/middleware-ssec": "3.183.0", - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/middleware-user-agent": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4-multi-region": "3.183.0", - "@aws-sdk/smithy-client": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-base64-node": "3.183.0", - "@aws-sdk/util-body-length-browser": "3.183.0", - "@aws-sdk/util-body-length-node": "3.183.0", - "@aws-sdk/util-defaults-mode-browser": "3.183.0", - "@aws-sdk/util-defaults-mode-node": "3.183.0", - "@aws-sdk/util-stream-browser": "3.183.0", - "@aws-sdk/util-stream-node": "3.183.0", - "@aws-sdk/util-user-agent-browser": "3.183.0", - "@aws-sdk/util-user-agent-node": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", - "@aws-sdk/util-waiter": "3.183.0", - "@aws-sdk/xml-builder": "3.183.0", + "@aws-sdk/client-sts": "3.186.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/credential-provider-node": "3.186.0", + "@aws-sdk/eventstream-serde-browser": "3.186.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.186.0", + "@aws-sdk/eventstream-serde-node": "3.186.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/hash-blob-browser": "3.186.0", + "@aws-sdk/hash-node": "3.186.0", + "@aws-sdk/hash-stream-node": "3.186.0", + "@aws-sdk/invalid-dependency": "3.186.0", + "@aws-sdk/md5-js": "3.186.0", + "@aws-sdk/middleware-bucket-endpoint": "3.186.0", + "@aws-sdk/middleware-content-length": "3.186.0", + "@aws-sdk/middleware-expect-continue": "3.186.0", + "@aws-sdk/middleware-flexible-checksums": "3.186.0", + "@aws-sdk/middleware-host-header": "3.186.0", + "@aws-sdk/middleware-location-constraint": "3.186.0", + "@aws-sdk/middleware-logger": "3.186.0", + "@aws-sdk/middleware-recursion-detection": "3.186.0", + "@aws-sdk/middleware-retry": "3.186.0", + "@aws-sdk/middleware-sdk-s3": "3.186.0", + "@aws-sdk/middleware-serde": "3.186.0", + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/middleware-ssec": "3.186.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/middleware-user-agent": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4-multi-region": "3.186.0", + "@aws-sdk/smithy-client": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-base64-node": "3.186.0", + "@aws-sdk/util-body-length-browser": "3.186.0", + "@aws-sdk/util-body-length-node": "3.186.0", + "@aws-sdk/util-defaults-mode-browser": "3.186.0", + "@aws-sdk/util-defaults-mode-node": "3.186.0", + "@aws-sdk/util-stream-browser": "3.186.0", + "@aws-sdk/util-stream-node": "3.186.0", + "@aws-sdk/util-user-agent-browser": "3.186.0", + "@aws-sdk/util-user-agent-node": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", + "@aws-sdk/util-waiter": "3.186.0", + "@aws-sdk/xml-builder": "3.186.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" @@ -288,40 +282,40 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.183.0.tgz", - "integrity": "sha512-Dw2objS0rxlziFL0Jahzy8H1OlyrRCnmVH7f1pBrmU7RSzztBpU2Z8OPaE5m1MwUISzpOWQlo8zEVUMYuT/Rww==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.186.0.tgz", + "integrity": "sha512-qwLPomqq+fjvp42izzEpBEtGL2+dIlWH5pUCteV55hTEwHgo+m9LJPIrMWkPeoMBzqbNiu5n6+zihnwYlCIlEA==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/hash-node": "3.183.0", - "@aws-sdk/invalid-dependency": "3.183.0", - "@aws-sdk/middleware-content-length": "3.183.0", - "@aws-sdk/middleware-host-header": "3.183.0", - "@aws-sdk/middleware-logger": "3.183.0", - "@aws-sdk/middleware-recursion-detection": "3.183.0", - "@aws-sdk/middleware-retry": "3.183.0", - "@aws-sdk/middleware-serde": "3.183.0", - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/middleware-user-agent": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/smithy-client": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-base64-node": "3.183.0", - "@aws-sdk/util-body-length-browser": "3.183.0", - "@aws-sdk/util-body-length-node": "3.183.0", - "@aws-sdk/util-defaults-mode-browser": "3.183.0", - "@aws-sdk/util-defaults-mode-node": "3.183.0", - "@aws-sdk/util-user-agent-browser": "3.183.0", - "@aws-sdk/util-user-agent-node": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/hash-node": "3.186.0", + "@aws-sdk/invalid-dependency": "3.186.0", + "@aws-sdk/middleware-content-length": "3.186.0", + "@aws-sdk/middleware-host-header": "3.186.0", + "@aws-sdk/middleware-logger": "3.186.0", + "@aws-sdk/middleware-recursion-detection": "3.186.0", + "@aws-sdk/middleware-retry": "3.186.0", + "@aws-sdk/middleware-serde": "3.186.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/middleware-user-agent": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/smithy-client": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-base64-node": "3.186.0", + "@aws-sdk/util-body-length-browser": "3.186.0", + "@aws-sdk/util-body-length-node": "3.186.0", + "@aws-sdk/util-defaults-mode-browser": "3.186.0", + "@aws-sdk/util-defaults-mode-node": "3.186.0", + "@aws-sdk/util-user-agent-browser": "3.186.0", + "@aws-sdk/util-user-agent-node": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -329,43 +323,43 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.183.0.tgz", - "integrity": "sha512-xl7CDncgUmcSJ5Nq3zDylyCzdJhfWzu3GUHXFv5HszcmSwrVZOtmm+j0XQfnqO3XdN8o/1CtsAkiUC7hQV8iDg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.186.0.tgz", + "integrity": "sha512-lyAPI6YmIWWYZHQ9fBZ7QgXjGMTtktL5fk8kOcZ98ja+8Vu0STH1/u837uxqvZta8/k0wijunIL3jWUhjsNRcg==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/credential-provider-node": "3.183.0", - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/hash-node": "3.183.0", - "@aws-sdk/invalid-dependency": "3.183.0", - "@aws-sdk/middleware-content-length": "3.183.0", - "@aws-sdk/middleware-host-header": "3.183.0", - "@aws-sdk/middleware-logger": "3.183.0", - "@aws-sdk/middleware-recursion-detection": "3.183.0", - "@aws-sdk/middleware-retry": "3.183.0", - "@aws-sdk/middleware-sdk-sts": "3.183.0", - "@aws-sdk/middleware-serde": "3.183.0", - "@aws-sdk/middleware-signing": "3.183.0", - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/middleware-user-agent": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/smithy-client": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-base64-node": "3.183.0", - "@aws-sdk/util-body-length-browser": "3.183.0", - "@aws-sdk/util-body-length-node": "3.183.0", - "@aws-sdk/util-defaults-mode-browser": "3.183.0", - "@aws-sdk/util-defaults-mode-node": "3.183.0", - "@aws-sdk/util-user-agent-browser": "3.183.0", - "@aws-sdk/util-user-agent-node": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/credential-provider-node": "3.186.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/hash-node": "3.186.0", + "@aws-sdk/invalid-dependency": "3.186.0", + "@aws-sdk/middleware-content-length": "3.186.0", + "@aws-sdk/middleware-host-header": "3.186.0", + "@aws-sdk/middleware-logger": "3.186.0", + "@aws-sdk/middleware-recursion-detection": "3.186.0", + "@aws-sdk/middleware-retry": "3.186.0", + "@aws-sdk/middleware-sdk-sts": "3.186.0", + "@aws-sdk/middleware-serde": "3.186.0", + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/middleware-user-agent": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/smithy-client": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-base64-node": "3.186.0", + "@aws-sdk/util-body-length-browser": "3.186.0", + "@aws-sdk/util-body-length-node": "3.186.0", + "@aws-sdk/util-defaults-mode-browser": "3.186.0", + "@aws-sdk/util-defaults-mode-node": "3.186.0", + "@aws-sdk/util-user-agent-browser": "3.186.0", + "@aws-sdk/util-user-agent-node": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" @@ -375,14 +369,14 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.183.0.tgz", - "integrity": "sha512-cJBY5g+yJAI0iigketD3rbweyoLOw6SFiJDzRqZq3KgytmnhnrmNbRVTSdq1Qtn+d20NVxT9kSRUu21QyHb1nw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", + "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", "dependencies": { - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-config-provider": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-config-provider": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -390,12 +384,12 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.183.0.tgz", - "integrity": "sha512-RJ1QZxpfWf3hmjUm1fYCEj3p4Rl61kMFfU6ab3hpDGuSXbuLkAvTOIbssIUDHcgxUSszV5XqpPzBUnTui3cZYA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz", + "integrity": "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==", "dependencies": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -403,14 +397,14 @@ } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.183.0.tgz", - "integrity": "sha512-RHzciaoW0sPV52VUMd3SrIFrKhXsKbn9okEF+UdR2P3RgxNsguUZsewpDqhjGZBH0E2IiuFrBPjsxQKAI+mFbQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz", + "integrity": "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==", "dependencies": { - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -418,17 +412,17 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.183.0.tgz", - "integrity": "sha512-tWiTIeA72L/7nJnDS5GfNmX58Ms9bUQLb7e9PXv5lWAfyiT9po6KMdBGIN7qld1kxBDcwFZPxsxtkHrbU+6d6A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz", + "integrity": "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.183.0", - "@aws-sdk/credential-provider-imds": "3.183.0", - "@aws-sdk/credential-provider-sso": "3.183.0", - "@aws-sdk/credential-provider-web-identity": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/credential-provider-env": "3.186.0", + "@aws-sdk/credential-provider-imds": "3.186.0", + "@aws-sdk/credential-provider-sso": "3.186.0", + "@aws-sdk/credential-provider-web-identity": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -436,19 +430,19 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.183.0.tgz", - "integrity": "sha512-APVAOnB/5CWqnLOY4FnZ779jFg7c8EU4zlj1klZRdNLCTjDXkQSrkJ14Zy44NiTWfxalU5BPsCFHDsQo0hkyQQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz", + "integrity": "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.183.0", - "@aws-sdk/credential-provider-imds": "3.183.0", - "@aws-sdk/credential-provider-ini": "3.183.0", - "@aws-sdk/credential-provider-process": "3.183.0", - "@aws-sdk/credential-provider-sso": "3.183.0", - "@aws-sdk/credential-provider-web-identity": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/credential-provider-env": "3.186.0", + "@aws-sdk/credential-provider-imds": "3.186.0", + "@aws-sdk/credential-provider-ini": "3.186.0", + "@aws-sdk/credential-provider-process": "3.186.0", + "@aws-sdk/credential-provider-sso": "3.186.0", + "@aws-sdk/credential-provider-web-identity": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -456,13 +450,13 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.183.0.tgz", - "integrity": "sha512-JRePfiFPWpyF3iotHx45WyP1qe50BsPdOOFGh3vmyx5L92lnzchlGsOMpcNUiATUuA3Ar0LUt5bS299LTZWeuQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz", + "integrity": "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==", "dependencies": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -470,14 +464,14 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.183.0.tgz", - "integrity": "sha512-jddGjwAFbYyZkIiR+ghPPh92MQuljI/tusOEgvvUM/w+Cx4jvulZo8rJuEvlU49cXn76dyNxGeDWeqfskuOMpQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.186.0.tgz", + "integrity": "sha512-mJ+IZljgXPx99HCmuLgBVDPLepHrwqnEEC/0wigrLCx6uz3SrAWmGZsNbxSEtb2CFSAaczlTHcU/kIl7XZIyeQ==", "dependencies": { - "@aws-sdk/client-sso": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/client-sso": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -485,12 +479,12 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.183.0.tgz", - "integrity": "sha512-AZGZ4zrjMgtVk5MhsRGj6glsivls4qWUQ1Vuq9FjlaN+ltW74w3D0juTwpUI/OHuSHhOznOZsO9fI4DlCfUeSw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.186.0.tgz", + "integrity": "sha512-KqzI5eBV72FE+8SuOQAu+r53RXGVHg4AuDJmdXyo7Gc4wS/B9FNElA8jVUjjYgVnf0FSiri+l41VzQ44dCopSA==", "dependencies": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -498,23 +492,23 @@ } }, "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.183.0.tgz", - "integrity": "sha512-GHZ1Xn7Lv0bR3MxYVSyaLb75GsQA2sWlq7XvU5QFifFHskXzRCjuoHTvxg3K8Ez3AuTTkYhH0NOhv1teQ1NHow==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.186.0.tgz", + "integrity": "sha512-3kLcJ0/H+zxFlhTlE1SGoFpzd/SitwXOsTSlYVwrwdISKRjooGg0BJpm1CSTkvmWnQIUlYijJvS96TAJ+fCPIA==", "dependencies": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-hex-encoding": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-hex-encoding": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/eventstream-serde-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.183.0.tgz", - "integrity": "sha512-qJOlWKRPSe132EOP/05JZA1OUYAuinUbofgE3N05sCSWBmdlwQPFGIEcePjNg+HfJKXMWI86o4BWmfBgB8ZFcg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.186.0.tgz", + "integrity": "sha512-0r2c+yugBdkP5bglGhGOgztjeHdHTKqu2u6bvTByM0nJShNO9YyqWygqPqDUOE5axcYQE1D0aFDGzDtP3mGJhw==", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/eventstream-serde-universal": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -522,11 +516,11 @@ } }, "node_modules/@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.183.0.tgz", - "integrity": "sha512-Tdefws3/NjD7NdP2OqiZZlQAoPhjgMrFSwqT//njMGnkcbhO52w/jhJXEW5HePl4wbRgpp40Ae8uQSRfsYJhuw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.186.0.tgz", + "integrity": "sha512-xhwCqYrAX5c7fg9COXVw6r7Sa3BO5cCfQMSR5S1QisE7do8K1GDKEHvUCheOx+RLon+P3glLjuNBMdD0HfCVNA==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -534,12 +528,12 @@ } }, "node_modules/@aws-sdk/eventstream-serde-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.183.0.tgz", - "integrity": "sha512-16l2a3TdWhMdzPxSLKfboj/NbEKxNyJF8Xu6zGOY61g5kRpXD2Nqg8ycDjq1CW+60H5SaCxRV2EsYKgroSWgTg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.186.0.tgz", + "integrity": "sha512-9p/gdukJYfmA+OEYd6MfIuufxrrfdt15lBDM3FODuc9j09LSYSRHSxthkIhiM5XYYaaUM+4R0ZlSMdaC3vFDFQ==", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/eventstream-serde-universal": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -547,12 +541,12 @@ } }, "node_modules/@aws-sdk/eventstream-serde-universal": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.183.0.tgz", - "integrity": "sha512-9mfTUdPafq+P2aUSZMh6/+XIxq0Lq2oWldcF8vb2gKH6ZBJLU1Nw7CRXbO6wbaPl/YM83y6G3Y5mkRnjBcxP1A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.186.0.tgz", + "integrity": "sha512-rIgPmwUxn2tzainBoh+cxAF+b7o01CcW+17yloXmawsi0kiR7QK7v9m/JTGQPWKtHSsPOrtRzuiWQNX57SlcsQ==", "dependencies": { - "@aws-sdk/eventstream-codec": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/eventstream-codec": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -560,35 +554,35 @@ } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.183.0.tgz", - "integrity": "sha512-YaVXUTYnm6ZsT4qVWcAvtjkxsxzGJW1l0o4oXnnz3hhl7AZM/RjL2l24aixSMeoj7R4hA4Yi7sHFm5OlHSTg5A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz", + "integrity": "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/querystring-builder": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/querystring-builder": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-blob-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.183.0.tgz", - "integrity": "sha512-kytjmG+xupsMxxIA8+e1zV82EdydFF82+jMfxOUovidVbVq9uTTcpF2WqbaFMje1ylZjSbHCCptjGRg1DfTc8w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.186.0.tgz", + "integrity": "sha512-u8QvmXGySqy2QRbkAfx1bX/idSiejuy2q3WKamGysy9Ylogprr5kq2v0E+7vnLo9rBjuquUbVvI5eskIgZDMmg==", "dependencies": { - "@aws-sdk/chunked-blob-reader": "3.183.0", - "@aws-sdk/chunked-blob-reader-native": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/chunked-blob-reader": "3.186.0", + "@aws-sdk/chunked-blob-reader-native": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.183.0.tgz", - "integrity": "sha512-XPe1TzupofkypgLw4Y38ruUM4hrrGIGwJGI/KsljDoEDpz24SyMItyCZbF7ddaPkbJGa4oO+HN072SXPB/z/6g==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz", + "integrity": "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==", "dependencies": { - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -596,11 +590,11 @@ } }, "node_modules/@aws-sdk/hash-stream-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.183.0.tgz", - "integrity": "sha512-xqMIftU/mQAPXmjNahgA6SXNY7H/8GyDY7XC0w7aHIVBZx0DZlvStbFZ+BdZKyOHVzQOftliikDJzqPz3EiPWA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.186.0.tgz", + "integrity": "sha512-n+VphPuMbl2iKrW1zVpoqQQDuPej/Hr4+I5UdZC39Cq/XfgDqh6QDy73Q9OypGuyEKrxZ5E5Pa+BWi4pGtt08w==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -608,18 +602,18 @@ } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.183.0.tgz", - "integrity": "sha512-ouKWKIFzWEt64Eg+WPjMlG/KzvQ4h3DakjHJ6L1IB/lXDL8TzJwqKdyEyt3V6/jOXLt8Wf6LtG8HA+5OC+jASQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz", + "integrity": "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.183.0.tgz", - "integrity": "sha512-s0ukhcjX1dUPRFPLyWJw9mg6SB+5YOdV2vHoKez0L7ry97p3C29wtImV2NOdw54fn/lKOtil22lFN7JpoaqU/w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", + "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", "dependencies": { "tslib": "^2.3.1" }, @@ -628,25 +622,25 @@ } }, "node_modules/@aws-sdk/md5-js": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.183.0.tgz", - "integrity": "sha512-FUQsZY8GwICKcHuJ8dcvmMlVOjWzdPoGIdjLl2F7kqJosTz908UoOQzIdm50UOChk8OVLgfVDOJDQ1ioycClCA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.186.0.tgz", + "integrity": "sha512-Pp86oeTi8qtfY4fIZYrHOqRWJc0PjolxETdtWBUhtjC8HY81ckZMqe+5Aosy8mtQJus/k83S0CJAyfE2ko/a6Q==", "dependencies": { - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.183.0.tgz", - "integrity": "sha512-JpqE+5BdblM1zAoQwlTC5st4ev/MNvewYayFZgroElyPySs5Ushy0u6b3FiJx/pdKPNX/Io75VNFxGeRcJsspA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.186.0.tgz", + "integrity": "sha512-Vrb/ZXxWohhq86lGnp8E+H9AyNJFEt70fjFavkMCrQe7mx4+WHNc5agsTRPF+IESV0MgsbDtELP72Gzqc4fpWQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-arn-parser": "3.183.0", - "@aws-sdk/util-config-provider": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-arn-parser": "3.186.0", + "@aws-sdk/util-config-provider": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -654,12 +648,12 @@ } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.183.0.tgz", - "integrity": "sha512-dcLMEEa6j3eDH8obsDHZaHgOZIUPDIZdkgtLYB0tyvJEo8HZGEE/Ch1abwlIzXkZ7qRPXysgX7JayJV8N7kxEw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz", + "integrity": "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -667,12 +661,12 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.183.0.tgz", - "integrity": "sha512-4267Sy91KH0XaCE0ANWeck13sGVHkWLozd9i9jPxIXQabnOFFnfo4nkH05n7tuR7ItDyp3R5S6S9fqXj6QYXsA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.186.0.tgz", + "integrity": "sha512-ITGzpajC5jPl+1TDRJCWb2ASQuy0qcMijKP6xcCRPcuAyHPgrH59f+3CCfqNcnehNJptHoD5hFIU6r+WcOF8hQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -680,15 +674,15 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.183.0.tgz", - "integrity": "sha512-amfk55oTAvGN0VluzaNTcQO4ERT7V5pvdjBGxBMjPJD9G3vdj6o2ZvjgGANKZDqarmebcrbEepLCp5PLtfdUgA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.186.0.tgz", + "integrity": "sha512-zb1a5b2JHNMbD0pkozs/TLIfxbvZVpAcF947LEDblD5OsC8UW/a3hTVDvq7K7TLT6jgrgEzMKJbqoxqGzPQlLA==", "dependencies": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/is-array-buffer": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -696,12 +690,12 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.183.0.tgz", - "integrity": "sha512-EcInz6QFQ0ljK8QABX/NRcLYGySv+S/mmJYSLIHkU+/FDh+Wh08Awq9OVjJwGp2mmHM1ZHHHI0sTrdBdmBLX3g==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz", + "integrity": "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -709,11 +703,11 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.183.0.tgz", - "integrity": "sha512-XIj2NZa2R+hioPWXH4TIQN1Jy5m6m3u5ouPcVxijMdJ6HozEEJZVaWiXNQczr8otWCYzXqq88p6Zu683V/oTPw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.186.0.tgz", + "integrity": "sha512-86swCv/+BYhXMCiAU6rVRk/z009bfpGfjnVBuoFfFbHp6zS3Ak11UotTzhw/Yyiyb06p/qL4vFfRERrMYnpmew==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -721,11 +715,11 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.183.0.tgz", - "integrity": "sha512-bEjira7lUPtIfOCDAAkWR53gIJG2g8HhYeL0C+fGB4lztf2Cdlqg9quLXXHRVd0Vmio4OR3NMm5aPIwMnUULWQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz", + "integrity": "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -733,12 +727,12 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.183.0.tgz", - "integrity": "sha512-RcsFN5Mp10SO9yKRVeFqedxQIhqWi00Kb5EpE1SR7bC/tcrizS2e0ytFkLk2Bv2U6tbT1CYg7EMa76ssRaSk5w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.186.0.tgz", + "integrity": "sha512-Za7k26Kovb4LuV5tmC6wcVILDCt0kwztwSlB991xk4vwNTja8kKxSt53WsYG8Q2wSaW6UOIbSoguZVyxbIY07Q==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -746,14 +740,14 @@ } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.183.0.tgz", - "integrity": "sha512-TV3yKWd5g+18/0XjqVeG4/IrksAvBBqSuBVaaNFUACBhwZGZy6IV0sSOlYnWHLTPbPIwrxN9TTt+uIdvCbf+hw==", - "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/service-error-classification": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz", + "integrity": "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/service-error-classification": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, @@ -762,14 +756,14 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.183.0.tgz", - "integrity": "sha512-Ot3CsBqayUMls+G87Mfm/I6Kksgb2Pw5HoSFj8qI66IB2enwvfJp+aak4ZsRE7YpjXMQ51hCvfJUPnRvsZuycw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.186.0.tgz", + "integrity": "sha512-NffDytJCSNm+fkQs0sP3ePgtIkgd6Xqxfx1YI+Qzwlnej3Jdh9doDhuxxT/fQoJPfgf77y0iMC4a3tNr69fW6g==", "dependencies": { - "@aws-sdk/middleware-bucket-endpoint": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-arn-parser": "3.183.0", + "@aws-sdk/middleware-bucket-endpoint": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-arn-parser": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -777,15 +771,15 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.183.0.tgz", - "integrity": "sha512-d8zqIDiT1/Zqh0RB/VV4RHz+CIyrMbxEm81rx0pn/9eMVLO4A33j1DaaTcQ0fuCCU7K2rptJC+t2tvkzmXPERg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz", + "integrity": "sha512-GDcK0O8rjtnd+XRGnxzheq1V2jk4Sj4HtjrxW/ROyhzLOAOyyxutBt+/zOpDD6Gba3qxc69wE+Cf/qngOkEkDw==", "dependencies": { - "@aws-sdk/middleware-signing": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -793,11 +787,11 @@ } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.183.0.tgz", - "integrity": "sha512-8VqXmaIbH5E1L7ORXLAhaLKpoUJl7vYCbFpL3NKPlVBPDPAydLhyEltBc3mJTfUo4XWYn6qRqgNwlppXUJZ1xg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz", + "integrity": "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -805,15 +799,15 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.183.0.tgz", - "integrity": "sha512-ABb8aSs6649pOZg2Ck3EyeMJo03eYBIqUw7vOhBR6IhQA/XHCFzFX8vEhWjhEWfQcUQBIzNlgoY+0uXK0wVEYQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", + "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", "dependencies": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -821,11 +815,11 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.183.0.tgz", - "integrity": "sha512-eDzWpJA4FkTI41LvAR1lavsidS/5WXFbok2kraAZSdnnU+GXiOqh8I/LPpO/vljcp68kh0on2YMnl/nB22BLqg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.186.0.tgz", + "integrity": "sha512-nNBp3t1GvCTp+uN3stJMzHb1H/jmId+qPBFUwvCItrSUL6lLnJi+OxFr/cNuZpJdlLR3FyX0jyJEKMsBEJHAkA==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -833,9 +827,9 @@ } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.183.0.tgz", - "integrity": "sha512-xNvGdj5qgSiC0WETkDOk1Rr7goR7smjbRc/vcYzO4HLwfw2JX/QxtZ2iNAdBMwW1M8O4JfVqS3ynqlE6Ssd7YQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz", + "integrity": "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -844,12 +838,12 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.183.0.tgz", - "integrity": "sha512-XPX6LKS+zD11yB7nMSQHnW749+2RcFDjr0l2Eb+X0Tffr70JrWpiSx8wYAWUcuTg5Zv4aJAdzYCCaJKZt61Wqg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz", + "integrity": "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -857,13 +851,13 @@ } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.183.0.tgz", - "integrity": "sha512-Y15Byu7uJxkpHes4PxLBfJEgvxXS5ovyfDGJKJYISwBqJFkDP9gp8/5hg/uHxlJuVWEgFDSTi5kOUjnOhaCZ/A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", + "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", "dependencies": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -871,14 +865,14 @@ } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.183.0.tgz", - "integrity": "sha512-mwxwcDW03qZDk/XHr+MJrFUIAaCSIOPYemiM24gOhEqv6/B0ikxAzZIrggd8jKFlnPxPHME0FCFuIQ6tmokEyA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz", + "integrity": "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==", "dependencies": { - "@aws-sdk/abort-controller": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/querystring-builder": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/abort-controller": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/querystring-builder": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -886,11 +880,11 @@ } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.183.0.tgz", - "integrity": "sha512-IYZNJX/S2wQsDKx+Pm+gwCKFR037/T+K85YW7j8be7aItqZqwOo7yRNXhJSOJPMANxhz4KmHH3n1oXhmCBvyug==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", + "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -898,11 +892,11 @@ } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.183.0.tgz", - "integrity": "sha512-uFxp2YDRQgvHvGWY91CqZjqhDFoiPx9dr45ZIq/jZ4bOQ9rY619PAIBQ15eh54v7DI1zm4pLlXXvytA0LJF3jg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", + "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -910,12 +904,12 @@ } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.183.0.tgz", - "integrity": "sha512-12IFkuyPyJk8MZ1CKxiFo0GCTmqTwlJ3rMRk7L1wk44yObdKpQK/MSkUl0QgZHSjsS84zfqdeOXQJqLGGaIETg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz", + "integrity": "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==", "dependencies": { - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-uri-escape": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-uri-escape": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -923,11 +917,11 @@ } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.183.0.tgz", - "integrity": "sha512-0yB48bevrHMzXf2afYIAAqYfqCea3aeTyGLa+7IeWZbgP481JbGQyMMNtQBA8VgOB3k7vDEqIYT+QuVxbVhKCA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", + "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -935,19 +929,19 @@ } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.183.0.tgz", - "integrity": "sha512-WCQzfRgCHdSXT6spTpGNV2zjBWN1QMxwA3L7sdmXvGDYR1USZlyNRwvYOc7g6Px2ZmMI5DnzjIKu60eSyVsH+w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz", + "integrity": "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.183.0.tgz", - "integrity": "sha512-QqLdLthJP73m+h9FhCPsRUsF0AAtHVLivOvtH9ZRoph7C2bqSvfm8LHQO20R61acN9o72mgMiVDVBp/XhiGpkA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", + "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -955,15 +949,15 @@ } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.183.0.tgz", - "integrity": "sha512-XlYaSVbC6acTdc7FI5hmfZqOLPBwNCbnutmoElTdJQKwhSS6LvwwUngM4L5tm3etlPkKVFSsWllG68Au/vFF4w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", + "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-hex-encoding": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", - "@aws-sdk/util-uri-escape": "3.183.0", + "@aws-sdk/is-array-buffer": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-hex-encoding": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", + "@aws-sdk/util-uri-escape": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -971,14 +965,14 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.183.0.tgz", - "integrity": "sha512-lVW5tlwsS5WrMZ3gy1pp+r21C0z8mbqlqz3FbW0PxyU1YFI77Y/WIxO8/KSzHZ9h/GNfKqkLajuVIJDL6jArrw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.186.0.tgz", + "integrity": "sha512-99+WIti/zaoYgRAFTWSC2206E71gi+bPtPFbijLzQHMpmB3QlzPYobx3xyepgQ+LL0FQcfqD5zFtdmlcoWTddQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-arn-parser": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-arn-parser": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -994,12 +988,12 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.183.0.tgz", - "integrity": "sha512-HesHCNI09yCGh/QaLWyiMia0I3i6xs9v7ghksGXNhpNNrTIshFu5AUh2uJTdlaHiUN9zlED3ulkPo2FrE7Lxww==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz", + "integrity": "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==", "dependencies": { - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1007,27 +1001,27 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.183.0.tgz", - "integrity": "sha512-V5IU7q7Y2ADIFzvUxoGfpVahhVnGjCABTv9jZYUSyJW7/OwSB+eA2C1B8ZsKAYLWtc9xKxYpRl5FI5e7FBGUIQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", + "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.183.0.tgz", - "integrity": "sha512-hrgeIDyAIJfGYbfGfQJD41iUwncfdhObyQ+aPfjZjAzqNSmNCV1jF9+k/BXdMnjCAM6n8rX6ZNko9PhtGz9uKw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", + "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", "dependencies": { - "@aws-sdk/querystring-parser": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/querystring-parser": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.183.0.tgz", - "integrity": "sha512-uteIR9dHoGeW1TuVzVTWmRzw+C+m2FFshAx5bh6o8aNmVu/lpUK2tk3fZdjz283ghG9YmAdDhVIVyiCNPBDP6w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.186.0.tgz", + "integrity": "sha512-hhTziyXeiNylZfZ6yXmaAhOUSmS3xQiofXRm1CcxMttHWmTOI6OrepKa2kOkNZsZe28vfuy4I7vbWPi2LcwSqA==", "dependencies": { "tslib": "^2.3.1" }, @@ -1036,19 +1030,19 @@ } }, "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.183.0.tgz", - "integrity": "sha512-rDTgkDHQbQtg/2RGbBb1ztZCRF8ELAXyhVQ7CqEqZSirdpQyIdOOVi8ucr4sjVyUQIq92irfJO1SEcANsaFhWQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz", + "integrity": "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-base64-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.183.0.tgz", - "integrity": "sha512-FqgzW17oMvv41eB6Lsq2q32HGch5pSmUtXdcVjvXkPKc5CGtNIB49pRx4re4SOGKexkBabB9gdmubs3jH8BB5Q==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz", + "integrity": "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1056,17 +1050,17 @@ } }, "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.183.0.tgz", - "integrity": "sha512-HniybeERXdHnN+NceOOlaeWgqfDgfWhtFmdOxJYWaxUW21RX+GQiObXtjnU7Nb0DtzTkAv/PWfkZ5lS8WLGQ2Q==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz", + "integrity": "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.183.0.tgz", - "integrity": "sha512-BBaGaQtSQFXtKB9hXnGog5osNTasAe1GlvQCRqvBEvF2LwM54M+Hsr5HisJKnCybUgQGi0R2Al3CohjMy+mczQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz", + "integrity": "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -1075,11 +1069,11 @@ } }, "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.183.0.tgz", - "integrity": "sha512-y/GPvo7kqM7taj6+Iq2uUxdrdDcUAtmQEX1l24qjl7MYEnZMncfxWjFdBhIvq4HBJjN3Oq8OIvTc/ZDB2obBJA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz", + "integrity": "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.183.0", + "@aws-sdk/is-array-buffer": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1087,9 +1081,9 @@ } }, "node_modules/@aws-sdk/util-config-provider": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.183.0.tgz", - "integrity": "sha512-F6QaY3giXX4kSJk1VIkw9n9I4heTNgv5RmAgY5xlCNU5BqoWyIbWG9B8r/P7metlPhACZ1M8dMp5RwQi8Ae1Jw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.186.0.tgz", + "integrity": "sha512-71Qwu/PN02XsRLApyxG0EUy/NxWh/CXxtl2C7qY14t+KTiRapwbDkdJ1cMsqYqghYP4BwJoj1M+EFMQSSlkZQQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -1098,12 +1092,12 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.183.0.tgz", - "integrity": "sha512-YWKb4Y0bo/hpAVvf27wAQ3vj8OSVHkyHeoZC6ni9alkK41SAlv3RjodfTAhN0039QD+DirTa3EkLQj9ag1Igdg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.186.0.tgz", + "integrity": "sha512-U8GOfIdQ0dZ7RRVpPynGteAHx4URtEh+JfWHHVfS6xLPthPHWTbyRhkQX++K/F8Jk+T5U8Anrrqlea4TlcO2DA==", "dependencies": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", "tslib": "^2.3.1" }, @@ -1112,15 +1106,15 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.183.0.tgz", - "integrity": "sha512-zuNFv2nSgtK6yTEMiEZW2vNxtC6vcKlt6vv0QtIEZZGGhjxEx2dK28jKr9GHlDLIt99mjvJaqiP4tiyfNE5Xpg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.186.0.tgz", + "integrity": "sha512-N6O5bpwCiE4z8y7SPHd7KYlszmNOYREa+mMgtOIXRU3VXSEHVKVWTZsHKvNTTHpW0qMqtgIvjvXCo3vsch5l3A==", "dependencies": { - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/credential-provider-imds": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/credential-provider-imds": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1128,9 +1122,9 @@ } }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.183.0.tgz", - "integrity": "sha512-pcvgpSID2mFnkaWPd/cpP4H7Lpu9w9Sc2QcMc2kvkOgkNb7mNres+guybqIMIlsOfuVuFK6291KwtYEgYIWHjQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", + "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", "dependencies": { "tslib": "^2.3.1" }, @@ -1139,9 +1133,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.183.0.tgz", - "integrity": "sha512-zcto3whSC1EHnKlygkSBmwI95r3mOpG3o37M2zHhKJlJbPZhI61+MnNQ13T46m4MRWC5gJgPi3gL7kI9Bnb+hA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.186.0.tgz", + "integrity": "sha512-fmQLkH16ga6c5fWsA+kBYklQJjlPlcc8uayTR4avi5g3Nxqm6wPpyUwo5CppwjwWMeS+NXG0HgITtkkGntcRNg==", "dependencies": { "tslib": "^2.3.1" }, @@ -1150,9 +1144,9 @@ } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.183.0.tgz", - "integrity": "sha512-zbAFH5SkJ1kTFWPZVg4JdQEhfnJAyL/BDDtGPublVCbplXHAFxoYsneL0he4OEyJbf9KQyITOlzOcthB1kS9Qg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.186.0.tgz", + "integrity": "sha512-fddwDgXtnHyL9mEZ4s1tBBsKnVQHqTUmFbZKUUKPrg9CxOh0Y/zZxEa5Olg/8dS/LzM1tvg0ATkcyd4/kEHIhg==", "dependencies": { "tslib": "^2.3.1" }, @@ -1161,26 +1155,26 @@ } }, "node_modules/@aws-sdk/util-stream-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.183.0.tgz", - "integrity": "sha512-Ot0ZUiSo57tKFt8dGAwvVz5/CojjNbbztUa3q9m0Bk7RgZB8tbKvVR/tmKzhCLT4zdFEHl+M3wmxPJ7QVIdkKQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.186.0.tgz", + "integrity": "sha512-fXlIA4jkcGN8YVrwtNWuR3JDoQZrs47uKJrg++3T0qf9EyPRgtki7tUITZpcDx+0qnm24yyLAedIXYzYt2iGcA==", "dependencies": { - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-hex-encoding": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-hex-encoding": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-stream-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.183.0.tgz", - "integrity": "sha512-R3E5o0H/7E3xdBH4ySi4z3lshjbVaaiGmcbUxaINzKABT8wnsPCEhk3MvxFJyIZnpwHWS9yMR2aWSX2vRWvWlA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.186.0.tgz", + "integrity": "sha512-CTb8PmgGQx/3FYA1n1+ksnzIUpJGC7jEHk/E06cmWloixhSIRJuBXJ8b1AgSVDVrY/8wfYO/2VW28Dp7wZfmOw==", "dependencies": { - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1188,9 +1182,9 @@ } }, "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.183.0.tgz", - "integrity": "sha512-pBTwFR/s3ITNHDbsnjhGu6g47PUb5NFbAOWRMFukJME5glOTkFViGlSrEbq0xZB/A0jKFZBQWXLDtgR2G0N8TA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", + "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -1199,22 +1193,22 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.183.0.tgz", - "integrity": "sha512-uLUFxHFzh/ivcEeocpvMZBnpEDA793lAtsReaG7QRA1PheRgAQQHeugrTOkQ7doGCz0YBbocXAMcNDrmN1EdNA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz", + "integrity": "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==", "dependencies": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.183.0.tgz", - "integrity": "sha512-EsyNWuW4ZhLoo5sDs/rMuL5BwGgyyO5bJxI4GzXhDcPPJerQvDZ3ZD3aB55IzAWd4EMHft3Man2uB2bCSWavjA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz", + "integrity": "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==", "dependencies": { - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1230,19 +1224,19 @@ } }, "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.183.0.tgz", - "integrity": "sha512-6JHlQ5VkF2XdUfyK1pjpR1A8I+hVdyV0yGiyOB3Vge2zIkcc6oZQYIsSePFmqujJspz29GK0InbQhJXKuLDekg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz", + "integrity": "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.183.0.tgz", - "integrity": "sha512-5oIc0Bco765sMd0X4jOpwidBxPOXocGXuaTM5LxfFlw+KZjgh609VQHii9pUlere23kCXF3cZzup++oSQBSrTg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz", + "integrity": "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1250,12 +1244,12 @@ } }, "node_modules/@aws-sdk/util-waiter": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.183.0.tgz", - "integrity": "sha512-gp8zuE8+6N9khmwpfNtkiiScnosoGEh5touy8KGqAy5OYcTFCyjqoEwqH3JCiZxzoTMB+81iGR3mbj4EiGwUOw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.186.0.tgz", + "integrity": "sha512-oSm45VadBBWC/K2W1mrRNzm9RzbXt6VopBQ5iTDU7B3qIXlyAG9k1JqOvmYIdYq1oOgjM3Hv2+9sngi3+MZs1A==", "dependencies": { - "@aws-sdk/abort-controller": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/abort-controller": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" }, "engines": { @@ -1263,9 +1257,9 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.183.0.tgz", - "integrity": "sha512-lzDdGSe5Yg60vTdo8nUpFh1NKCaN7hGSTWDBdlEg/0PaOVuevyl7QSzVqKoUVzgu9j2Pq72SgQPNO/XggcEsOw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.186.0.tgz", + "integrity": "sha512-9Ss3w1yenQNFYdHpa7OFL81M6Okef8UzY263SCCodhCg1ZKwN+vN1T4C7zhcMpxWsmDD/UmEpN+eXCLnFNE8PQ==", "dependencies": { "tslib": "^2.3.1" }, @@ -2616,21 +2610,15 @@ } }, "node_modules/@types/jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", - "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==", "dev": true, "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, - "node_modules/@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -2644,9 +2632,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.8.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz", - "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==", + "version": "18.8.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz", + "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==", "dev": true }, "node_modules/@types/npm-package-arg": { @@ -2957,6 +2945,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -2971,6 +2960,7 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, "engines": { "node": ">=10" }, @@ -3312,14 +3302,15 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001414", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", - "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", + "version": "1.0.30001418", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz", + "integrity": "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==", "dev": true, "funding": [ { @@ -3341,6 +3332,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3361,11 +3353,6 @@ "node": ">=10" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -3399,6 +3386,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -3422,14 +3410,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -3601,6 +3581,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -3613,14 +3594,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -3725,9 +3698,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.271", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.271.tgz", - "integrity": "sha512-BCPBtK07xR1/uY2HFDtl3wK2De66AW4MSiPlLrnPNxKC/Qhccxd59W73654S3y6Rb/k3hmuGJOBnhjfoutetXA==", + "version": "1.4.275", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.275.tgz", + "integrity": "sha512-aJeQQ+Hl9Jyyzv4chBqYJwmVRY46N5i2BEX5Cuyk/5gFCUZ5F3i7Hnba6snZftWla7Gglwc5pIgcd+E7cW+rPg==", "dev": true }, "node_modules/emittery": { @@ -4211,9 +4184,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.1.0.tgz", - "integrity": "sha512-sqojX5GKzQ8+PScF9rJ7dRMtu0NEIWsaDMLwRRvVE28mnWctZe5VAti394Nmut11vPwgxck9XnDmmjx/U9NowQ==", + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.1.1.tgz", + "integrity": "sha512-vuSuXGKHHi/UAffIM46QKm4g0tQP+6n52nRxUpMq6x6x9rhnv5WM7ktSu3h9cTnXE4b0Y0ODQTgRlCm9rdRLvg==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.10.0" @@ -4447,30 +4420,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -4553,28 +4502,6 @@ "bser": "2.1.1" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -4868,6 +4795,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -4911,17 +4839,6 @@ "node": ">=10.17.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -4998,71 +4915,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -5189,9 +5041,9 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { "@babel/core": "^7.12.3", @@ -6208,11 +6060,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6458,12 +6305,8 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", @@ -6471,20 +6314,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/nock": { - "version": "13.2.9", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.9.tgz", - "integrity": "sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==", - "dependencies": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" - }, - "engines": { - "node": ">= 10.13" - } - }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -6637,14 +6466,6 @@ "node": ">= 0.4.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -6694,6 +6515,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, "engines": { "node": ">=6" } @@ -7029,14 +6851,6 @@ "node": ">= 6" } }, - "node_modules/propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "engines": { - "node": ">= 8" - } - }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -7064,16 +6878,6 @@ "node": ">=0.6" } }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -7199,11 +7003,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -7263,6 +7062,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -7306,14 +7106,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -7357,9 +7149,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -7381,11 +7173,6 @@ "node": ">=10" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7693,6 +7480,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7779,7 +7567,8 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/tmp": { "version": "0.2.1", @@ -7882,15 +7671,6 @@ } } }, - "node_modules/ts-mockito": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.6.1.tgz", - "integrity": "sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.5" - } - }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -8034,9 +7814,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/update-browserslist-db": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", - "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, "funding": [ { @@ -8153,11 +7933,6 @@ "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -8261,9 +8036,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.2.tgz", - "integrity": "sha512-VSdf2/K3FqAetooKQv45Hcu6sA00aDgWZeGcG6V9IYJnVLTnb6988Tie79K5nx2vK7cEpf+yW8Oy+7iPAbdiHA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", "dev": true, "engines": { "node": ">= 14" @@ -8286,199 +8061,6 @@ "node": ">=12" } }, - "node_modules/yargs-interactive": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/yargs-interactive/-/yargs-interactive-3.0.1.tgz", - "integrity": "sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw==", - "dependencies": { - "inquirer": "^7.0.0", - "yargs": "^14.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-interactive/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/yargs-interactive/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/yargs-interactive/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/yargs-interactive/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/yargs-interactive/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-interactive/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-interactive/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-interactive/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-interactive/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/yargs-interactive/node_modules/yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", - "dependencies": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" - } - }, - "node_modules/yargs-interactive/node_modules/yargs-parser": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", - "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", @@ -8687,875 +8269,875 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.183.0.tgz", - "integrity": "sha512-iRhdCoC/QyyB6iRCytb12T0XtfmQRn849vnbcUd8BprXvkQ/YwmFS//4Lj02uxS+myqXCntoAj1nKvZZwcFmbg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz", + "integrity": "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/chunked-blob-reader": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.183.0.tgz", - "integrity": "sha512-N8fyzlo6yvLH7SYxGyWUWj8kpESdlE9wbSY1+1LxB8Z/VIUUiyivMH2dcvwcYnP1LexNXrazTE3zxo13O0XUaA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.186.0.tgz", + "integrity": "sha512-ChpW/teYM0vhV4vG7/ZE4zwr2IWrLX+R/s6LulqgC9x/5fngMUAjT7D8V9UgoCwjKosxBEaKEKuGcgBdODGndg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.183.0.tgz", - "integrity": "sha512-CjFeO3F9IwVdfLUzqIuHtDpbzd7zqDyGpyy6qIdf1WKbpqrJ0TlGXuvIm4LytVaDSd4lLvBc7VXsSQS0Pz0A0A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.186.0.tgz", + "integrity": "sha512-klbrNZYWRhfkRMSK9NJObXgU9DD1lqYufH0BjeoYgApg5Dsywa+GpN/1DQveKTxGs08GFnhsc27dJLcNJCmAXw==", "requires": { - "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/util-base64-browser": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-s3": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.183.0.tgz", - "integrity": "sha512-wDEpbGjLZzSd6oqALlcO+kaZOABrljebjV4PAsfcsl0R6DMFmNj/gxcVL329nwWN3yUXDaZXRqx2Rd22jMKbjQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.186.0.tgz", + "integrity": "sha512-tUvUkqKh1MQ8g4HDJyekZnSVjJ44pjo0QZmrV9gwpnyCymYoxPShz5zT5CsYyXYTOx81yxIBw6/mkFKEJ8MZ2g==", "requires": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.183.0", - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/credential-provider-node": "3.183.0", - "@aws-sdk/eventstream-serde-browser": "3.183.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.183.0", - "@aws-sdk/eventstream-serde-node": "3.183.0", - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/hash-blob-browser": "3.183.0", - "@aws-sdk/hash-node": "3.183.0", - "@aws-sdk/hash-stream-node": "3.183.0", - "@aws-sdk/invalid-dependency": "3.183.0", - "@aws-sdk/md5-js": "3.183.0", - "@aws-sdk/middleware-bucket-endpoint": "3.183.0", - "@aws-sdk/middleware-content-length": "3.183.0", - "@aws-sdk/middleware-expect-continue": "3.183.0", - "@aws-sdk/middleware-flexible-checksums": "3.183.0", - "@aws-sdk/middleware-host-header": "3.183.0", - "@aws-sdk/middleware-location-constraint": "3.183.0", - "@aws-sdk/middleware-logger": "3.183.0", - "@aws-sdk/middleware-recursion-detection": "3.183.0", - "@aws-sdk/middleware-retry": "3.183.0", - "@aws-sdk/middleware-sdk-s3": "3.183.0", - "@aws-sdk/middleware-serde": "3.183.0", - "@aws-sdk/middleware-signing": "3.183.0", - "@aws-sdk/middleware-ssec": "3.183.0", - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/middleware-user-agent": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4-multi-region": "3.183.0", - "@aws-sdk/smithy-client": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-base64-node": "3.183.0", - "@aws-sdk/util-body-length-browser": "3.183.0", - "@aws-sdk/util-body-length-node": "3.183.0", - "@aws-sdk/util-defaults-mode-browser": "3.183.0", - "@aws-sdk/util-defaults-mode-node": "3.183.0", - "@aws-sdk/util-stream-browser": "3.183.0", - "@aws-sdk/util-stream-node": "3.183.0", - "@aws-sdk/util-user-agent-browser": "3.183.0", - "@aws-sdk/util-user-agent-node": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", - "@aws-sdk/util-waiter": "3.183.0", - "@aws-sdk/xml-builder": "3.183.0", + "@aws-sdk/client-sts": "3.186.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/credential-provider-node": "3.186.0", + "@aws-sdk/eventstream-serde-browser": "3.186.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.186.0", + "@aws-sdk/eventstream-serde-node": "3.186.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/hash-blob-browser": "3.186.0", + "@aws-sdk/hash-node": "3.186.0", + "@aws-sdk/hash-stream-node": "3.186.0", + "@aws-sdk/invalid-dependency": "3.186.0", + "@aws-sdk/md5-js": "3.186.0", + "@aws-sdk/middleware-bucket-endpoint": "3.186.0", + "@aws-sdk/middleware-content-length": "3.186.0", + "@aws-sdk/middleware-expect-continue": "3.186.0", + "@aws-sdk/middleware-flexible-checksums": "3.186.0", + "@aws-sdk/middleware-host-header": "3.186.0", + "@aws-sdk/middleware-location-constraint": "3.186.0", + "@aws-sdk/middleware-logger": "3.186.0", + "@aws-sdk/middleware-recursion-detection": "3.186.0", + "@aws-sdk/middleware-retry": "3.186.0", + "@aws-sdk/middleware-sdk-s3": "3.186.0", + "@aws-sdk/middleware-serde": "3.186.0", + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/middleware-ssec": "3.186.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/middleware-user-agent": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4-multi-region": "3.186.0", + "@aws-sdk/smithy-client": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-base64-node": "3.186.0", + "@aws-sdk/util-body-length-browser": "3.186.0", + "@aws-sdk/util-body-length-node": "3.186.0", + "@aws-sdk/util-defaults-mode-browser": "3.186.0", + "@aws-sdk/util-defaults-mode-node": "3.186.0", + "@aws-sdk/util-stream-browser": "3.186.0", + "@aws-sdk/util-stream-node": "3.186.0", + "@aws-sdk/util-user-agent-browser": "3.186.0", + "@aws-sdk/util-user-agent-node": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", + "@aws-sdk/util-waiter": "3.186.0", + "@aws-sdk/xml-builder": "3.186.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-sso": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.183.0.tgz", - "integrity": "sha512-Dw2objS0rxlziFL0Jahzy8H1OlyrRCnmVH7f1pBrmU7RSzztBpU2Z8OPaE5m1MwUISzpOWQlo8zEVUMYuT/Rww==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.186.0.tgz", + "integrity": "sha512-qwLPomqq+fjvp42izzEpBEtGL2+dIlWH5pUCteV55hTEwHgo+m9LJPIrMWkPeoMBzqbNiu5n6+zihnwYlCIlEA==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/hash-node": "3.183.0", - "@aws-sdk/invalid-dependency": "3.183.0", - "@aws-sdk/middleware-content-length": "3.183.0", - "@aws-sdk/middleware-host-header": "3.183.0", - "@aws-sdk/middleware-logger": "3.183.0", - "@aws-sdk/middleware-recursion-detection": "3.183.0", - "@aws-sdk/middleware-retry": "3.183.0", - "@aws-sdk/middleware-serde": "3.183.0", - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/middleware-user-agent": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/smithy-client": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-base64-node": "3.183.0", - "@aws-sdk/util-body-length-browser": "3.183.0", - "@aws-sdk/util-body-length-node": "3.183.0", - "@aws-sdk/util-defaults-mode-browser": "3.183.0", - "@aws-sdk/util-defaults-mode-node": "3.183.0", - "@aws-sdk/util-user-agent-browser": "3.183.0", - "@aws-sdk/util-user-agent-node": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/hash-node": "3.186.0", + "@aws-sdk/invalid-dependency": "3.186.0", + "@aws-sdk/middleware-content-length": "3.186.0", + "@aws-sdk/middleware-host-header": "3.186.0", + "@aws-sdk/middleware-logger": "3.186.0", + "@aws-sdk/middleware-recursion-detection": "3.186.0", + "@aws-sdk/middleware-retry": "3.186.0", + "@aws-sdk/middleware-serde": "3.186.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/middleware-user-agent": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/smithy-client": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-base64-node": "3.186.0", + "@aws-sdk/util-body-length-browser": "3.186.0", + "@aws-sdk/util-body-length-node": "3.186.0", + "@aws-sdk/util-defaults-mode-browser": "3.186.0", + "@aws-sdk/util-defaults-mode-node": "3.186.0", + "@aws-sdk/util-user-agent-browser": "3.186.0", + "@aws-sdk/util-user-agent-node": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-sts": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.183.0.tgz", - "integrity": "sha512-xl7CDncgUmcSJ5Nq3zDylyCzdJhfWzu3GUHXFv5HszcmSwrVZOtmm+j0XQfnqO3XdN8o/1CtsAkiUC7hQV8iDg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.186.0.tgz", + "integrity": "sha512-lyAPI6YmIWWYZHQ9fBZ7QgXjGMTtktL5fk8kOcZ98ja+8Vu0STH1/u837uxqvZta8/k0wijunIL3jWUhjsNRcg==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/credential-provider-node": "3.183.0", - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/hash-node": "3.183.0", - "@aws-sdk/invalid-dependency": "3.183.0", - "@aws-sdk/middleware-content-length": "3.183.0", - "@aws-sdk/middleware-host-header": "3.183.0", - "@aws-sdk/middleware-logger": "3.183.0", - "@aws-sdk/middleware-recursion-detection": "3.183.0", - "@aws-sdk/middleware-retry": "3.183.0", - "@aws-sdk/middleware-sdk-sts": "3.183.0", - "@aws-sdk/middleware-serde": "3.183.0", - "@aws-sdk/middleware-signing": "3.183.0", - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/middleware-user-agent": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/smithy-client": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-base64-node": "3.183.0", - "@aws-sdk/util-body-length-browser": "3.183.0", - "@aws-sdk/util-body-length-node": "3.183.0", - "@aws-sdk/util-defaults-mode-browser": "3.183.0", - "@aws-sdk/util-defaults-mode-node": "3.183.0", - "@aws-sdk/util-user-agent-browser": "3.183.0", - "@aws-sdk/util-user-agent-node": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/credential-provider-node": "3.186.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/hash-node": "3.186.0", + "@aws-sdk/invalid-dependency": "3.186.0", + "@aws-sdk/middleware-content-length": "3.186.0", + "@aws-sdk/middleware-host-header": "3.186.0", + "@aws-sdk/middleware-logger": "3.186.0", + "@aws-sdk/middleware-recursion-detection": "3.186.0", + "@aws-sdk/middleware-retry": "3.186.0", + "@aws-sdk/middleware-sdk-sts": "3.186.0", + "@aws-sdk/middleware-serde": "3.186.0", + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/middleware-user-agent": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/smithy-client": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-base64-node": "3.186.0", + "@aws-sdk/util-body-length-browser": "3.186.0", + "@aws-sdk/util-body-length-node": "3.186.0", + "@aws-sdk/util-defaults-mode-browser": "3.186.0", + "@aws-sdk/util-defaults-mode-node": "3.186.0", + "@aws-sdk/util-user-agent-browser": "3.186.0", + "@aws-sdk/util-user-agent-node": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" } }, "@aws-sdk/config-resolver": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.183.0.tgz", - "integrity": "sha512-cJBY5g+yJAI0iigketD3rbweyoLOw6SFiJDzRqZq3KgytmnhnrmNbRVTSdq1Qtn+d20NVxT9kSRUu21QyHb1nw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", + "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", "requires": { - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-config-provider": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-config-provider": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-env": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.183.0.tgz", - "integrity": "sha512-RJ1QZxpfWf3hmjUm1fYCEj3p4Rl61kMFfU6ab3hpDGuSXbuLkAvTOIbssIUDHcgxUSszV5XqpPzBUnTui3cZYA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz", + "integrity": "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==", "requires": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.183.0.tgz", - "integrity": "sha512-RHzciaoW0sPV52VUMd3SrIFrKhXsKbn9okEF+UdR2P3RgxNsguUZsewpDqhjGZBH0E2IiuFrBPjsxQKAI+mFbQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz", + "integrity": "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==", "requires": { - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/url-parser": "3.183.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.183.0.tgz", - "integrity": "sha512-tWiTIeA72L/7nJnDS5GfNmX58Ms9bUQLb7e9PXv5lWAfyiT9po6KMdBGIN7qld1kxBDcwFZPxsxtkHrbU+6d6A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz", + "integrity": "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==", "requires": { - "@aws-sdk/credential-provider-env": "3.183.0", - "@aws-sdk/credential-provider-imds": "3.183.0", - "@aws-sdk/credential-provider-sso": "3.183.0", - "@aws-sdk/credential-provider-web-identity": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/credential-provider-env": "3.186.0", + "@aws-sdk/credential-provider-imds": "3.186.0", + "@aws-sdk/credential-provider-sso": "3.186.0", + "@aws-sdk/credential-provider-web-identity": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.183.0.tgz", - "integrity": "sha512-APVAOnB/5CWqnLOY4FnZ779jFg7c8EU4zlj1klZRdNLCTjDXkQSrkJ14Zy44NiTWfxalU5BPsCFHDsQo0hkyQQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz", + "integrity": "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==", "requires": { - "@aws-sdk/credential-provider-env": "3.183.0", - "@aws-sdk/credential-provider-imds": "3.183.0", - "@aws-sdk/credential-provider-ini": "3.183.0", - "@aws-sdk/credential-provider-process": "3.183.0", - "@aws-sdk/credential-provider-sso": "3.183.0", - "@aws-sdk/credential-provider-web-identity": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/credential-provider-env": "3.186.0", + "@aws-sdk/credential-provider-imds": "3.186.0", + "@aws-sdk/credential-provider-ini": "3.186.0", + "@aws-sdk/credential-provider-process": "3.186.0", + "@aws-sdk/credential-provider-sso": "3.186.0", + "@aws-sdk/credential-provider-web-identity": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-process": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.183.0.tgz", - "integrity": "sha512-JRePfiFPWpyF3iotHx45WyP1qe50BsPdOOFGh3vmyx5L92lnzchlGsOMpcNUiATUuA3Ar0LUt5bS299LTZWeuQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz", + "integrity": "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==", "requires": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.183.0.tgz", - "integrity": "sha512-jddGjwAFbYyZkIiR+ghPPh92MQuljI/tusOEgvvUM/w+Cx4jvulZo8rJuEvlU49cXn76dyNxGeDWeqfskuOMpQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.186.0.tgz", + "integrity": "sha512-mJ+IZljgXPx99HCmuLgBVDPLepHrwqnEEC/0wigrLCx6uz3SrAWmGZsNbxSEtb2CFSAaczlTHcU/kIl7XZIyeQ==", "requires": { - "@aws-sdk/client-sso": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/client-sso": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.183.0.tgz", - "integrity": "sha512-AZGZ4zrjMgtVk5MhsRGj6glsivls4qWUQ1Vuq9FjlaN+ltW74w3D0juTwpUI/OHuSHhOznOZsO9fI4DlCfUeSw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.186.0.tgz", + "integrity": "sha512-KqzI5eBV72FE+8SuOQAu+r53RXGVHg4AuDJmdXyo7Gc4wS/B9FNElA8jVUjjYgVnf0FSiri+l41VzQ44dCopSA==", "requires": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-codec": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.183.0.tgz", - "integrity": "sha512-GHZ1Xn7Lv0bR3MxYVSyaLb75GsQA2sWlq7XvU5QFifFHskXzRCjuoHTvxg3K8Ez3AuTTkYhH0NOhv1teQ1NHow==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.186.0.tgz", + "integrity": "sha512-3kLcJ0/H+zxFlhTlE1SGoFpzd/SitwXOsTSlYVwrwdISKRjooGg0BJpm1CSTkvmWnQIUlYijJvS96TAJ+fCPIA==", "requires": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-hex-encoding": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-hex-encoding": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.183.0.tgz", - "integrity": "sha512-qJOlWKRPSe132EOP/05JZA1OUYAuinUbofgE3N05sCSWBmdlwQPFGIEcePjNg+HfJKXMWI86o4BWmfBgB8ZFcg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.186.0.tgz", + "integrity": "sha512-0r2c+yugBdkP5bglGhGOgztjeHdHTKqu2u6bvTByM0nJShNO9YyqWygqPqDUOE5axcYQE1D0aFDGzDtP3mGJhw==", "requires": { - "@aws-sdk/eventstream-serde-universal": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/eventstream-serde-universal": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.183.0.tgz", - "integrity": "sha512-Tdefws3/NjD7NdP2OqiZZlQAoPhjgMrFSwqT//njMGnkcbhO52w/jhJXEW5HePl4wbRgpp40Ae8uQSRfsYJhuw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.186.0.tgz", + "integrity": "sha512-xhwCqYrAX5c7fg9COXVw6r7Sa3BO5cCfQMSR5S1QisE7do8K1GDKEHvUCheOx+RLon+P3glLjuNBMdD0HfCVNA==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.183.0.tgz", - "integrity": "sha512-16l2a3TdWhMdzPxSLKfboj/NbEKxNyJF8Xu6zGOY61g5kRpXD2Nqg8ycDjq1CW+60H5SaCxRV2EsYKgroSWgTg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.186.0.tgz", + "integrity": "sha512-9p/gdukJYfmA+OEYd6MfIuufxrrfdt15lBDM3FODuc9j09LSYSRHSxthkIhiM5XYYaaUM+4R0ZlSMdaC3vFDFQ==", "requires": { - "@aws-sdk/eventstream-serde-universal": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/eventstream-serde-universal": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-universal": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.183.0.tgz", - "integrity": "sha512-9mfTUdPafq+P2aUSZMh6/+XIxq0Lq2oWldcF8vb2gKH6ZBJLU1Nw7CRXbO6wbaPl/YM83y6G3Y5mkRnjBcxP1A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.186.0.tgz", + "integrity": "sha512-rIgPmwUxn2tzainBoh+cxAF+b7o01CcW+17yloXmawsi0kiR7QK7v9m/JTGQPWKtHSsPOrtRzuiWQNX57SlcsQ==", "requires": { - "@aws-sdk/eventstream-codec": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/eventstream-codec": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.183.0.tgz", - "integrity": "sha512-YaVXUTYnm6ZsT4qVWcAvtjkxsxzGJW1l0o4oXnnz3hhl7AZM/RjL2l24aixSMeoj7R4hA4Yi7sHFm5OlHSTg5A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz", + "integrity": "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/querystring-builder": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/querystring-builder": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-blob-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.183.0.tgz", - "integrity": "sha512-kytjmG+xupsMxxIA8+e1zV82EdydFF82+jMfxOUovidVbVq9uTTcpF2WqbaFMje1ylZjSbHCCptjGRg1DfTc8w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.186.0.tgz", + "integrity": "sha512-u8QvmXGySqy2QRbkAfx1bX/idSiejuy2q3WKamGysy9Ylogprr5kq2v0E+7vnLo9rBjuquUbVvI5eskIgZDMmg==", "requires": { - "@aws-sdk/chunked-blob-reader": "3.183.0", - "@aws-sdk/chunked-blob-reader-native": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/chunked-blob-reader": "3.186.0", + "@aws-sdk/chunked-blob-reader-native": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.183.0.tgz", - "integrity": "sha512-XPe1TzupofkypgLw4Y38ruUM4hrrGIGwJGI/KsljDoEDpz24SyMItyCZbF7ddaPkbJGa4oO+HN072SXPB/z/6g==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz", + "integrity": "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==", "requires": { - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-stream-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.183.0.tgz", - "integrity": "sha512-xqMIftU/mQAPXmjNahgA6SXNY7H/8GyDY7XC0w7aHIVBZx0DZlvStbFZ+BdZKyOHVzQOftliikDJzqPz3EiPWA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.186.0.tgz", + "integrity": "sha512-n+VphPuMbl2iKrW1zVpoqQQDuPej/Hr4+I5UdZC39Cq/XfgDqh6QDy73Q9OypGuyEKrxZ5E5Pa+BWi4pGtt08w==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/invalid-dependency": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.183.0.tgz", - "integrity": "sha512-ouKWKIFzWEt64Eg+WPjMlG/KzvQ4h3DakjHJ6L1IB/lXDL8TzJwqKdyEyt3V6/jOXLt8Wf6LtG8HA+5OC+jASQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz", + "integrity": "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/is-array-buffer": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.183.0.tgz", - "integrity": "sha512-s0ukhcjX1dUPRFPLyWJw9mg6SB+5YOdV2vHoKez0L7ry97p3C29wtImV2NOdw54fn/lKOtil22lFN7JpoaqU/w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", + "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/md5-js": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.183.0.tgz", - "integrity": "sha512-FUQsZY8GwICKcHuJ8dcvmMlVOjWzdPoGIdjLl2F7kqJosTz908UoOQzIdm50UOChk8OVLgfVDOJDQ1ioycClCA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.186.0.tgz", + "integrity": "sha512-Pp86oeTi8qtfY4fIZYrHOqRWJc0PjolxETdtWBUhtjC8HY81ckZMqe+5Aosy8mtQJus/k83S0CJAyfE2ko/a6Q==", "requires": { - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", - "@aws-sdk/util-utf8-node": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.183.0.tgz", - "integrity": "sha512-JpqE+5BdblM1zAoQwlTC5st4ev/MNvewYayFZgroElyPySs5Ushy0u6b3FiJx/pdKPNX/Io75VNFxGeRcJsspA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.186.0.tgz", + "integrity": "sha512-Vrb/ZXxWohhq86lGnp8E+H9AyNJFEt70fjFavkMCrQe7mx4+WHNc5agsTRPF+IESV0MgsbDtELP72Gzqc4fpWQ==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-arn-parser": "3.183.0", - "@aws-sdk/util-config-provider": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-arn-parser": "3.186.0", + "@aws-sdk/util-config-provider": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-content-length": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.183.0.tgz", - "integrity": "sha512-dcLMEEa6j3eDH8obsDHZaHgOZIUPDIZdkgtLYB0tyvJEo8HZGEE/Ch1abwlIzXkZ7qRPXysgX7JayJV8N7kxEw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz", + "integrity": "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.183.0.tgz", - "integrity": "sha512-4267Sy91KH0XaCE0ANWeck13sGVHkWLozd9i9jPxIXQabnOFFnfo4nkH05n7tuR7ItDyp3R5S6S9fqXj6QYXsA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.186.0.tgz", + "integrity": "sha512-ITGzpajC5jPl+1TDRJCWb2ASQuy0qcMijKP6xcCRPcuAyHPgrH59f+3CCfqNcnehNJptHoD5hFIU6r+WcOF8hQ==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-flexible-checksums": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.183.0.tgz", - "integrity": "sha512-amfk55oTAvGN0VluzaNTcQO4ERT7V5pvdjBGxBMjPJD9G3vdj6o2ZvjgGANKZDqarmebcrbEepLCp5PLtfdUgA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.186.0.tgz", + "integrity": "sha512-zb1a5b2JHNMbD0pkozs/TLIfxbvZVpAcF947LEDblD5OsC8UW/a3hTVDvq7K7TLT6jgrgEzMKJbqoxqGzPQlLA==", "requires": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/is-array-buffer": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-host-header": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.183.0.tgz", - "integrity": "sha512-EcInz6QFQ0ljK8QABX/NRcLYGySv+S/mmJYSLIHkU+/FDh+Wh08Awq9OVjJwGp2mmHM1ZHHHI0sTrdBdmBLX3g==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz", + "integrity": "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.183.0.tgz", - "integrity": "sha512-XIj2NZa2R+hioPWXH4TIQN1Jy5m6m3u5ouPcVxijMdJ6HozEEJZVaWiXNQczr8otWCYzXqq88p6Zu683V/oTPw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.186.0.tgz", + "integrity": "sha512-86swCv/+BYhXMCiAU6rVRk/z009bfpGfjnVBuoFfFbHp6zS3Ak11UotTzhw/Yyiyb06p/qL4vFfRERrMYnpmew==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-logger": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.183.0.tgz", - "integrity": "sha512-bEjira7lUPtIfOCDAAkWR53gIJG2g8HhYeL0C+fGB4lztf2Cdlqg9quLXXHRVd0Vmio4OR3NMm5aPIwMnUULWQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz", + "integrity": "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.183.0.tgz", - "integrity": "sha512-RcsFN5Mp10SO9yKRVeFqedxQIhqWi00Kb5EpE1SR7bC/tcrizS2e0ytFkLk2Bv2U6tbT1CYg7EMa76ssRaSk5w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.186.0.tgz", + "integrity": "sha512-Za7k26Kovb4LuV5tmC6wcVILDCt0kwztwSlB991xk4vwNTja8kKxSt53WsYG8Q2wSaW6UOIbSoguZVyxbIY07Q==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-retry": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.183.0.tgz", - "integrity": "sha512-TV3yKWd5g+18/0XjqVeG4/IrksAvBBqSuBVaaNFUACBhwZGZy6IV0sSOlYnWHLTPbPIwrxN9TTt+uIdvCbf+hw==", - "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/service-error-classification": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz", + "integrity": "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==", + "requires": { + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/service-error-classification": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.183.0.tgz", - "integrity": "sha512-Ot3CsBqayUMls+G87Mfm/I6Kksgb2Pw5HoSFj8qI66IB2enwvfJp+aak4ZsRE7YpjXMQ51hCvfJUPnRvsZuycw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.186.0.tgz", + "integrity": "sha512-NffDytJCSNm+fkQs0sP3ePgtIkgd6Xqxfx1YI+Qzwlnej3Jdh9doDhuxxT/fQoJPfgf77y0iMC4a3tNr69fW6g==", "requires": { - "@aws-sdk/middleware-bucket-endpoint": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-arn-parser": "3.183.0", + "@aws-sdk/middleware-bucket-endpoint": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-arn-parser": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.183.0.tgz", - "integrity": "sha512-d8zqIDiT1/Zqh0RB/VV4RHz+CIyrMbxEm81rx0pn/9eMVLO4A33j1DaaTcQ0fuCCU7K2rptJC+t2tvkzmXPERg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz", + "integrity": "sha512-GDcK0O8rjtnd+XRGnxzheq1V2jk4Sj4HtjrxW/ROyhzLOAOyyxutBt+/zOpDD6Gba3qxc69wE+Cf/qngOkEkDw==", "requires": { - "@aws-sdk/middleware-signing": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-serde": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.183.0.tgz", - "integrity": "sha512-8VqXmaIbH5E1L7ORXLAhaLKpoUJl7vYCbFpL3NKPlVBPDPAydLhyEltBc3mJTfUo4XWYn6qRqgNwlppXUJZ1xg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz", + "integrity": "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-signing": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.183.0.tgz", - "integrity": "sha512-ABb8aSs6649pOZg2Ck3EyeMJo03eYBIqUw7vOhBR6IhQA/XHCFzFX8vEhWjhEWfQcUQBIzNlgoY+0uXK0wVEYQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", + "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", "requires": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-ssec": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.183.0.tgz", - "integrity": "sha512-eDzWpJA4FkTI41LvAR1lavsidS/5WXFbok2kraAZSdnnU+GXiOqh8I/LPpO/vljcp68kh0on2YMnl/nB22BLqg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.186.0.tgz", + "integrity": "sha512-nNBp3t1GvCTp+uN3stJMzHb1H/jmId+qPBFUwvCItrSUL6lLnJi+OxFr/cNuZpJdlLR3FyX0jyJEKMsBEJHAkA==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-stack": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.183.0.tgz", - "integrity": "sha512-xNvGdj5qgSiC0WETkDOk1Rr7goR7smjbRc/vcYzO4HLwfw2JX/QxtZ2iNAdBMwW1M8O4JfVqS3ynqlE6Ssd7YQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz", + "integrity": "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.183.0.tgz", - "integrity": "sha512-XPX6LKS+zD11yB7nMSQHnW749+2RcFDjr0l2Eb+X0Tffr70JrWpiSx8wYAWUcuTg5Zv4aJAdzYCCaJKZt61Wqg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz", + "integrity": "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-config-provider": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.183.0.tgz", - "integrity": "sha512-Y15Byu7uJxkpHes4PxLBfJEgvxXS5ovyfDGJKJYISwBqJFkDP9gp8/5hg/uHxlJuVWEgFDSTi5kOUjnOhaCZ/A==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", + "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", "requires": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/shared-ini-file-loader": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/shared-ini-file-loader": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-http-handler": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.183.0.tgz", - "integrity": "sha512-mwxwcDW03qZDk/XHr+MJrFUIAaCSIOPYemiM24gOhEqv6/B0ikxAzZIrggd8jKFlnPxPHME0FCFuIQ6tmokEyA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz", + "integrity": "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==", "requires": { - "@aws-sdk/abort-controller": "3.183.0", - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/querystring-builder": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/abort-controller": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/querystring-builder": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/property-provider": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.183.0.tgz", - "integrity": "sha512-IYZNJX/S2wQsDKx+Pm+gwCKFR037/T+K85YW7j8be7aItqZqwOo7yRNXhJSOJPMANxhz4KmHH3n1oXhmCBvyug==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", + "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/protocol-http": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.183.0.tgz", - "integrity": "sha512-uFxp2YDRQgvHvGWY91CqZjqhDFoiPx9dr45ZIq/jZ4bOQ9rY619PAIBQ15eh54v7DI1zm4pLlXXvytA0LJF3jg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", + "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-builder": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.183.0.tgz", - "integrity": "sha512-12IFkuyPyJk8MZ1CKxiFo0GCTmqTwlJ3rMRk7L1wk44yObdKpQK/MSkUl0QgZHSjsS84zfqdeOXQJqLGGaIETg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz", + "integrity": "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==", "requires": { - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-uri-escape": "3.183.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-uri-escape": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-parser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.183.0.tgz", - "integrity": "sha512-0yB48bevrHMzXf2afYIAAqYfqCea3aeTyGLa+7IeWZbgP481JbGQyMMNtQBA8VgOB3k7vDEqIYT+QuVxbVhKCA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", + "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/service-error-classification": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.183.0.tgz", - "integrity": "sha512-WCQzfRgCHdSXT6spTpGNV2zjBWN1QMxwA3L7sdmXvGDYR1USZlyNRwvYOc7g6Px2ZmMI5DnzjIKu60eSyVsH+w==" + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz", + "integrity": "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.183.0.tgz", - "integrity": "sha512-QqLdLthJP73m+h9FhCPsRUsF0AAtHVLivOvtH9ZRoph7C2bqSvfm8LHQO20R61acN9o72mgMiVDVBp/XhiGpkA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", + "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.183.0.tgz", - "integrity": "sha512-XlYaSVbC6acTdc7FI5hmfZqOLPBwNCbnutmoElTdJQKwhSS6LvwwUngM4L5tm3etlPkKVFSsWllG68Au/vFF4w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", + "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", "requires": { - "@aws-sdk/is-array-buffer": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-hex-encoding": "3.183.0", - "@aws-sdk/util-middleware": "3.183.0", - "@aws-sdk/util-uri-escape": "3.183.0", + "@aws-sdk/is-array-buffer": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-hex-encoding": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", + "@aws-sdk/util-uri-escape": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4-multi-region": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.183.0.tgz", - "integrity": "sha512-lVW5tlwsS5WrMZ3gy1pp+r21C0z8mbqlqz3FbW0PxyU1YFI77Y/WIxO8/KSzHZ9h/GNfKqkLajuVIJDL6jArrw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.186.0.tgz", + "integrity": "sha512-99+WIti/zaoYgRAFTWSC2206E71gi+bPtPFbijLzQHMpmB3QlzPYobx3xyepgQ+LL0FQcfqD5zFtdmlcoWTddQ==", "requires": { - "@aws-sdk/protocol-http": "3.183.0", - "@aws-sdk/signature-v4": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-arn-parser": "3.183.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-arn-parser": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/smithy-client": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.183.0.tgz", - "integrity": "sha512-HesHCNI09yCGh/QaLWyiMia0I3i6xs9v7ghksGXNhpNNrTIshFu5AUh2uJTdlaHiUN9zlED3ulkPo2FrE7Lxww==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz", + "integrity": "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==", "requires": { - "@aws-sdk/middleware-stack": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/types": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.183.0.tgz", - "integrity": "sha512-V5IU7q7Y2ADIFzvUxoGfpVahhVnGjCABTv9jZYUSyJW7/OwSB+eA2C1B8ZsKAYLWtc9xKxYpRl5FI5e7FBGUIQ==" + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", + "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==" }, "@aws-sdk/url-parser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.183.0.tgz", - "integrity": "sha512-hrgeIDyAIJfGYbfGfQJD41iUwncfdhObyQ+aPfjZjAzqNSmNCV1jF9+k/BXdMnjCAM6n8rX6ZNko9PhtGz9uKw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", + "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", "requires": { - "@aws-sdk/querystring-parser": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/querystring-parser": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-arn-parser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.183.0.tgz", - "integrity": "sha512-uteIR9dHoGeW1TuVzVTWmRzw+C+m2FFshAx5bh6o8aNmVu/lpUK2tk3fZdjz283ghG9YmAdDhVIVyiCNPBDP6w==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.186.0.tgz", + "integrity": "sha512-hhTziyXeiNylZfZ6yXmaAhOUSmS3xQiofXRm1CcxMttHWmTOI6OrepKa2kOkNZsZe28vfuy4I7vbWPi2LcwSqA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-base64-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.183.0.tgz", - "integrity": "sha512-rDTgkDHQbQtg/2RGbBb1ztZCRF8ELAXyhVQ7CqEqZSirdpQyIdOOVi8ucr4sjVyUQIq92irfJO1SEcANsaFhWQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz", + "integrity": "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-base64-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.183.0.tgz", - "integrity": "sha512-FqgzW17oMvv41eB6Lsq2q32HGch5pSmUtXdcVjvXkPKc5CGtNIB49pRx4re4SOGKexkBabB9gdmubs3jH8BB5Q==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz", + "integrity": "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==", "requires": { - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.183.0.tgz", - "integrity": "sha512-HniybeERXdHnN+NceOOlaeWgqfDgfWhtFmdOxJYWaxUW21RX+GQiObXtjnU7Nb0DtzTkAv/PWfkZ5lS8WLGQ2Q==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz", + "integrity": "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.183.0.tgz", - "integrity": "sha512-BBaGaQtSQFXtKB9hXnGog5osNTasAe1GlvQCRqvBEvF2LwM54M+Hsr5HisJKnCybUgQGi0R2Al3CohjMy+mczQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz", + "integrity": "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-buffer-from": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.183.0.tgz", - "integrity": "sha512-y/GPvo7kqM7taj6+Iq2uUxdrdDcUAtmQEX1l24qjl7MYEnZMncfxWjFdBhIvq4HBJjN3Oq8OIvTc/ZDB2obBJA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz", + "integrity": "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==", "requires": { - "@aws-sdk/is-array-buffer": "3.183.0", + "@aws-sdk/is-array-buffer": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-config-provider": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.183.0.tgz", - "integrity": "sha512-F6QaY3giXX4kSJk1VIkw9n9I4heTNgv5RmAgY5xlCNU5BqoWyIbWG9B8r/P7metlPhACZ1M8dMp5RwQi8Ae1Jw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.186.0.tgz", + "integrity": "sha512-71Qwu/PN02XsRLApyxG0EUy/NxWh/CXxtl2C7qY14t+KTiRapwbDkdJ1cMsqYqghYP4BwJoj1M+EFMQSSlkZQQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.183.0.tgz", - "integrity": "sha512-YWKb4Y0bo/hpAVvf27wAQ3vj8OSVHkyHeoZC6ni9alkK41SAlv3RjodfTAhN0039QD+DirTa3EkLQj9ag1Igdg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.186.0.tgz", + "integrity": "sha512-U8GOfIdQ0dZ7RRVpPynGteAHx4URtEh+JfWHHVfS6xLPthPHWTbyRhkQX++K/F8Jk+T5U8Anrrqlea4TlcO2DA==", "requires": { - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.183.0.tgz", - "integrity": "sha512-zuNFv2nSgtK6yTEMiEZW2vNxtC6vcKlt6vv0QtIEZZGGhjxEx2dK28jKr9GHlDLIt99mjvJaqiP4tiyfNE5Xpg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.186.0.tgz", + "integrity": "sha512-N6O5bpwCiE4z8y7SPHd7KYlszmNOYREa+mMgtOIXRU3VXSEHVKVWTZsHKvNTTHpW0qMqtgIvjvXCo3vsch5l3A==", "requires": { - "@aws-sdk/config-resolver": "3.183.0", - "@aws-sdk/credential-provider-imds": "3.183.0", - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/property-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/credential-provider-imds": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.183.0.tgz", - "integrity": "sha512-pcvgpSID2mFnkaWPd/cpP4H7Lpu9w9Sc2QcMc2kvkOgkNb7mNres+guybqIMIlsOfuVuFK6291KwtYEgYIWHjQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", + "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-locate-window": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.183.0.tgz", - "integrity": "sha512-zcto3whSC1EHnKlygkSBmwI95r3mOpG3o37M2zHhKJlJbPZhI61+MnNQ13T46m4MRWC5gJgPi3gL7kI9Bnb+hA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.186.0.tgz", + "integrity": "sha512-fmQLkH16ga6c5fWsA+kBYklQJjlPlcc8uayTR4avi5g3Nxqm6wPpyUwo5CppwjwWMeS+NXG0HgITtkkGntcRNg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-middleware": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.183.0.tgz", - "integrity": "sha512-zbAFH5SkJ1kTFWPZVg4JdQEhfnJAyL/BDDtGPublVCbplXHAFxoYsneL0he4OEyJbf9KQyITOlzOcthB1kS9Qg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.186.0.tgz", + "integrity": "sha512-fddwDgXtnHyL9mEZ4s1tBBsKnVQHqTUmFbZKUUKPrg9CxOh0Y/zZxEa5Olg/8dS/LzM1tvg0ATkcyd4/kEHIhg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-stream-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.183.0.tgz", - "integrity": "sha512-Ot0ZUiSo57tKFt8dGAwvVz5/CojjNbbztUa3q9m0Bk7RgZB8tbKvVR/tmKzhCLT4zdFEHl+M3wmxPJ7QVIdkKQ==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.186.0.tgz", + "integrity": "sha512-fXlIA4jkcGN8YVrwtNWuR3JDoQZrs47uKJrg++3T0qf9EyPRgtki7tUITZpcDx+0qnm24yyLAedIXYzYt2iGcA==", "requires": { - "@aws-sdk/fetch-http-handler": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-base64-browser": "3.183.0", - "@aws-sdk/util-hex-encoding": "3.183.0", - "@aws-sdk/util-utf8-browser": "3.183.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-hex-encoding": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-stream-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.183.0.tgz", - "integrity": "sha512-R3E5o0H/7E3xdBH4ySi4z3lshjbVaaiGmcbUxaINzKABT8wnsPCEhk3MvxFJyIZnpwHWS9yMR2aWSX2vRWvWlA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.186.0.tgz", + "integrity": "sha512-CTb8PmgGQx/3FYA1n1+ksnzIUpJGC7jEHk/E06cmWloixhSIRJuBXJ8b1AgSVDVrY/8wfYO/2VW28Dp7wZfmOw==", "requires": { - "@aws-sdk/node-http-handler": "3.183.0", - "@aws-sdk/types": "3.183.0", - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-uri-escape": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.183.0.tgz", - "integrity": "sha512-pBTwFR/s3ITNHDbsnjhGu6g47PUb5NFbAOWRMFukJME5glOTkFViGlSrEbq0xZB/A0jKFZBQWXLDtgR2G0N8TA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", + "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.183.0.tgz", - "integrity": "sha512-uLUFxHFzh/ivcEeocpvMZBnpEDA793lAtsReaG7QRA1PheRgAQQHeugrTOkQ7doGCz0YBbocXAMcNDrmN1EdNA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz", + "integrity": "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==", "requires": { - "@aws-sdk/types": "3.183.0", + "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.183.0.tgz", - "integrity": "sha512-EsyNWuW4ZhLoo5sDs/rMuL5BwGgyyO5bJxI4GzXhDcPPJerQvDZ3ZD3aB55IzAWd4EMHft3Man2uB2bCSWavjA==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz", + "integrity": "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==", "requires": { - "@aws-sdk/node-config-provider": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-browser": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.183.0.tgz", - "integrity": "sha512-6JHlQ5VkF2XdUfyK1pjpR1A8I+hVdyV0yGiyOB3Vge2zIkcc6oZQYIsSePFmqujJspz29GK0InbQhJXKuLDekg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz", + "integrity": "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-node": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.183.0.tgz", - "integrity": "sha512-5oIc0Bco765sMd0X4jOpwidBxPOXocGXuaTM5LxfFlw+KZjgh609VQHii9pUlere23kCXF3cZzup++oSQBSrTg==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz", + "integrity": "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==", "requires": { - "@aws-sdk/util-buffer-from": "3.183.0", + "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-waiter": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.183.0.tgz", - "integrity": "sha512-gp8zuE8+6N9khmwpfNtkiiScnosoGEh5touy8KGqAy5OYcTFCyjqoEwqH3JCiZxzoTMB+81iGR3mbj4EiGwUOw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.186.0.tgz", + "integrity": "sha512-oSm45VadBBWC/K2W1mrRNzm9RzbXt6VopBQ5iTDU7B3qIXlyAG9k1JqOvmYIdYq1oOgjM3Hv2+9sngi3+MZs1A==", "requires": { - "@aws-sdk/abort-controller": "3.183.0", - "@aws-sdk/types": "3.183.0", + "@aws-sdk/abort-controller": "3.186.0", + "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" } }, "@aws-sdk/xml-builder": { - "version": "3.183.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.183.0.tgz", - "integrity": "sha512-lzDdGSe5Yg60vTdo8nUpFh1NKCaN7hGSTWDBdlEg/0PaOVuevyl7QSzVqKoUVzgu9j2Pq72SgQPNO/XggcEsOw==", + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.186.0.tgz", + "integrity": "sha512-9Ss3w1yenQNFYdHpa7OFL81M6Okef8UzY263SCCodhCg1ZKwN+vN1T4C7zhcMpxWsmDD/UmEpN+eXCLnFNE8PQ==", "requires": { "tslib": "^2.3.1" } @@ -10619,21 +10201,15 @@ } }, "@types/jest": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", - "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==", "dev": true, "requires": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, - "@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -10647,9 +10223,9 @@ "dev": true }, "@types/node": { - "version": "18.8.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz", - "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==", + "version": "18.8.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz", + "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==", "dev": true }, "@types/npm-package-arg": { @@ -10853,6 +10429,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, "requires": { "type-fest": "^0.21.3" }, @@ -10860,7 +10437,8 @@ "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true } } }, @@ -11124,12 +10702,13 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true }, "caniuse-lite": { - "version": "1.0.30001414", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", - "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", + "version": "1.0.30001418", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz", + "integrity": "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==", "dev": true }, "caseless": { @@ -11141,6 +10720,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11152,11 +10732,6 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -11184,6 +10759,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -11198,11 +10774,6 @@ "string-width": "^5.0.0" } }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -11345,15 +10916,11 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -11434,9 +11001,9 @@ } }, "electron-to-chromium": { - "version": "1.4.271", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.271.tgz", - "integrity": "sha512-BCPBtK07xR1/uY2HFDtl3wK2De66AW4MSiPlLrnPNxKC/Qhccxd59W73654S3y6Rb/k3hmuGJOBnhjfoutetXA==", + "version": "1.4.275", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.275.tgz", + "integrity": "sha512-aJeQQ+Hl9Jyyzv4chBqYJwmVRY46N5i2BEX5Cuyk/5gFCUZ5F3i7Hnba6snZftWla7Gglwc5pIgcd+E7cW+rPg==", "dev": true }, "emittery": { @@ -11719,9 +11286,9 @@ "requires": {} }, "eslint-plugin-jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.1.0.tgz", - "integrity": "sha512-sqojX5GKzQ8+PScF9rJ7dRMtu0NEIWsaDMLwRRvVE28mnWctZe5VAti394Nmut11vPwgxck9XnDmmjx/U9NowQ==", + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.1.1.tgz", + "integrity": "sha512-vuSuXGKHHi/UAffIM46QKm4g0tQP+6n52nRxUpMq6x6x9rhnv5WM7ktSu3h9cTnXE4b0Y0ODQTgRlCm9rdRLvg==", "dev": true, "requires": { "@typescript-eslint/utils": "^5.10.0" @@ -11863,26 +11430,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -11951,21 +11498,6 @@ "bser": "2.1.1" } }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -12167,7 +11699,8 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "hosted-git-info": { "version": "5.1.0", @@ -12198,14 +11731,6 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -12258,61 +11783,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, "interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -12404,9 +11874,9 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -13163,11 +12633,6 @@ "p-locate": "^5.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -13354,12 +12819,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "natural-compare": { "version": "1.4.0", @@ -13367,17 +12828,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "nock": { - "version": "13.2.9", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.9.tgz", - "integrity": "sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==", - "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", - "propagate": "^2.0.0" - } - }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -13493,11 +12943,6 @@ "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -13528,7 +12973,8 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "parent-module": { "version": "1.0.1", @@ -13776,11 +13222,6 @@ "sisteransi": "^1.0.5" } }, - "propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==" - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -13802,12 +13243,6 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, - "querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -13898,11 +13333,6 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -13946,6 +13376,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -13976,11 +13407,6 @@ "glob": "^7.1.3" } }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -14010,9 +13436,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "requires": { "lru-cache": "^6.0.0" }, @@ -14027,11 +13453,6 @@ } } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -14252,6 +13673,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -14314,7 +13736,8 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "tmp": { "version": "0.2.1", @@ -14378,15 +13801,6 @@ "yargs-parser": "^21.0.1" } }, - "ts-mockito": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.6.1.tgz", - "integrity": "sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==", - "dev": true, - "requires": { - "lodash": "^4.17.5" - } - }, "ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -14482,9 +13896,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "update-browserslist-db": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", - "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -14569,11 +13983,6 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -14644,9 +14053,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.2.tgz", - "integrity": "sha512-VSdf2/K3FqAetooKQv45Hcu6sA00aDgWZeGcG6V9IYJnVLTnb6988Tie79K5nx2vK7cEpf+yW8Oy+7iPAbdiHA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", + "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", "dev": true }, "yargs": { @@ -14685,161 +14094,6 @@ } } }, - "yargs-interactive": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/yargs-interactive/-/yargs-interactive-3.0.1.tgz", - "integrity": "sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw==", - "requires": { - "inquirer": "^7.0.0", - "yargs": "^14.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", - "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" - } - }, - "yargs-parser": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", - "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", diff --git a/package.json b/package.json index 951a0b0..819e91b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "module", "scripts": { "build": "esbuild ./bin/install.mts --bundle --platform=node --format=esm --outfile=./dist/argopm.mjs --external:shelljs --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" && sed -i.bak 's,/bin/env -S npx ts-node --esm,/bin/env node,g' ./dist/argopm.mjs", - "test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage --silent", + "test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage", "prettier": "prettier --write .", "eslint": "eslint --fix .", "lint-staged": "lint-staged" @@ -21,7 +21,6 @@ "axios": "^0.27.2", "compare-versions": "^5.0.1", "dotenv": "^16.0.2", - "js-yaml": "^4.1.0", "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", "shelljs": "^0.8.5", @@ -29,7 +28,6 @@ }, "devDependencies": { "@types/jest": "^29.0.3", - "@types/js-yaml": "^4.0.5", "@types/node": "^18.8.1", "@types/npm-package-arg": "^6.1.1", "@types/rimraf": "^3.0.2", @@ -77,6 +75,7 @@ } ] }, + "testTimeout": 20000, "testMatch": [ "**/?(*.)+(spec|test).m[jt]s" ], diff --git a/tests/init.spec.mts b/tests/init.spec.mts index cb79aaa..e2747ef 100755 --- a/tests/init.spec.mts +++ b/tests/init.spec.mts @@ -21,7 +21,7 @@ describe("argopm init", () => { shell.cd("-"); }); - it("should run init successfully", async () => { + it.skip("should run init successfully", async () => { const consoleSpy = jest.spyOn(console, "log"); const currentDir = shell.pwd(); shell.cd(TMP_DIR); diff --git a/tests/install.spec.mts b/tests/install.spec.mts index 5ddde51..3a2be4f 100755 --- a/tests/install.spec.mts +++ b/tests/install.spec.mts @@ -1,13 +1,16 @@ -import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals"; +import { afterEach, beforeEach, describe, expect, it, jest, beforeAll, afterAll } from "@jest/globals"; import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; import { readFile } from "fs/promises"; +import { IncomingMessage } from "http"; import npa from "npm-package-arg"; import shell from "shelljs"; import yarg from "../bin/install.mjs"; import { constants } from "../lib/constants.mjs"; +import { uninstall } from "../lib/index.mjs"; import { packageNameFromPath } from "../lib/install.mjs"; import { GenericK8sSpecType, getResourceByName } from "../lib/k8s.mjs"; import { encode, PackageInfo } from "../lib/models/info.mjs"; +import { Resource } from "../lib/models/resource.mjs"; const kc = new KubeConfig(); kc.loadFromDefault(); @@ -30,163 +33,123 @@ describe("argopm install", () => { let packageName; let packageJson; let packageVersion; + const consoleLogSpy = jest.spyOn(console, "log"); const consoleDebugSpy = jest.spyOn(console, "debug"); - beforeEach(async () => { + beforeAll(async () => { jest.resetModules(); shell.rm("-Rf", TMP_DIR); shell.mkdir(TMP_DIR); shell.cp("-R", `${MOCK_PACKAGE_DIR}/*`, `${TMP_DIR}/`); shell.cd(TMP_DIR); packageName = npa(packageNameFromPath(TMP_DIR)); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); }); afterEach(() => { - jest.resetAllMocks(); - shell.cd("-"); - // TODO: Need to uninstall after this test + // jest.resetAllMocks(); + // shell.cd("-"); + }); + + afterAll(async () => { + await uninstall(namespace, packageName.name, false); }); describe("fresh-install all", () => { - beforeEach(async () => { - await yarg.parse("install ."); + beforeAll(async () => { + await yarg.parse(`install . -x -n ${namespace}`); packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); packageVersion = encode(packageJson.version); }); - it("should create configmaps successfully", async () => { - const configmap = await getResource("configmaps/default.yaml"); - const configmapList = await coreK8sApi.listNamespacedConfigMap( - namespace, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(configmapList.response.statusCode).toEqual(200); - expect(configmapList.body.items.length).toEqual(1); - expect(configmapList.body.items[0].metadata?.name).toEqual(configmap.metadata?.name); - expect(consoleDebugSpy).toBeCalledWith( - `${configmap.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` - ); - }); - - it("should create secrets successfully", async () => { - const secret = await getResource("secrets/default.yaml"); - const secretList = await coreK8sApi.listNamespacedSecret( - namespace, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(secretList.response.statusCode).toEqual(200); - expect(secretList.body.items.length).toEqual(1); - expect(secretList.body.items[0].metadata?.name).toEqual(secret.metadata?.name); - expect(consoleDebugSpy).toBeCalledWith( - `${secret.metadata?.name} ${constants.SECRET_KIND} not present in the cluster. Installing v${packageVersion}` - ); - }); - - it("should create workflow templates successfully", async () => { - const workflowTemplate = await getResource("templates/default.yaml"); - const workflowTemplateList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(workflowTemplateList.response.statusCode).toEqual(200); - expect(workflowTemplateList.body).toHaveProperty("items"); - expect(workflowTemplateList.body["items"]).toBeInstanceOf(Array); - expect(workflowTemplateList.body["items"].length).toEqual(1); - expect(workflowTemplateList.body["items"][0].metadata?.name).toEqual(workflowTemplate.metadata?.name); - expect(consoleDebugSpy).toBeCalledWith( - `${workflowTemplate.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} not present in the cluster. Installing v${packageVersion}` - ); + it("should show installing message", () => { + expect(consoleLogSpy).toBeCalledWith(`Installing package ${packageName}`); }); - it("should create cronworkflows successfully", async () => { - const cronWorkflow = await getResource("cronworkflows/default.yaml"); - const cronWorkflowList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); + it("should create configmaps successfully", async () => { + const object = await getResource("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", namespace); - expect(cronWorkflowList.response.statusCode).toEqual(200); - expect(cronWorkflowList.body).toHaveProperty("items"); - expect(cronWorkflowList.body["items"]).toBeInstanceOf(Array); - expect(cronWorkflowList.body["items"].length).toEqual(1); - expect(cronWorkflowList.body["items"][0].metadata?.name).toEqual(cronWorkflow.metadata?.name); + expect(persisted.response.statusCode).toEqual(200); expect(consoleDebugSpy).toBeCalledWith( - `${cronWorkflow.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` ); }); - it("should create pipelines successfully", async () => { - const pipeline = await getResource("pipelines/default.yaml"); - const pipelineList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_DATAFLOW_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(pipelineList.response.statusCode).toEqual(200); - expect(pipelineList.body).toHaveProperty("items"); - expect(pipelineList.body["items"]).toBeInstanceOf(Array); - expect(pipelineList.body["items"].length).toEqual(1); - expect(pipelineList.body["items"][0].metadata?.name).toEqual(pipeline.metadata?.name); - expect(consoleDebugSpy).toBeCalledWith( - `${pipeline.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} not present in the cluster. Installing v${packageVersion}` - ); - }); + // it("should create secrets successfully", async () => { + // const object = await getResource("secrets/default.yaml"); + // const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", namespace); + + // expect(persisted.response.statusCode).toEqual(200); + // expect(consoleDebugSpy).toBeCalledWith( + // `${object.metadata?.name} ${constants.SECRET_KIND} not present in the cluster. Installing v${packageVersion}` + // ); + // }); + + // it("should create workflow templates successfully", async () => { + // const object = await getResource("templates/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ); + + // expect(persisted.response.statusCode).toEqual(200); + // expect(consoleDebugSpy).toBeCalledWith( + // `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} not present in the cluster. Installing v${packageVersion}` + // ); + // }); + + // it("should create cronworkflows successfully", async () => { + // const object = await getResource("cronworkflows/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ); + + // expect(persisted.response.statusCode).toEqual(200); + // expect(consoleDebugSpy).toBeCalledWith( + // `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + // ); + // }); + + // it("should create pipelines successfully", async () => { + // const object = await getResource("pipelines/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_DATAFLOW_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ); + + // expect(persisted.response.statusCode).toEqual(200); + // expect(consoleDebugSpy).toBeCalledWith( + // `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + // ); + // }); }); - describe("patch-install all", () => { - beforeEach(async () => { - await yarg.parse("install ."); + describe.skip("skip update all", () => { + beforeAll(async () => { + await yarg.parse(`install . -x -n ${namespace}`); }); it("should patch configmaps successfully", async () => { // Check existence of fresh-install objects first - const configmap = await getResource("configmaps/default.yaml"); - const configmapList = await coreK8sApi.listNamespacedConfigMap( - namespace, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - expect(configmapList.response.statusCode).toEqual(200); - expect(configmapList.body.items.length).toEqual(1); - expect(configmapList.body.items[0].metadata?.name).toEqual(configmap.metadata?.name); + const object = await getResource("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", namespace); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); - const resource = getResourceByName(configmapList.body.items, configmap.metadata?.name || ""); - const msgPrefix = `${configmap.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; expect(consoleDebugSpy).toBeCalledWith( `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` ); @@ -195,247 +158,208 @@ describe("argopm install", () => { // const resourceAbsentMsg = `${name} ${kind} not present in the cluster. Installing v${newVersion}`; }); - it("should patch secrets successfully", async () => { - const secret = await getResource("secrets/default.yaml"); - const secretList = await coreK8sApi.listNamespacedSecret( - namespace, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(secretList.response.statusCode).toEqual(200); - expect(secretList.body.items.length).toEqual(1); - expect(secretList.body.items[0].metadata?.name).toEqual(secret.metadata?.name); - - const resource = getResourceByName(secretList.body.items, secret.metadata?.name || ""); - const msgPrefix = `${secret.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - ); - }); - - it("should patch workflow templates successfully", async () => { - const workflowTemplate = await getResource("templates/default.yaml"); - const workflowTemplateList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(workflowTemplateList.response.statusCode).toEqual(200); - expect(workflowTemplateList.body).toHaveProperty("items"); - expect(workflowTemplateList.body["items"]).toBeInstanceOf(Array); - expect(workflowTemplateList.body["items"].length).toEqual(1); - expect(workflowTemplateList.body["items"][0].metadata?.name).toEqual(workflowTemplate.metadata?.name); - - const resource = getResourceByName( - workflowTemplateList.body["items"], - workflowTemplate.metadata?.name || "" - ); - const msgPrefix = `${workflowTemplate.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - ); - }); - - it("should patch cronworkflows successfully", async () => { - const cronWorkflow = await getResource("cronworkflows/default.yaml"); - const cronWorkflowList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(cronWorkflowList.response.statusCode).toEqual(200); - expect(cronWorkflowList.body).toHaveProperty("items"); - expect(cronWorkflowList.body["items"]).toBeInstanceOf(Array); - expect(cronWorkflowList.body["items"].length).toEqual(1); - expect(cronWorkflowList.body["items"][0].metadata?.name).toEqual(cronWorkflow.metadata?.name); - - const resource = getResourceByName(cronWorkflowList.body["items"], cronWorkflow.metadata?.name || ""); - const msgPrefix = `${cronWorkflow.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - ); - }); - - it("should patch pipelines successfully", async () => { - const pipeline = await getResource("pipelines/default.yaml"); - const pipelineList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_DATAFLOW_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(pipelineList.response.statusCode).toEqual(200); - expect(pipelineList.body).toHaveProperty("items"); - expect(pipelineList.body["items"]).toBeInstanceOf(Array); - expect(pipelineList.body["items"].length).toEqual(1); - expect(pipelineList.body["items"][0].metadata?.name).toEqual(pipeline.metadata?.name); - - const resource = getResourceByName(pipelineList.body["items"], pipeline.metadata?.name || ""); - const msgPrefix = `${pipeline.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - ); - }); + // it("should patch secrets successfully", async () => { + // const object = await getResource("secrets/default.yaml"); + // const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", namespace); + // expect(persisted.response.statusCode).toEqual(200); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + // ); + // }); + + // it("should patch workflow templates successfully", async () => { + // const object = await getResource("templates/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(200); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + // ); + // }); + + // it("should patch cronworkflows successfully", async () => { + // const object = await getResource("cronworkflows/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(200); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + // ); + // }); + + // it("should patch pipelines successfully", async () => { + // const object = await getResource("pipelines/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_DATAFLOW_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(200); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + // ); + // }); }); - describe("patch-install all bump-version", () => { - const consoleDebugSpy = jest.spyOn(console, "debug"); + describe.skip("patch all bump-version", () => { - beforeEach(async () => { + beforeAll(async () => { shell.sed("-i", /0.0.1/g, NEW_VERSION_BUMP, `${TMP_DIR}/package.json`); - await yarg.parse("install ."); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); + await yarg.parse(`install . -x -n ${namespace}`); }); it("should replace configmaps to newer package version successfully", async () => { - // Check existence of fresh-install objects first - const configmap = await getResource("configmaps/default.yaml"); - const configmapList = await coreK8sApi.listNamespacedConfigMap( - namespace, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - expect(configmapList.response.statusCode).toEqual(200); - expect(configmapList.body.items.length).toEqual(1); - expect(configmapList.body.items[0].metadata?.name).toEqual(configmap.metadata?.name); + const object = await getResource("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", namespace); + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); - const resource = getResourceByName(configmapList.body["items"], configmap.metadata?.name || ""); - const msgPrefix = `${configmap.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` - ); - }); - - it("should replace secrets to newer package version successfully", async () => { - const secret = await getResource("secrets/default.yaml"); - const secretList = await coreK8sApi.listNamespacedSecret( - namespace, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); + // expect(persisted.body.metadata).toEqual(true); - expect(secretList.response.statusCode).toEqual(200); - expect(secretList.body.items.length).toEqual(1); - expect(secretList.body.items[0].metadata?.name).toEqual(secret.metadata?.name); - - const resource = getResourceByName(secretList.body["items"], secret.metadata?.name || ""); - const msgPrefix = `${secret.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` ); }); - it("should replace workflow to newer package version templates successfully", async () => { - const workflowTemplate = await getResource("templates/default.yaml"); - const workflowTemplateList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); + // it("should replace secrets to newer package version successfully", async () => { + // const object = await getResource("secrets/default.yaml"); + // const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", namespace); + // expect(persisted.response.statusCode).toEqual(200); + // expect(persisted.body.metadata).toHaveProperty("labels"); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + // ); + // }); + + // it("should replace workflow to newer package version templates successfully", async () => { + // const object = await getResource("templates/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(200); + // expect(persisted.body.metadata).toHaveProperty("labels"); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + // ); + // }); + + // it("should replace cronworkflows to newer package version successfully", async () => { + // const object = await getResource("cronworkflows/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(200); + // expect(persisted.body.metadata).toHaveProperty("labels"); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + // ); + // }); + + // it("should replace pipelines to newer package version successfully", async () => { + // const object = await getResource("pipelines/default.yaml"); + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_DATAFLOW_K8S_API_GROUP, + // constants.ARGO_K8S_API_VERSION, + // namespace, + // `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + // object.metadata?.name || "", + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(200); + // expect(persisted.body.metadata).toHaveProperty("labels"); + // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + // const resource = new Resource(persisted.body); + // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; + // expect(consoleDebugSpy).toBeCalledWith( + // `${msgPrefix} v0.0.1 will be deleted and replaced with v${packageVersion}` + // ); + // }); + }); - expect(workflowTemplateList.response.statusCode).toEqual(200); - expect(workflowTemplateList.body).toHaveProperty("items"); - expect(workflowTemplateList.body["items"]).toBeInstanceOf(Array); - expect(workflowTemplateList.body["items"].length).toEqual(1); - expect(workflowTemplateList.body["items"][0].metadata?.name).toEqual(workflowTemplate.metadata?.name); + describe("install with dependencies", () => { + const packageToAdd = "giphy"; - const resource = getResourceByName( - workflowTemplateList.body["items"], - workflowTemplate.metadata?.name || "" - ); - const msgPrefix = `${workflowTemplate.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` - ); + beforeAll(async () => { + shell.sed("-i", /0.0.1/g, NEW_VERSION_BUMP, `${TMP_DIR}/package.json`); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); + await yarg.parse(`install ${packageToAdd} --save -x -n ${namespace}`); + await yarg.parse(`install . -x -n ${namespace}`); }); - it("should replace cronworkflows to newer package version successfully", async () => { - const cronWorkflow = await getResource("cronworkflows/default.yaml"); - const cronWorkflowList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, + it("should install with giphy package as dependency successfully", async () => { + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_WORKFLOW_TEMPLATES_KIND, constants.ARGO_K8S_API_VERSION, namespace, `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); + packageToAdd, + ) as { response: IncomingMessage, body: GenericK8sSpecType }; - expect(cronWorkflowList.response.statusCode).toEqual(200); - expect(cronWorkflowList.body).toHaveProperty("items"); - expect(cronWorkflowList.body["items"]).toBeInstanceOf(Array); - expect(cronWorkflowList.body["items"].length).toEqual(1); - expect(cronWorkflowList.body["items"][0].metadata?.name).toEqual(cronWorkflow.metadata?.name); - - const resource = getResourceByName(cronWorkflowList.body["items"], cronWorkflow.metadata?.name || ""); - const msgPrefix = `${cronWorkflow.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` - ); + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageToAdd); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageName); }); - it("should replace pipelines to newer package version successfully", async () => { - const pipeline = await getResource("pipelines/default.yaml"); - const pipelineList = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_DATAFLOW_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - undefined, - undefined, - undefined, - undefined, - packageName.name ? PackageInfo.getPackageLabel(packageName.name) : undefined - ); - - expect(pipelineList.response.statusCode).toEqual(200); - expect(pipelineList.body).toHaveProperty("items"); - expect(pipelineList.body["items"]).toBeInstanceOf(Array); - expect(pipelineList.body["items"].length).toEqual(1); - expect(pipelineList.body["items"][0].metadata?.name).toEqual(pipeline.metadata?.name); - - const resource = getResourceByName(pipelineList.body["items"], pipeline.metadata?.name || ""); - const msgPrefix = `${pipeline.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} will be deleted and replaced with v${packageVersion}` - ); - }); }); }); From 9075f185d562671c6f7cd54de1ada65118832d90 Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Sat, 8 Oct 2022 01:43:32 +0800 Subject: [PATCH 09/11] Unify all test cases into main.spec.mts to leverage singleton context for the K8s API requests --- bin/install.mts | 24 +- lib/utils.mts | 13 + package.json | 3 +- tests/init.spec.mts | 82 ------- tests/install.spec.mts | 365 ---------------------------- tests/main.spec.mts | 522 +++++++++++++++++++++++++++++++++++++++++ tests/test-utils.ts | 15 -- 7 files changed, 553 insertions(+), 471 deletions(-) delete mode 100755 tests/init.spec.mts delete mode 100755 tests/install.spec.mts create mode 100755 tests/main.spec.mts delete mode 100644 tests/test-utils.ts diff --git a/bin/install.mts b/bin/install.mts index bed2a3c..4a0cbe7 100755 --- a/bin/install.mts +++ b/bin/install.mts @@ -1,5 +1,5 @@ #!/usr/bin/env -S npx ts-node --esm -import { bright, cyan, dim, green, yellow } from "ansicolor"; +import { bright, cyan, dim, green, strip, yellow } from "ansicolor"; import asTable from "as-table"; import yargs from "yargs"; import { hideBin } from "yargs/helpers"; @@ -19,6 +19,9 @@ asTable.configure({ const yarg = yargs(hideBin(process.argv)); + +const applyColor = (color: boolean, log: any) => color ? log : strip(log); + yarg .option("namespace", { alias: "n", @@ -38,6 +41,11 @@ yarg description: "Install the template at cluster level", default: false, }) + .option("color", { + type: "boolean", + description: "Set --no-color to disable ANSI colors", + default: true, + }) .command({ command: "install ", aliases: ["i"], @@ -168,7 +176,7 @@ yarg ); } - console.log(installHelp.replace(/NAME/g, packageName)); + console.log(applyColor(argv.color, installHelp.replace(/NAME/g, packageName))); }, }) .command({ @@ -183,7 +191,7 @@ yarg const info = argv.template ? argoPackage.templateInfo(argv.template as string) : await argoPackage.packageInfo(argv.namespace as string); - console.log(info); + console.log(applyColor(argv.color as boolean, info)); }, }) .command({ @@ -212,7 +220,7 @@ yarg argv.imagePullSecrets as string, argv.cluster as boolean ); - console.log(green(`Package run successful.`)); + console.log(applyColor(argv.color as boolean, green(`Package run successful.`))); }, }) .command({ @@ -221,7 +229,7 @@ yarg describe: "Uninstall a package. Uninstalls all dependencies associated with the package.", handler: async (argv) => { await uninstall(argv.namespace as string, argv.package as string, argv.cluster as boolean); - console.log(green(`Successfully deleted package ${argv.package}`)); + console.log(applyColor(argv.color as boolean, green(`Successfully deleted package ${argv.package}`))); }, }) .command({ @@ -236,7 +244,7 @@ yarg }), handler: async (argv) => { const packageName = await init(argv.force); - console.log(initHelp.replace(/NAME/g, packageName)); + console.log(applyColor(argv.color as boolean, initHelp.replace(/NAME/g, packageName))); }, }) .command({ @@ -246,9 +254,9 @@ yarg handler: async (argv) => { const argoPackages = await Package.list(argv.namespace as string, argv.cluster as boolean); if (argoPackages.length === 0) { - console.log(yellow("No packages found")); + console.log(applyColor(argv.color as boolean, yellow("No packages found"))); } - console.log(asTable(argoPackages.map((p) => p.info))); + console.log(applyColor(argv.color as boolean, asTable(argoPackages.map((p) => p.info)))); }, }) // .demandCommand() diff --git a/lib/utils.mts b/lib/utils.mts index e0fd739..47066c0 100644 --- a/lib/utils.mts +++ b/lib/utils.mts @@ -6,6 +6,9 @@ import rimraf from "rimraf"; import { Parameter } from "./models/parameter.mjs"; import { hideBin, Parser } from "yargs/helpers"; import { fileURLToPath } from "url"; +import { loadYaml } from "@kubernetes/client-node"; +import { readFileSync } from "fs"; +import { readFile } from "fs/promises"; const rimrafPromise = promisify(rimraf); @@ -84,3 +87,13 @@ export function generateArguments() { return { parameters }; } + +/** + * Parses the YAML file and returns and object of it. + * + * @param path The YAML file path + * @returns object with the YAML content + */ +export const getResourceFromYaml = async (path: string) => { + return loadYaml((await readFile(path)).toString()); +}; diff --git a/package.json b/package.json index 819e91b..ffda843 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "type": "module", "scripts": { "build": "esbuild ./bin/install.mts --bundle --platform=node --format=esm --outfile=./dist/argopm.mjs --external:shelljs --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" && sed -i.bak 's,/bin/env -S npx ts-node --esm,/bin/env node,g' ./dist/argopm.mjs", - "test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage", + "test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage --runInBand", + "test-debug": "NODE_OPTIONS=--experimental-vm-modules node --inspect-brk node_modules/.bin/jest --runInBand", "prettier": "prettier --write .", "eslint": "eslint --fix .", "lint-staged": "lint-staged" diff --git a/tests/init.spec.mts b/tests/init.spec.mts deleted file mode 100755 index e2747ef..0000000 --- a/tests/init.spec.mts +++ /dev/null @@ -1,82 +0,0 @@ -import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals"; -import shell from "shelljs"; -import yarg from "../bin/install.mjs"; -import { initHelp } from "../lib/help.mjs"; - -const TMP_DIR = "/tmp/test-init-package"; - -describe("argopm init", () => { - beforeEach(() => { - jest.resetModules(); - shell.rm("-Rf", TMP_DIR); - shell.mkdir(TMP_DIR); - // jest.spyOn(console, 'log') - // jest.spyOn(console, 'error') - // jest.spyOn(process, 'exit').mockImplementation((code: number) => jest.fn() as never); - }); - - afterEach(() => { - jest.resetAllMocks(); - shell.rm("-Rf", TMP_DIR); - shell.cd("-"); - }); - - it.skip("should run init successfully", async () => { - const consoleSpy = jest.spyOn(console, "log"); - const currentDir = shell.pwd(); - shell.cd(TMP_DIR); - - await yarg.parse("init ."); - expect(shell.test("-e", "package.json")).toBe(true); - - const outputDirLs = shell.ls(`${TMP_DIR}/`); - const inputDirLs = shell.ls(`${currentDir.stdout}/lib/static/package/`); - const packageNameSplit = TMP_DIR.split("/"); - const packageName = packageNameSplit[packageNameSplit.length - 1]; - expect(consoleSpy).toBeCalledWith( - `Installing from the current directory (/private${TMP_DIR}) with the package name "${packageName}"...` - ); - expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, packageName)); - expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); - consoleSpy.mockRestore(); - }); - - // it("should run init with different registry successfully", async () => { - // const consoleSpy = jest.spyOn(console, "log"); - // const currentDir = shell.pwd(); - // shell.cd(TMP_DIR); - - // await yarg.parse("init ."); - - // const outputDirLs = shell.ls(`${TMP_DIR}/`); - // const inputDirLs = shell.ls(`${currentDir.stdout}/lib/static/package/`); - // expect(consoleSpy).toBeCalledWith("Installing from the current directory (/private/tmp/sample1) with the package name \"sample1\"...") - // expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, "sample1")); - // expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); - // consoleSpy.mockRestore(); - // }); - - // it("should not run init successfully when with --force and package.json already exists", async () => { - // shell.cd(TMP_DIR); - - // await yarg.parse("init ."); - // expect(shell.test("-e", "package.json")).toBe(true); - - // const consoleErrorSpy = jest.spyOn(console, "error"); - // const exitSpy = jest.spyOn(process, 'exit'); - // // expect.assertions(1); - // await expect(() => yarg.parse("init .")).rejects.toThrowError(); - // // await yarg.parse("init ."); - // // expect(shell.test("-e", "package.json")).toBe(true); - // // try { - // // await expect(async () => await yarg.parse("init .")).rejects.toBeInstanceOf(Error); - // // } catch (err) { - // // // expect(err).toBe(Error) - // // } - // // // expect(exitSpy).toHaveBeenCalledWith(1); - // expect(consoleErrorSpy).toBeCalledWith(`Files already present in the /private/tmp/test-init-package. Run this command again with --force to ignore`) - // expect(consoleErrorSpy).toBeCalledTimes(1); - // exitSpy.mockRestore(); - // consoleErrorSpy.mockRestore(); - // }); -}); diff --git a/tests/install.spec.mts b/tests/install.spec.mts deleted file mode 100755 index 3a2be4f..0000000 --- a/tests/install.spec.mts +++ /dev/null @@ -1,365 +0,0 @@ -import { afterEach, beforeEach, describe, expect, it, jest, beforeAll, afterAll } from "@jest/globals"; -import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; -import { readFile } from "fs/promises"; -import { IncomingMessage } from "http"; -import npa from "npm-package-arg"; -import shell from "shelljs"; -import yarg from "../bin/install.mjs"; -import { constants } from "../lib/constants.mjs"; -import { uninstall } from "../lib/index.mjs"; -import { packageNameFromPath } from "../lib/install.mjs"; -import { GenericK8sSpecType, getResourceByName } from "../lib/k8s.mjs"; -import { encode, PackageInfo } from "../lib/models/info.mjs"; -import { Resource } from "../lib/models/resource.mjs"; - -const kc = new KubeConfig(); -kc.loadFromDefault(); -const coreK8sApi = kc.makeApiClient(CoreV1Api); -const customK8sApi = kc.makeApiClient(CustomObjectsApi); - -const TMP_DIR = "/tmp/test-install-package"; -const CURRENT_DIR = shell.pwd(); -const MOCK_PACKAGE_DIR = `${CURRENT_DIR.stdout}/tests/fixtures/mock-package`; -const NEW_VERSION_BUMP = "0.0.2"; - -const getResource = async (path: string) => { - const data = await readFile(`${MOCK_PACKAGE_DIR}/${path}`); - const resource = loadYaml(data.toString()); - return resource; -}; - -describe("argopm install", () => { - const namespace = "argo"; - let packageName; - let packageJson; - let packageVersion; - const consoleLogSpy = jest.spyOn(console, "log"); - const consoleDebugSpy = jest.spyOn(console, "debug"); - - beforeAll(async () => { - jest.resetModules(); - shell.rm("-Rf", TMP_DIR); - shell.mkdir(TMP_DIR); - shell.cp("-R", `${MOCK_PACKAGE_DIR}/*`, `${TMP_DIR}/`); - shell.cd(TMP_DIR); - packageName = npa(packageNameFromPath(TMP_DIR)); - packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); - packageVersion = encode(packageJson.version); - }); - - afterEach(() => { - // jest.resetAllMocks(); - // shell.cd("-"); - }); - - afterAll(async () => { - await uninstall(namespace, packageName.name, false); - }); - - describe("fresh-install all", () => { - beforeAll(async () => { - await yarg.parse(`install . -x -n ${namespace}`); - packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); - packageVersion = encode(packageJson.version); - }); - - it("should show installing message", () => { - expect(consoleLogSpy).toBeCalledWith(`Installing package ${packageName}`); - }); - - it("should create configmaps successfully", async () => { - const object = await getResource("configmaps/default.yaml"); - const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", namespace); - - expect(persisted.response.statusCode).toEqual(200); - expect(consoleDebugSpy).toBeCalledWith( - `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` - ); - }); - - // it("should create secrets successfully", async () => { - // const object = await getResource("secrets/default.yaml"); - // const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", namespace); - - // expect(persisted.response.statusCode).toEqual(200); - // expect(consoleDebugSpy).toBeCalledWith( - // `${object.metadata?.name} ${constants.SECRET_KIND} not present in the cluster. Installing v${packageVersion}` - // ); - // }); - - // it("should create workflow templates successfully", async () => { - // const object = await getResource("templates/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ); - - // expect(persisted.response.statusCode).toEqual(200); - // expect(consoleDebugSpy).toBeCalledWith( - // `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} not present in the cluster. Installing v${packageVersion}` - // ); - // }); - - // it("should create cronworkflows successfully", async () => { - // const object = await getResource("cronworkflows/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ); - - // expect(persisted.response.statusCode).toEqual(200); - // expect(consoleDebugSpy).toBeCalledWith( - // `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} not present in the cluster. Installing v${packageVersion}` - // ); - // }); - - // it("should create pipelines successfully", async () => { - // const object = await getResource("pipelines/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_DATAFLOW_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ); - - // expect(persisted.response.statusCode).toEqual(200); - // expect(consoleDebugSpy).toBeCalledWith( - // `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} not present in the cluster. Installing v${packageVersion}` - // ); - // }); - }); - - describe.skip("skip update all", () => { - beforeAll(async () => { - await yarg.parse(`install . -x -n ${namespace}`); - }); - - it("should patch configmaps successfully", async () => { - // Check existence of fresh-install objects first - const object = await getResource("configmaps/default.yaml"); - const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", namespace); - expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); - - const resource = new Resource(persisted.body); - const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - ); - // const newVersion = encode(packageJson.version); - // const resourcePresentMsg = `${msgPrefix} v${resource?.version} installed is newer than v${newVersion}. Skipping update.`; - // const resourceAbsentMsg = `${name} ${kind} not present in the cluster. Installing v${newVersion}`; - }); - - // it("should patch secrets successfully", async () => { - // const object = await getResource("secrets/default.yaml"); - // const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", namespace); - // expect(persisted.response.statusCode).toEqual(200); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - // ); - // }); - - // it("should patch workflow templates successfully", async () => { - // const object = await getResource("templates/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; - - // expect(persisted.response.statusCode).toEqual(200); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - // ); - // }); - - // it("should patch cronworkflows successfully", async () => { - // const object = await getResource("cronworkflows/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; - - // expect(persisted.response.statusCode).toEqual(200); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - // ); - // }); - - // it("should patch pipelines successfully", async () => { - // const object = await getResource("pipelines/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_DATAFLOW_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; - - // expect(persisted.response.statusCode).toEqual(200); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` - // ); - // }); - }); - - describe.skip("patch all bump-version", () => { - - beforeAll(async () => { - shell.sed("-i", /0.0.1/g, NEW_VERSION_BUMP, `${TMP_DIR}/package.json`); - packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); - packageVersion = encode(packageJson.version); - await yarg.parse(`install . -x -n ${namespace}`); - }); - - it("should replace configmaps to newer package version successfully", async () => { - const object = await getResource("configmaps/default.yaml"); - const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", namespace); - expect(persisted.response.statusCode).toEqual(200); - expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); - - // expect(persisted.body.metadata).toEqual(true); - - const resource = new Resource(persisted.body); - const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; - expect(consoleDebugSpy).toBeCalledWith( - `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` - ); - }); - - // it("should replace secrets to newer package version successfully", async () => { - // const object = await getResource("secrets/default.yaml"); - // const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", namespace); - // expect(persisted.response.statusCode).toEqual(200); - // expect(persisted.body.metadata).toHaveProperty("labels"); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` - // ); - // }); - - // it("should replace workflow to newer package version templates successfully", async () => { - // const object = await getResource("templates/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; - - // expect(persisted.response.statusCode).toEqual(200); - // expect(persisted.body.metadata).toHaveProperty("labels"); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` - // ); - // }); - - // it("should replace cronworkflows to newer package version successfully", async () => { - // const object = await getResource("cronworkflows/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; - - // expect(persisted.response.statusCode).toEqual(200); - // expect(persisted.body.metadata).toHaveProperty("labels"); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` - // ); - // }); - - // it("should replace pipelines to newer package version successfully", async () => { - // const object = await getResource("pipelines/default.yaml"); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_DATAFLOW_K8S_API_GROUP, - // constants.ARGO_K8S_API_VERSION, - // namespace, - // `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - // object.metadata?.name || "", - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; - - // expect(persisted.response.statusCode).toEqual(200); - // expect(persisted.body.metadata).toHaveProperty("labels"); - // expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); - - // const resource = new Resource(persisted.body); - // const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; - // expect(consoleDebugSpy).toBeCalledWith( - // `${msgPrefix} v0.0.1 will be deleted and replaced with v${packageVersion}` - // ); - // }); - }); - - describe("install with dependencies", () => { - const packageToAdd = "giphy"; - - beforeAll(async () => { - shell.sed("-i", /0.0.1/g, NEW_VERSION_BUMP, `${TMP_DIR}/package.json`); - packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); - packageVersion = encode(packageJson.version); - await yarg.parse(`install ${packageToAdd} --save -x -n ${namespace}`); - await yarg.parse(`install . -x -n ${namespace}`); - }); - - it("should install with giphy package as dependency successfully", async () => { - const persisted = await customK8sApi.getNamespacedCustomObject( - constants.ARGO_WORKFLOW_TEMPLATES_KIND, - constants.ARGO_K8S_API_VERSION, - namespace, - `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - packageToAdd, - ) as { response: IncomingMessage, body: GenericK8sSpecType }; - - expect(persisted.response.statusCode).toEqual(200); - expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageToAdd); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageName); - }); - - }); -}); diff --git a/tests/main.spec.mts b/tests/main.spec.mts new file mode 100755 index 0000000..9d410b6 --- /dev/null +++ b/tests/main.spec.mts @@ -0,0 +1,522 @@ +import { afterAll, beforeAll, describe, expect, it, jest } from "@jest/globals"; +import { CoreV1Api, CustomObjectsApi, KubeConfig, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; +import { readFile } from "fs/promises"; +import { IncomingMessage } from "http"; +import npa from "npm-package-arg"; +import shell from "shelljs"; +import yarg from "../bin/install.mjs"; +import { constants } from "../lib/constants.mjs"; +import { initHelp } from "../lib/help.mjs"; +import { uninstall } from "../lib/index.mjs"; +import { packageNameFromPath } from "../lib/install.mjs"; +import { GenericK8sSpecType } from "../lib/k8s.mjs"; +import { encode } from "../lib/models/info.mjs"; +import { Resource } from "../lib/models/resource.mjs"; +import { getResourceFromYaml } from "../lib/utils.mjs"; + +const kc = new KubeConfig(); +kc.loadFromDefault(); +const coreK8sApi = kc.makeApiClient(CoreV1Api); +const customK8sApi = kc.makeApiClient(CustomObjectsApi); + +const NAMESPACE = "argo"; +const CURRENT_DIR = shell.pwd(); +const MOCK_PACKAGE_DIR = `${CURRENT_DIR.stdout}/tests/fixtures/mock-package`; +const TMP_DIR = "/tmp/test-install-package"; +const NEW_VERSION_BUMP = "0.0.2"; + + +describe("argopm init", () => { + it.skip("should run init successfully", async () => { + shell.rm("-Rf", TMP_DIR); + shell.mkdir(TMP_DIR); + shell.cd(TMP_DIR); + + const consoleSpy = jest.spyOn(console, "log"); + + await yarg.parse("init ."); + expect(shell.test("-e", "package.json")).toBe(true); + + const outputDirLs = shell.ls(`${TMP_DIR}/`); + const inputDirLs = shell.ls(`${CURRENT_DIR.stdout}/lib/static/package/`); + const packageName = npa(packageNameFromPath(TMP_DIR)); + expect(consoleSpy).toBeCalledWith( + `Installing from the current directory (/private${TMP_DIR}) with the package name "${packageName.name}"...` + ); + expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, packageName.name || "")); + expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); + }); +}); + +describe("argopm non-init", () => { + let packageName; + let packageJson; + let packageVersion; + const consoleLogSpy = jest.spyOn(console, "log"); + const consoleDebugSpy = jest.spyOn(console, "debug"); + + beforeAll(async () => { + jest.useFakeTimers(); + jest.resetModules(); + shell.rm("-Rf", TMP_DIR); + shell.mkdir(TMP_DIR); + shell.cp("-R", `${MOCK_PACKAGE_DIR}/*`, `${TMP_DIR}/`); + shell.cd(TMP_DIR); + packageName = npa(packageNameFromPath(TMP_DIR)); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); + }); + + afterAll(async () => { + try { + await uninstall(NAMESPACE, packageName.name, false); + } catch { } + }); + + describe("fresh-install all", () => { + beforeAll(async () => { + await yarg.parse(`install . -x -n ${NAMESPACE}`); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); + }); + + it("should show installing message", () => { + expect(consoleLogSpy).toBeCalledWith(`Installing package ${packageName}`); + }); + + it("should create configmaps successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + + expect(persisted.response.statusCode).toEqual(200); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + + it("should create secrets successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("secrets/default.yaml"); + const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); + + expect(persisted.response.statusCode).toEqual(200); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.SECRET_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + + it("should create workflow templates successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("templates/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ); + + expect(persisted.response.statusCode).toEqual(200); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + + it("should create cronworkflows successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("cronworkflows/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ); + + expect(persisted.response.statusCode).toEqual(200); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + + it("should create pipelines successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("pipelines/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ); + + expect(persisted.response.statusCode).toEqual(200); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + }); + + describe("show info", () => { + it("should show information the package successfully", async () => { + setTimeout(async () => { + const consoleSpy = jest.spyOn(console, "log"); + + await yarg.parse(`info --no-color ${packageName.name}`); + + const configmap = await getResourceFromYaml("configmaps/default.yaml"); + const secret = await getResourceFromYaml("secrets/default.yaml"); + const workflowTemplate = await getResourceFromYaml("templates/default.yaml"); + const cronWorkflow = await getResourceFromYaml("cronworkflows/default.yaml"); + const pipeline = await getResourceFromYaml("pipelines/default.yaml"); + + let info = `Package Info: +Name: ${packageName.name} +Version: ${packageVersion} +Parent Dependency: ${packageName.name}@${packageVersion} +Package Registry: https://packages.atlan.com + +Executable: true +Arguments: +- Parameters: + +Templates: +- ${workflowTemplate.spec?.entrypoint} + +Pipelines: +- ${pipeline.metadata?.name} + +Config Maps: +- ${configmap.metadata?.name} + +Secrets: +- ${secret.metadata?.name} + +Cron Workflows: +- Name: ${cronWorkflow.metadata?.name}, Schedule: * * * * *, Timezone: undefined +`; + + expect(consoleSpy).toBeCalledWith(info); + consoleSpy.mockRestore(); + }, 3000); + }); + }); + + describe("skip update all", () => { + beforeAll(async () => { + await yarg.parse(`install . -x -n ${NAMESPACE}`); + }); + + it("should patch configmaps successfully", async () => { + // Check existence of fresh-install objects first + setTimeout(async () => { + const object = await getResourceFromYaml("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }, 2000) + }); + + it("should patch secrets successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("secrets/default.yaml"); + const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }, 2000); + }); + + it("should patch workflow templates successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("templates/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }, 2000); + }); + + it("should patch cronworkflows successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("cronworkflows/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }, 2000); + }); + + it("should patch pipelines successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("pipelines/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` + ); + }, 2000); + }); + }); + + describe("patch all bump-version", () => { + + beforeAll(async () => { + shell.sed("-i", /0.0.1/g, NEW_VERSION_BUMP, `${TMP_DIR}/package.json`); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); + await yarg.parse(`install . -x -n ${NAMESPACE}`); + }); + + it("should replace configmaps to newer package version successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + + const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 3000); + }); + + it("should replace secrets to newer package version successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("secrets/default.yaml"); + const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + + const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + + it("should replace workflow to newer package version templates successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("templates/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + + it("should replace cronworkflows to newer package version successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("cronworkflows/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + + it("should replace pipelines to newer package version successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("pipelines/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, + object.metadata?.name || "", + ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + const resource = new Resource(persisted.body); + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be deleted and replaced with v${packageVersion}` + ); + }, 2000); + }); + }); + + describe("run", () => { + it("should run a worflow successfully", async () => { + setTimeout(async () => { + const consoleSpy = jest.spyOn(console, "log"); + + await yarg.parse(`run --no-color ${packageName.name}`); + + expect(consoleSpy).toBeCalledWith("Package run successful."); + consoleSpy.mockRestore(); + }, 2000); + }); + }) + + describe("install/uninstall dependencies", () => { + const packageToAdd = "giphy"; + + beforeAll(async () => { + await yarg.parse(`install ${packageToAdd} --save -x -n ${NAMESPACE}`); + await yarg.parse(`install . -x -n ${NAMESPACE}`); + }); + + it(`should install with ${packageToAdd} package as dependency successfully`, async () => { + setTimeout(async () => { + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_WORKFLOW_TEMPLATES_KIND, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + packageToAdd, + ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect(persisted.body.metadata).toHaveProperty("labels"); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageToAdd); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageName); + }, 2000); + }); + + it(`should show the ${packageToAdd} package in the list successfully`, async () => { + setTimeout(async () => { + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`list --no-color ${packageName.name}`); + const expected = `name version parent registry +------------------------------------------------------ +smtp 0.1.20 smtp@0.1.20 https://packages.atlan.com`; + + expect(consoleSpy).toBeCalledWith(expected); + }, 2000); + }); + + it(`should uninstall the ${packageToAdd} package successfully`, async () => { + setTimeout(async () => { + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`uninstall --no-color ${packageToAdd}`); + + expect(consoleSpy).toBeCalledWith(`Deleting dependent package ${packageToAdd}`); + expect(consoleSpy).toBeCalledWith(`Deleting config maps for package ${packageToAdd}`); + expect(consoleSpy).toBeCalledWith(`Deleting secrets for package ${packageToAdd}`); + expect(consoleSpy).toBeCalledWith(`Deleting templates for package ${packageToAdd}`); + expect(consoleSpy).toBeCalledWith(`Deleting cronworkflows for package ${packageToAdd}`); + expect(consoleSpy).toBeCalledWith(`Deleting pipelines for package ${packageToAdd}`); + expect(consoleSpy).toBeCalledWith(`Successfully deleted package ${packageToAdd}`); + + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_WORKFLOW_TEMPLATES_KIND, + // constants.ARGO_K8S_API_VERSION, + // NAMESPACE, + // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + // packageToAdd, + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(404); + }, 2000); + }); + }); + + describe("uninstall", () => { + it(`should uninstall successfully`, async () => { + setTimeout(async () => { + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`uninstall --no-color ${packageName.name}`); + + expect(consoleSpy).toBeCalledWith(`Deleting config maps for package ${packageName.name}`); + expect(consoleSpy).toBeCalledWith(`Deleting secrets for package ${packageName.name}`); + expect(consoleSpy).toBeCalledWith(`Deleting templates for package ${packageName.name}`); + expect(consoleSpy).toBeCalledWith(`Deleting cronworkflows for package ${packageName.name}`); + expect(consoleSpy).toBeCalledWith(`Deleting pipelines for package ${packageName.name}`); + expect(consoleSpy).toBeCalledWith(`Successfully deleted package ${packageName.name}`); + + // const persisted = await customK8sApi.getNamespacedCustomObject( + // constants.ARGO_WORKFLOW_TEMPLATES_KIND, + // constants.ARGO_K8S_API_VERSION, + // NAMESPACE, + // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, + // packageName.name, + // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + + // expect(persisted.response.statusCode).toEqual(404); + }, 2000); + }); + }); +}); diff --git a/tests/test-utils.ts b/tests/test-utils.ts deleted file mode 100644 index 344fc85..0000000 --- a/tests/test-utils.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { readFileSync } from "fs"; -import { userInfo } from "os"; - -export const MOCK_PACKAGE_PATH = `${__dirname}/fixtures/mock-package`; - -// TODO: use the username to ensure tests don't collide between different users of same cluster -export const USERNAME = userInfo().username; - -export const REGISTRY = "https://packages.atlan.com"; - -export const getPackageName = (path: string) => { - const packageJSONFilePath = `${path}/package.json`; - const packageObject = JSON.parse(readFileSync(packageJSONFilePath, "utf-8")); - return packageObject.name; -}; From 1e50dc92c4d73359b3fa57b3a12ecf1f6c00e6bd Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Mon, 10 Oct 2022 23:49:09 +0800 Subject: [PATCH 10/11] Add dryRun to install and uninstall deep K8s api implementations --- bin/install.mts | 44 ++- lib/index.mts | 5 +- lib/init.mts | 11 +- lib/install.mts | 38 ++- lib/k8s.mts | 251 +++++++++----- lib/models/package.mts | 130 +++++--- lib/s3.mts | 2 - lib/utils.mts | 4 + package-lock.json | 734 +++++++++++++++++++++++++++++++++++++++-- package.json | 6 +- tests/main.spec.mts | 65 +++- 11 files changed, 1082 insertions(+), 208 deletions(-) diff --git a/bin/install.mts b/bin/install.mts index 4a0cbe7..d3027f6 100755 --- a/bin/install.mts +++ b/bin/install.mts @@ -1,15 +1,17 @@ #!/usr/bin/env -S npx ts-node --esm -import { bright, cyan, dim, green, strip, yellow } from "ansicolor"; +import { bright, cyan, dim, green, yellow } from "ansicolor"; import asTable from "as-table"; import yargs from "yargs"; import { hideBin } from "yargs/helpers"; -import { initHelp, installHelp } from "../lib/help.mjs"; +// import yargsInteractive from "yargs-interactive"; +import { constants } from "../lib/constants.mjs"; +import { initHelp } from "../lib/help.mjs"; import { run, uninstall } from "../lib/index.mjs"; import { init } from "../lib/init.mjs"; import { install, installGlobal } from "../lib/install.mjs"; import { K8sInstallerOptionsType } from "../lib/k8s.mjs"; import { Package } from "../lib/models/package.mjs"; -import { constants } from "../lib/constants.mjs"; +import { applyColor } from "../lib/utils.mjs"; asTable.configure({ title: (x) => bright(x), @@ -19,9 +21,6 @@ asTable.configure({ const yarg = yargs(hideBin(process.argv)); - -const applyColor = (color: boolean, log: any) => color ? log : strip(log); - yarg .option("namespace", { alias: "n", @@ -61,8 +60,8 @@ yarg .option("dry-run", { alias: "d", type: "boolean", - description: "Perform an install dry-run and display to-be-installed K8s resources", - default: true, + description: "Perform an install dry-run and display to-be-installed Kubernetes resources", + default: false, }) .option("force", { alias: "f", @@ -127,7 +126,6 @@ yarg demandOption: false, }), handler: async (argv) => { - let packageName: string; const { global, namespace, @@ -136,6 +134,8 @@ yarg excludeDependencies, save, force, + dryRun, + color, cronString, timeZone, workflowTemplates, @@ -154,29 +154,31 @@ yarg }; if (global) { - packageName = await installGlobal( + await installGlobal( argv.package as string, // package is a JS reserved word registry, namespace, cluster, excludeDependencies, + dryRun, + color, options, installParts ); } else { - packageName = await install( + await install( argv.package as string, registry, namespace, save, cluster, excludeDependencies, + dryRun, + color, options, installParts ); } - - console.log(applyColor(argv.color, installHelp.replace(/NAME/g, packageName))); }, }) .command({ @@ -227,8 +229,14 @@ yarg command: "uninstall ", aliases: ["u", "r"], describe: "Uninstall a package. Uninstalls all dependencies associated with the package.", + builder: (yargs) => yargs.option("dry-run", { + alias: "d", + type: "boolean", + description: "Perform an uninstall dry-run and display to-be-uninstalled Kubernetes resources", + default: false, + }), handler: async (argv) => { - await uninstall(argv.namespace as string, argv.package as string, argv.cluster as boolean); + await uninstall(argv.namespace as string, argv.package as string, argv.cluster as boolean, argv.dryRun); console.log(applyColor(argv.color as boolean, green(`Successfully deleted package ${argv.package}`))); }, }) @@ -236,14 +244,14 @@ yarg command: "init [package_name]", describe: "Initializes an Argo package inside the current working directory", builder: (yargs) => - yargs.option("force", { - alias: "f", + yargs.option("create-namespace", { type: "boolean", - description: "Force the command", + description: "Create the specified namespace if it does not exist yet", default: false, }), handler: async (argv) => { - const packageName = await init(argv.force); + const { namespace, createNamespace, registry, cluster } = argv; + const packageName = await init(namespace as string, createNamespace, registry as string, cluster as boolean); console.log(applyColor(argv.color as boolean, initHelp.replace(/NAME/g, packageName))); }, }) diff --git a/lib/index.mts b/lib/index.mts index 553e1be..dc4b276 100644 --- a/lib/index.mts +++ b/lib/index.mts @@ -6,10 +6,11 @@ import { generateArguments } from "./utils.mjs"; * @param {string} namespace * @param {string} name * @param {string} cluster + * @param {boolean} dryRun */ -export async function uninstall(namespace: string, name: string, cluster: boolean) { +export async function uninstall(namespace: string, name: string, cluster: boolean, dryRun: boolean) { const argoPackage = await Package.info(namespace, name, cluster); - return argoPackage.delete(cluster, namespace); + return argoPackage.delete(cluster, namespace, dryRun ? "All" : undefined); } /** diff --git a/lib/init.mts b/lib/init.mts index 091cafe..5322c89 100644 --- a/lib/init.mts +++ b/lib/init.mts @@ -1,3 +1,4 @@ +import { existsSync, readFileSync, writeFileSync } from "fs"; import shell from "shelljs"; import { getDirName } from "./utils.mjs"; @@ -10,15 +11,16 @@ import { getDirName } from "./utils.mjs"; * 4. Change name to the folder name * @param {boolean} force */ -export const init = async (force: boolean) => { +export const init = async (namespace: string, createNamespace: boolean, registry: string, cluster: boolean) => { const dirPath = shell.pwd(); + const packageJsonPath = `${dirPath}/package.json`; const __dirname = getDirName(import.meta.url); const pathComponents = dirPath.split("/"); const packageName = pathComponents[pathComponents.length - 1]; console.log(`Installing from the current directory (${dirPath}) with the package name "${packageName}"...`); - if (!force && shell.test("-e", "package.json")) { + if (existsSync(packageJsonPath)) { throw new Error(`Files already present in the ${dirPath}. Run this command again with --force to ignore`); } @@ -26,5 +28,10 @@ export const init = async (force: boolean) => { shell.cp("-R", `${skeletonPackagePath}/*`, dirPath); shell.sed("-i", /NAME/g, packageName, `${dirPath}/*.*`); + const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8")); + packageJson.argopm = { namespace, createNamespace, registry, cluster }; + + writeFileSync(packageJsonPath, packageJson); + return packageName; }; diff --git a/lib/install.mts b/lib/install.mts index 52bade2..a40f651 100644 --- a/lib/install.mts +++ b/lib/install.mts @@ -1,6 +1,6 @@ -import { K8sInstaller, K8sInstallerOptionsType } from "./k8s.mjs"; +import { appendDryRunTag, K8sInstaller, K8sInstallerOptionsType } from "./k8s.mjs"; import { S3 } from "./s3.mjs"; -import { listDirs, deleteDir } from "./utils.mjs"; +import { listDirs, deleteDir, applyColor } from "./utils.mjs"; import { readFileSync, existsSync } from "fs"; import { DashboardInstaller } from "./dashboard.mjs"; import { constants } from "./constants.mjs"; @@ -10,6 +10,7 @@ import shell from "shelljs"; import npa from "npm-package-arg"; import process from "process"; import { red, yellow } from "ansicolor"; +import { installHelp } from "./help.mjs"; /** * Downloads the given package @@ -44,6 +45,8 @@ export const installGlobal = async function ( namespace: string, cluster: boolean, excludeDependencies: boolean, + dryRun: boolean, + color: boolean, options: K8sInstallerOptionsType, installParts: { [k: string]: string[] } ) { @@ -56,6 +59,8 @@ export const installGlobal = async function ( false, cluster, excludeDependencies, + dryRun, + color, options, installParts, dirPath @@ -92,6 +97,8 @@ export const install = async function ( save: boolean, cluster: boolean, excludeDependencies: boolean, + dryRun: boolean, + color: boolean, options: K8sInstallerOptionsType, installParts: { [k: string]: string[] }, dirPath: string = process.cwd() @@ -108,15 +115,16 @@ export const install = async function ( ); // Install Template on Argo - const k8sInstaller = new K8sInstaller(_dirPath, namespace, parentPackageName, registry, options); + const k8sInstaller = new K8sInstaller(_dirPath, namespace, parentPackageName, registry, dryRun, installParts, options); // Install Dashboards const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, _dirPath); - await k8sInstaller.install(cluster, installParts); + const k8sInstalled = await k8sInstaller.install(cluster,); await dashboardInstaller.install(); await s3Uploader.initialize(); - return await s3Uploader.uploadStaticFiles(_dirPath); + await s3Uploader.uploadStaticFiles(_dirPath); + return k8sInstalled; }; const packageJSONFilePath = `${dirPath}/package.json`; @@ -130,6 +138,7 @@ export const install = async function ( npmInstall(dirPath, packageName, registry, save); let dirs: string[] = []; + let toInstall = []; if (existsSync(nodeModulesPath)) { if (packageName !== ".") { @@ -150,22 +159,29 @@ export const install = async function ( dirs = dirs.filter((dir) => dir !== undefined); } - dirs.forEach(async (dir) => { + for (const dir of dirs) { if (dir && dir?.split("/").slice(-1)[0].startsWith("@")) { const innerDirs = await listDirs(dir); innerDirs.forEach(async (innerDir) => { - await processInstallers(innerDir); + toInstall.push(processInstallers(innerDir)); }); } else { - await processInstallers(dir); + toInstall.push(processInstallers(dir)); } - }); + } if (packageName === ".") { parentPackageName = packageNameFromPath(`${dirPath}`); - await processInstallers(dirPath); + toInstall.push(processInstallers(dirPath)); } + const k8sInstalled = await Promise.all(toInstall).then(results => results.reduce((prev, curr) => prev + curr)); + const parsedPackage = npa(parentPackageName); - return parsedPackage.name; + + appendDryRunTag(dryRun, `Installed ${k8sInstalled} Kubernetes resources.`); + + if (k8sInstalled && !dryRun) { + console.log(applyColor(color, installHelp.replace(/NAME/g, parsedPackage.name))); + } }; diff --git a/lib/k8s.mts b/lib/k8s.mts index 84b4e3b..26a9f1b 100644 --- a/lib/k8s.mts +++ b/lib/k8s.mts @@ -1,6 +1,5 @@ import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1ObjectMeta, V1Secret } from "@kubernetes/client-node"; -import { existsSync, readFileSync } from "node:fs"; -import { readdir, readFile } from "node:fs/promises"; +import { existsSync, readdirSync, readFileSync } from "node:fs"; import { IncomingMessage } from "node:http"; import { constants } from "./constants.mjs"; import { PackageInfo, PackageObjectType } from "./models/info.mjs"; @@ -44,6 +43,13 @@ export function getResourceByName(resources: GenericK8sSpecType[], name: string) return null; } +export const appendDryRunTag = (dryRun, message) => { + if (dryRun) { + message += " (dry-run)"; + } + console.debug(message); +}; + /** * CHeck existing Resource object. * @param {Resource} resource @@ -58,7 +64,8 @@ function checkExistingResource( name: string, kind: string, newVersion: string, - forceUpdate: boolean + forceUpdate: boolean, + dryRun?: string, ): { shouldUpdate: boolean; msgPrefix: string } { const needsUpdate = resource.needsUpdate(newVersion); @@ -67,9 +74,9 @@ function checkExistingResource( if (!shouldUpdate) { if (resource.isNewer(newVersion)) { - console.debug(`${msgPrefix} v${resource.version} installed is newer than v${newVersion}. Skipping update.`); + appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} installed is newer than v${newVersion}. Skipping update.`); } else { - console.debug(`${msgPrefix} v${resource.version} is already latest version. Skipping update.`); + appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} is already latest version. Skipping update.`); } } @@ -82,6 +89,8 @@ export class K8sInstaller { forceUpdate: boolean; parentPackage: string; registry: string; + dryRun: boolean; + installParts: any; package: PackageObjectType; cronString: string; timeZone: string; @@ -93,6 +102,7 @@ export class K8sInstaller { * @param {string} namespace Namespace to install the package in * @param {string} parentPackage Parent package of the format @ * @param {string} registry Package registry + * @param {boolean} dryRun Run K8s API functions as dry-run * @param {K8sInstallerOptionsType} options */ constructor( @@ -100,6 +110,8 @@ export class K8sInstaller { namespace: string, parentPackage: string, registry: string, + dryRun: boolean, + installParts: any, options: K8sInstallerOptionsType ) { this.packagePath = packagePath; @@ -107,6 +119,8 @@ export class K8sInstaller { this.forceUpdate = options.force; this.parentPackage = parentPackage; this.registry = registry; + this.dryRun = dryRun; + this.installParts = installParts; this.package = JSON.parse(readFileSync(`${this.packagePath}/package.json`, "utf-8")); this.cronString = options.cronString; this.timeZone = options.timeZone; @@ -116,13 +130,43 @@ export class K8sInstaller { * Installs the given package to Argo K8s deployment * @param {boolean} cluster */ - async install(cluster: boolean, installParts: { [k: string]: string[] }) { - console.log(`Installing package ${this.package.name}@${this.package.version}`); - await this.installConfigmaps(installParts[constants.CONFIGMAP_KIND]); - await this.installSecrets(installParts[constants.SECRET_KIND]); - await this.installPipelines(installParts[constants.ARGO_DATAFLOW_KIND]); - await this.installTemplates(cluster, installParts[constants.ARGO_WORKFLOW_TEMPLATES_KIND]); - await this.installCronWorkflows(cluster, installParts[constants.ARGO_CRON_WORKFLOW_KIND]); + async install(cluster: boolean) { + appendDryRunTag(this.dryRun, `Installing package ${this.package.name}@${this.package.version}`); + + /** + * This condition is needed because: + * - when the entire installParts object is empty, it means install all + * - otherwise, install only the K8s resources specified in each specific kind, + * so "undefined" and empty list are not similar truthy conditions at this point + */ + let toInstall = []; + if (Object.keys(this.installParts).filter(k => this.installParts[k] !== undefined).length > 0) { + if (this.installParts[constants.CONFIGMAP_KIND]) { + toInstall.push(this.installConfigmaps(this.installParts[constants.CONFIGMAP_KIND])); + } + if (this.installParts[constants.SECRET_KIND]) { + toInstall.push(this.installSecrets(this.installParts[constants.SECRET_KIND])); + } + if (this.installParts[constants.ARGO_DATAFLOW_KIND]) { + toInstall.push(this.installPipelines(this.installParts[constants.ARGO_DATAFLOW_KIND])); + } + if (this.installParts[constants.ARGO_WORKFLOW_TEMPLATES_KIND]) { + toInstall.push(this.installTemplates(cluster, this.installParts[constants.ARGO_WORKFLOW_TEMPLATES_KIND])); + } + if (this.installParts[constants.ARGO_CRON_WORKFLOW_KIND]) { + toInstall.push(this.installCronWorkflows(cluster, this.installParts[constants.ARGO_CRON_WORKFLOW_KIND])); + } + } else { + toInstall = [ + this.installConfigmaps(), + this.installSecrets(), + this.installPipelines(), + this.installTemplates(cluster), + this.installCronWorkflows(cluster), + ]; + } + + return await Promise.all(toInstall).then(results => results.reduce((prev, curr) => prev + curr)); } /** @@ -212,7 +256,7 @@ export class K8sInstaller { * @param {string} group * @param {any} fn */ - async installYamlInPath( + async installYamlInPath( dirPath: string, cluster: boolean, kind: string, @@ -225,19 +269,22 @@ export class K8sInstaller { group: string, yamlObject: GenericK8sSpecType, cluster: boolean, - forceUpdate: boolean + forceUpdate: boolean, + dryRun?: string, ) => void ) { + let installed: number; if (existsSync(dirPath)) { - const files = (await readdir(dirPath)).filter( + const files = (readdirSync(dirPath)).filter( (file: string) => file.endsWith(".yaml") || file.endsWith(".yml") ); + const toInstall = []; for (const file of files) { const filePath = `${dirPath}${file}`; - const data = await readFile(filePath, "utf8"); + const data = readFileSync(filePath, "utf8"); const yamlData = loadYaml(data); - if (yamlData) { + if (yamlData && (names === undefined || names?.includes(yamlData.metadata?.name))) { const fileName = file.substring(0, file.lastIndexOf(".")); const folder = dirPath .split("/") @@ -245,10 +292,12 @@ export class K8sInstaller { .pop(); const apmYAML = this.addAPMLabels(yamlData, folder, fileName); - fn(this.package.name, this.namespace, kind, group, apmYAML, cluster, this.forceUpdate); + toInstall.push(fn(this.package.name, this.namespace, kind, group, apmYAML, cluster, this.forceUpdate, this.dryRun ? "All" : undefined)); } } + installed = await Promise.all(toInstall).then(results => results.length); } + return installed; } /** @@ -307,7 +356,8 @@ export class K8sInstaller { group: string, yamlObject: GenericK8sSpecType, cluster: boolean, - forceUpdate: boolean + forceUpdate: boolean, + dryRun?: string, ) { const response = await coreK8sApi.listNamespacedConfigMap( namespace, @@ -324,29 +374,26 @@ export class K8sInstaller { const isPresent = Boolean(resource); if (isPresent) { - const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate); - - if (!shouldUpdate) { - return; + const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate, dryRun); + if (shouldUpdate) { + appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`) + return await coreK8sApi.patchNamespacedConfigMap( + name, + namespace, + yamlObject, + undefined, + dryRun, + undefined, + undefined, + undefined, + { + headers: { "content-type": "application/strategic-merge-patch+json" }, + } + ); } - - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return await coreK8sApi.patchNamespacedConfigMap( - name, - namespace, - yamlObject, - undefined, - undefined, - undefined, - undefined, - undefined, - { - headers: { "content-type": "application/strategic-merge-patch+json" }, - } - ); } else { - console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); - return await coreK8sApi.createNamespacedConfigMap(namespace, yamlObject); + appendDryRunTag(dryRun, `${name} ${kind} not present in the cluster. Installing v${newVersion}`); + return await coreK8sApi.createNamespacedConfigMap(namespace, yamlObject, undefined, dryRun); } } @@ -368,7 +415,8 @@ export class K8sInstaller { group: string, yamlObject: GenericK8sSpecType, cluster: boolean, - forceUpdate: boolean + forceUpdate: boolean, + dryRun?: string, ) { const response = await coreK8sApi.listNamespacedSecret( namespace, @@ -385,29 +433,26 @@ export class K8sInstaller { const isPresent = Boolean(resource); if (isPresent) { - const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate); - - if (!shouldUpdate) { - return; + const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate, dryRun); + if (shouldUpdate) { + appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); + return await coreK8sApi.patchNamespacedSecret( + name, + namespace, + yamlObject, + undefined, + dryRun, + undefined, + undefined, + undefined, + { + headers: { "content-type": "application/strategic-merge-patch+json" }, + } + ); } - - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return await coreK8sApi.patchNamespacedSecret( - name, - namespace, - yamlObject, - undefined, - undefined, - undefined, - undefined, - undefined, - { - headers: { "content-type": "application/strategic-merge-patch+json" }, - } - ); } else { - console.debug(`${name} ${kind} not present in the cluster. Installing v${newVersion}`); - return await coreK8sApi.createNamespacedSecret(namespace, yamlObject); + appendDryRunTag(dryRun, `${name} ${kind} not present in the cluster. Installing v${newVersion}`); + return await coreK8sApi.createNamespacedSecret(namespace, yamlObject, undefined, dryRun); } } @@ -420,6 +465,7 @@ export class K8sInstaller { * @param {object} yamlObject * @param {boolean} cluster * @param {boolean} forceUpdate + * @param {string} dryRun */ static async upsertTemplate( packageName: string, @@ -428,7 +474,8 @@ export class K8sInstaller { group: string, yamlObject: GenericK8sSpecType, cluster: boolean, - forceUpdate: boolean + forceUpdate: boolean, + dryRun?: string, ) { const plural = `${kind.toLowerCase()}s`; let response: K8sApiResponse; @@ -460,9 +507,11 @@ export class K8sInstaller { // Override the workflowTemplateRef clusterScope variable if (kind == constants.ARGO_CRON_WORKFLOW_KIND) { - yamlObject["spec"]["workflowSpec"]["workflowTemplateRef"]["clusterScope"] = true; - // cron workflows have no concept of clusterInstall - cluster = false; + if (yamlObject["spec"]["workflowSpec"]["workflowTemplateRef"]) { + yamlObject["spec"]["workflowSpec"]["workflowTemplateRef"]["clusterScope"] = true; + // cron workflows have no concept of clusterInstall + cluster = false; + } } else { const templates = yamlObject["spec"]["templates"]; if (templates) { @@ -486,7 +535,8 @@ export class K8sInstaller { yamlObject, cluster, group, - forceUpdate + forceUpdate, + dryRun ); } @@ -501,14 +551,15 @@ export class K8sInstaller { * @param {boolean} forceUpdate * @returns */ - static async handleUpsertWithTemplateResponse( + static handleUpsertWithTemplateResponse( response: K8sApiResponse, namespace: string, plural: string, yamlObject: GenericK8sSpecType, cluster: boolean, apiGroup: string, - forceUpdate: boolean + forceUpdate: boolean, + dryRun?: string, ) { const name = yamlObject.metadata.name; const items = response.body.items; @@ -521,28 +572,30 @@ export class K8sInstaller { name, yamlObject.kind, newVersion, - forceUpdate + forceUpdate, + dryRun ); if (shouldUpdate) { if (resource.updateStrategyIsRecreate()) { - console.debug(`${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}`); - return await K8sInstaller.recreateCustomResource( + appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}`); + return K8sInstaller.recreateCustomResource( name, namespace, plural, yamlObject, cluster, - apiGroup + apiGroup, + dryRun ); } else { - console.debug(`${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return await K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup); + appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); + return K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup, dryRun); } } } else { - console.debug(`${name} ${yamlObject.kind} not present in the cluster. Installing v${newVersion}`); - return await K8sInstaller.createCustomResource(namespace, plural, yamlObject, cluster, apiGroup); + appendDryRunTag(dryRun, `${name} ${yamlObject.kind} not present in the cluster. Installing v${newVersion}`); + return K8sInstaller.createCustomResource(namespace, plural, yamlObject, cluster, apiGroup, dryRun); } } @@ -553,6 +606,7 @@ export class K8sInstaller { * @param {Object} yamlObject * @param {boolean} cluster * @param {string} apiGroup + * @param {string} dryRun * @returns */ static async createCustomResource( @@ -560,14 +614,17 @@ export class K8sInstaller { plural: string, yamlObject: GenericK8sSpecType, cluster: boolean, - apiGroup: string + apiGroup: string, + dryRun?: string, ) { if (cluster) { return await customK8sApi.createClusterCustomObject( apiGroup, constants.ARGO_K8S_API_VERSION, plural, - yamlObject + yamlObject, + undefined, + dryRun, ); } else { return await customK8sApi.createNamespacedCustomObject( @@ -575,7 +632,9 @@ export class K8sInstaller { constants.ARGO_K8S_API_VERSION, namespace, plural, - yamlObject + yamlObject, + undefined, + dryRun, ); } } @@ -588,6 +647,7 @@ export class K8sInstaller { * @param {Object} yamlObject * @param {boolean} cluster * @param {string} apiGroup + * @param {string} dryRun * @returns */ static async patchCustomResource( @@ -596,7 +656,8 @@ export class K8sInstaller { plural: string, yamlObject: GenericK8sSpecType, cluster: boolean, - apiGroup: string + apiGroup: string, + dryRun?: string, ) { if (cluster) { return await customK8sApi.patchClusterCustomObject( @@ -605,7 +666,7 @@ export class K8sInstaller { plural, name, yamlObject, - undefined, + dryRun, undefined, undefined, { headers: { "content-type": "application/merge-patch+json" } } @@ -618,7 +679,7 @@ export class K8sInstaller { plural, name, yamlObject, - undefined, + dryRun, undefined, undefined, { headers: { "content-type": "application/merge-patch+json" } } @@ -634,6 +695,7 @@ export class K8sInstaller { * @param {Object} yamlObject * @param {boolean} cluster * @param {string} apiGroup + * @param {string} dryRun * @returns {Promise} k8s response */ static async recreateCustomResource( @@ -642,20 +704,27 @@ export class K8sInstaller { plural: string, yamlObject: object, cluster: boolean, - apiGroup: string + apiGroup: string, + dryRun?: string, ): Promise { if (cluster) { await customK8sApi.deleteClusterCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, plural, - name + name, + undefined, + undefined, + undefined, + dryRun ); return await customK8sApi.createClusterCustomObject( apiGroup, constants.ARGO_K8S_API_VERSION, plural, - yamlObject + yamlObject, + undefined, + dryRun, ); } else { await customK8sApi.deleteNamespacedCustomObject( @@ -663,14 +732,20 @@ export class K8sInstaller { constants.ARGO_K8S_API_VERSION, namespace, plural, - name + name, + undefined, + undefined, + undefined, + dryRun ); return await customK8sApi.createNamespacedCustomObject( apiGroup, constants.ARGO_K8S_API_VERSION, namespace, plural, - yamlObject + yamlObject, + undefined, + dryRun ); } } diff --git a/lib/models/package.mts b/lib/models/package.mts index 199bff1..05669de 100644 --- a/lib/models/package.mts +++ b/lib/models/package.mts @@ -2,7 +2,7 @@ import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secre import { blue, bright, lightCyan, red, yellow } from "ansicolor"; import { readFile } from "node:fs/promises"; import { constants } from "../constants.mjs"; -import { K8sApiResponse as K8sApiListResponse } from "../k8s.mjs"; +import { appendDryRunTag, K8sApiResponse as K8sApiListResponse } from "../k8s.mjs"; import { getDirName } from "../utils.mjs"; import { Arguments } from "./argument.mjs"; import { PackageInfo } from "./info.mjs"; @@ -122,46 +122,17 @@ export class Package { * 3. Delete the config maps * @returns */ - async delete(cluster: boolean, namespace: string) { + async delete(cluster: boolean, namespace: string, dryRun?: string) { for (const dependencyPackage of await this.dependencies(cluster)) { - console.log(`Deleting dependent package ${dependencyPackage.info.name}`); - await dependencyPackage.delete(cluster, namespace); + appendDryRunTag(dryRun, `Deleting dependent package ${dependencyPackage.info.name}`); + await dependencyPackage.delete(cluster, namespace, dryRun); } - console.log(`Deleting config maps for package ${this.metadata.name}`); - await this.deleteConfigMaps(namespace); - - console.log(`Deleting secrets for package ${this.metadata.name}`); - await this.deleteSecrets(namespace); - - console.log(`Deleting pipelines for package ${this.metadata.name}`); - await this.deletePipelines(namespace); - - console.log(`Deleting cronworkflows for package ${this.metadata.name}`); - await this.deleteCronWorkflows(namespace); - - console.log(`Deleting templates for package ${this.metadata.name}`); - let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; - let plural = `${kind.toLowerCase()}s`; - - if (cluster) { - kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; - plural = `${kind.toLowerCase()}s`; - await customK8sApi.deleteClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - this.metadata.name - ); - } else { - await customK8sApi.deleteNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - this.metadata.namespace, - plural, - this.metadata.name - ); - } + await this.deleteConfigMaps(namespace, dryRun); + await this.deleteSecrets(namespace, dryRun); + await this.deletePipelines(namespace, dryRun); + await this.deleteCronWorkflows(namespace, dryRun); + await this.deleteWorkflowTemplates(namespace, cluster, dryRun); } /** @@ -238,12 +209,14 @@ export class Package { * Deletes all configmaps associated with the package * @returns */ - async deleteConfigMaps(namespace: any) { + async deleteConfigMaps(namespace: any, dryRun?: string) { + appendDryRunTag(dryRun, `Deleting configmaps for package ${this.metadata.name}`); + const configMaps = await this.configMaps(namespace); for (const configMap of configMaps) { const metadata = configMap.metadata; if (metadata?.name && metadata.namespace) { - await coreK8sApi.deleteNamespacedConfigMap(metadata.name, metadata.namespace); + await coreK8sApi.deleteNamespacedConfigMap(metadata.name, metadata.namespace, undefined, dryRun); } else { console.error(`Cannot proceed with ${metadata}.`); } @@ -270,12 +243,14 @@ export class Package { * Deletes all secrets associated with the package * @returns */ - async deleteSecrets(namespace: any) { + async deleteSecrets(namespace: any, dryRun?: string) { + appendDryRunTag(dryRun, `Deleting secrets for package ${this.metadata.name}`); + const secrets = await this.secrets(namespace); for (const secret of secrets) { const metadata = secret.metadata; if (metadata?.name && metadata.namespace) { - await coreK8sApi.deleteNamespacedSecret(metadata.name, metadata.namespace); + await coreK8sApi.deleteNamespacedSecret(metadata.name, metadata.namespace, undefined, dryRun); } return; } @@ -305,7 +280,9 @@ export class Package { * Deletes all pipelines associated with the package * @returns */ - async deletePipelines(namespace: any) { + async deletePipelines(namespace: any, dryRun?: string) { + appendDryRunTag(dryRun, `Deleting pipelines for package ${this.metadata.name}`); + const plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; for (const pipeline of await this.pipelines(namespace)) { const metadata = pipeline.metadata; @@ -314,7 +291,11 @@ export class Package { constants.ARGO_K8S_API_VERSION, metadata.namespace, plural, - metadata.name + metadata.name, + undefined, + undefined, + undefined, + dryRun, ); } } @@ -343,7 +324,9 @@ export class Package { * Deletes cronworkflows associated with the package * @returns */ - async deleteCronWorkflows(namespace: any) { + async deleteCronWorkflows(namespace: any, dryRun?: string) { + appendDryRunTag(dryRun, `Deleting cronworkflows for package ${this.metadata.name}`); + const plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; for (const cronWorkflow of await this.cronWorkflows(namespace)) { const metadata = cronWorkflow.metadata; @@ -352,7 +335,62 @@ export class Package { constants.ARGO_K8S_API_VERSION, metadata.namespace, plural, - metadata.name + metadata.name, + undefined, + undefined, + dryRun, + ); + } + } + + /** + * Returns all cron workflows associated with the package + * @returns + */ + async workflowTemplates(namespace: string, cluster: boolean) { + const plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + const response = await customK8sApi.listNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + namespace, + plural, + undefined, + undefined, + undefined, + undefined, + this.info.getPackageLabel() + ); + return response.body["items"]; + } + + /** + * Deletes workflow templates associated with the package + * @returns + */ + async deleteWorkflowTemplates(namespace: any, cluster: boolean, dryRun?: string) { + appendDryRunTag(dryRun, `Deleting templates for package ${this.metadata.name}`); + + let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + if (cluster) { + await customK8sApi.deleteClusterCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + plural, + this.metadata.name, + undefined, + undefined, + dryRun, + ); + } else { + await customK8sApi.deleteNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + this.metadata.namespace, + plural, + this.metadata.name, + undefined, + undefined, + dryRun, ); } } diff --git a/lib/s3.mts b/lib/s3.mts index 23d566b..04b7b04 100644 --- a/lib/s3.mts +++ b/lib/s3.mts @@ -100,8 +100,6 @@ export class S3 { let dirs = await walk(`${dirPath}/static`); dirs = dirs.filter((dir) => !dir.endsWith(".md")); await Promise.all(dirs.map((dir) => this.uploadFile(dir))); - } else { - console.log(yellow(`No "static" dir under ${dirPath}.`)); } } } diff --git a/lib/utils.mts b/lib/utils.mts index 47066c0..0a7689a 100644 --- a/lib/utils.mts +++ b/lib/utils.mts @@ -9,6 +9,7 @@ import { fileURLToPath } from "url"; import { loadYaml } from "@kubernetes/client-node"; import { readFileSync } from "fs"; import { readFile } from "fs/promises"; +import { strip } from "ansicolor"; const rimrafPromise = promisify(rimraf); @@ -97,3 +98,6 @@ export function generateArguments() { export const getResourceFromYaml = async (path: string) => { return loadYaml((await readFile(path)).toString()); }; + + +export const applyColor = (color: boolean, log: any) => color ? log : strip(log); diff --git a/package-lock.json b/package-lock.json index 734be1a..37b350b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,8 @@ "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", "shelljs": "^0.8.5", - "yargs": "^17.5.1" + "yargs": "^17.5.1", + "yargs-interactive": "^3.0.1" }, "bin": { "argopm": "dist/install.mjs" @@ -32,6 +33,7 @@ "@types/shelljs": "^0.8.11", "@types/ws": "^8.5.3", "@types/yargs": "^17.0.13", + "@types/yargs-interactive": "^2.1.3", "@typescript-eslint/eslint-plugin": "^5.38.1", "@typescript-eslint/parser": "^5.38.1", "esbuild": "^0.15.9", @@ -2693,6 +2695,15 @@ "@types/yargs-parser": "*" } }, + "node_modules/@types/yargs-interactive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/yargs-interactive/-/yargs-interactive-2.1.3.tgz", + "integrity": "sha512-bYB8ah0JPR6/lpHlxUzeHsrb3RK5OW7N8Hnth2nefnr6zQ5KFoDQ6wM5x58dTLEDYrwikFy3EPTf/O0HKLNaIg==", + "dev": true, + "dependencies": { + "@types/yargs": "*" + } + }, "node_modules/@types/yargs-parser": { "version": "21.0.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", @@ -2945,7 +2956,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -2960,7 +2970,6 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, "engines": { "node": ">=10" }, @@ -3302,7 +3311,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, "engines": { "node": ">=6" } @@ -3332,7 +3340,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3353,6 +3360,11 @@ "node": ">=10" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -3386,7 +3398,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -3410,6 +3421,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -3594,6 +3613,14 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -4420,6 +4447,30 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -4502,6 +4553,28 @@ "bser": "2.1.1" } }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -4795,7 +4868,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -4839,6 +4911,17 @@ "node": ">=10.17.0" } }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -4915,6 +4998,71 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -6060,6 +6208,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6308,6 +6461,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6466,6 +6624,14 @@ "node": ">= 0.4.0" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -6515,7 +6681,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, "engines": { "node": ">=6" } @@ -7003,6 +7168,11 @@ "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -7062,7 +7232,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -7106,6 +7275,14 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -7173,6 +7350,11 @@ "node": ">=10" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7480,7 +7662,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7567,8 +7748,7 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "node_modules/tmp": { "version": "0.2.1", @@ -7933,6 +8113,11 @@ "node": ">= 8" } }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" + }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -8061,6 +8246,199 @@ "node": ">=12" } }, + "node_modules/yargs-interactive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yargs-interactive/-/yargs-interactive-3.0.1.tgz", + "integrity": "sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw==", + "dependencies": { + "inquirer": "^7.0.0", + "yargs": "^14.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs-interactive/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/yargs-interactive/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/yargs-interactive/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/yargs-interactive/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/yargs-interactive/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs-interactive/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-interactive/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs-interactive/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-interactive/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/yargs-interactive/node_modules/yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/yargs-interactive/node_modules/yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", @@ -10284,6 +10662,15 @@ "@types/yargs-parser": "*" } }, + "@types/yargs-interactive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/yargs-interactive/-/yargs-interactive-2.1.3.tgz", + "integrity": "sha512-bYB8ah0JPR6/lpHlxUzeHsrb3RK5OW7N8Hnth2nefnr6zQ5KFoDQ6wM5x58dTLEDYrwikFy3EPTf/O0HKLNaIg==", + "dev": true, + "requires": { + "@types/yargs": "*" + } + }, "@types/yargs-parser": { "version": "21.0.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", @@ -10429,7 +10816,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "requires": { "type-fest": "^0.21.3" }, @@ -10437,8 +10823,7 @@ "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" } } }, @@ -10702,8 +11087,7 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "caniuse-lite": { "version": "1.0.30001418", @@ -10720,7 +11104,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10732,6 +11115,11 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -10759,7 +11147,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -10774,6 +11161,11 @@ "string-width": "^5.0.0" } }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -10921,6 +11313,11 @@ "ms": "2.1.2" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -11430,6 +11827,26 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -11498,6 +11915,21 @@ "bser": "2.1.1" } }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -11699,8 +12131,7 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "hosted-git-info": { "version": "5.1.0", @@ -11731,6 +12162,14 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -11783,6 +12222,61 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -12633,6 +13127,11 @@ "p-locate": "^5.0.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -12822,6 +13321,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -12943,6 +13447,11 @@ "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -12973,8 +13482,7 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "parent-module": { "version": "1.0.1", @@ -13333,6 +13841,11 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -13376,7 +13889,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -13407,6 +13919,11 @@ "glob": "^7.1.3" } }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -13453,6 +13970,11 @@ } } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -13673,7 +14195,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -13736,8 +14257,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "tmp": { "version": "0.2.1", @@ -13983,6 +14503,11 @@ "isexe": "^2.0.0" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -14094,6 +14619,161 @@ } } }, + "yargs-interactive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yargs-interactive/-/yargs-interactive-3.0.1.tgz", + "integrity": "sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw==", + "requires": { + "inquirer": "^7.0.0", + "yargs": "^14.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", diff --git a/package.json b/package.json index ffda843..97b8097 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "npm-package-arg": "^9.1.0", "rimraf": "^3.0.2", "shelljs": "^0.8.5", - "yargs": "^17.5.1" + "yargs": "^17.5.1", + "yargs-interactive": "^3.0.1" }, "devDependencies": { "@types/jest": "^29.0.3", @@ -35,6 +36,7 @@ "@types/shelljs": "^0.8.11", "@types/ws": "^8.5.3", "@types/yargs": "^17.0.13", + "@types/yargs-interactive": "^2.1.3", "@typescript-eslint/eslint-plugin": "^5.38.1", "@typescript-eslint/parser": "^5.38.1", "esbuild": "^0.15.9", @@ -76,7 +78,7 @@ } ] }, - "testTimeout": 20000, + "testTimeout": 30000, "testMatch": [ "**/?(*.)+(spec|test).m[jt]s" ], diff --git a/tests/main.spec.mts b/tests/main.spec.mts index 9d410b6..f23b5b1 100755 --- a/tests/main.spec.mts +++ b/tests/main.spec.mts @@ -69,8 +69,10 @@ describe("argopm non-init", () => { afterAll(async () => { try { - await uninstall(NAMESPACE, packageName.name, false); - } catch { } + await uninstall(NAMESPACE, packageName.name, false, false); + } catch (err) { + console.log(err); + } }); describe("fresh-install all", () => { @@ -418,6 +420,49 @@ Cron Workflows: }); }); + describe("install specific resource/s", () => { + + it("should install configmaps only successfully", async () => { + const newName = "argopm-mock-package-delete-me-configmap-2"; + const newPath = "configmaps/another-custom-cm.yaml"; + shell.cp("-R", `${MOCK_PACKAGE_DIR}/configmaps/default.yaml`, `${TMP_DIR}/${newPath}`); + shell.sed("-i", /argopm-mock-package-delete-me-configmap/g, newName, `${TMP_DIR}/${newPath}`); + + await yarg.parse(`install . -x -n ${NAMESPACE} --cm ${newName}`); + + setTimeout(async () => { + const object = await getResourceFromYaml(newPath); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000) + }); + + it("should install cluster workflow templates only successfully", async () => { + const newName = "argopm-mock-package-delete-me-cluter-template"; + const newPath = "configmaps/another-custom-template.yaml"; + shell.cp("-R", `${MOCK_PACKAGE_DIR}/templates/default.yaml`, `${TMP_DIR}/${newPath}`); + shell.sed("-i", /argopm-mock-package-delete-me-template/g, newName, `${TMP_DIR}/${newPath}`); + + await yarg.parse(`install . -x -n ${NAMESPACE} --cluster --cm ${newName}`); + + setTimeout(async () => { + const object = await getResourceFromYaml(newPath); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000) + }); + }); + describe("run", () => { it("should run a worflow successfully", async () => { setTimeout(async () => { @@ -481,15 +526,15 @@ smtp 0.1.20 smtp@0.1.20 https://packages.atlan.com`; expect(consoleSpy).toBeCalledWith(`Deleting pipelines for package ${packageToAdd}`); expect(consoleSpy).toBeCalledWith(`Successfully deleted package ${packageToAdd}`); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_WORKFLOW_TEMPLATES_KIND, - // constants.ARGO_K8S_API_VERSION, - // NAMESPACE, - // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - // packageToAdd, - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + packageToAdd, + ) as { response: IncomingMessage, body: GenericK8sSpecType }; - // expect(persisted.response.statusCode).toEqual(404); + expect(persisted.response.statusCode).toEqual(404); }, 2000); }); }); From fa571886e358d84d04e722f80924c6ce9a5d9e60 Mon Sep 17 00:00:00 2001 From: Aldwyn Cabarrubias Date: Tue, 11 Oct 2022 20:43:12 +0800 Subject: [PATCH 11/11] Add more test cases around part-install --- bin/install.mts | 25 +- lib/init.mts | 6 +- lib/install.mts | 42 +-- lib/k8s.mts | 139 ++++++---- lib/models/input.mts | 4 +- lib/models/package.mts | 331 ++++++++++------------ lib/s3.mts | 2 +- lib/utils.mts | 13 +- package-lock.json | 501 +++++++++++++++++---------------- tests/main.spec.mts | 613 ++++++++++++++++++++++++++++++++++------- 10 files changed, 1072 insertions(+), 604 deletions(-) diff --git a/bin/install.mts b/bin/install.mts index d3027f6..668bd64 100755 --- a/bin/install.mts +++ b/bin/install.mts @@ -229,12 +229,13 @@ yarg command: "uninstall ", aliases: ["u", "r"], describe: "Uninstall a package. Uninstalls all dependencies associated with the package.", - builder: (yargs) => yargs.option("dry-run", { - alias: "d", - type: "boolean", - description: "Perform an uninstall dry-run and display to-be-uninstalled Kubernetes resources", - default: false, - }), + builder: (yargs) => + yargs.option("dry-run", { + alias: "d", + type: "boolean", + description: "Perform an uninstall dry-run and display to-be-uninstalled Kubernetes resources", + default: false, + }), handler: async (argv) => { await uninstall(argv.namespace as string, argv.package as string, argv.cluster as boolean, argv.dryRun); console.log(applyColor(argv.color as boolean, green(`Successfully deleted package ${argv.package}`))); @@ -251,7 +252,12 @@ yarg }), handler: async (argv) => { const { namespace, createNamespace, registry, cluster } = argv; - const packageName = await init(namespace as string, createNamespace, registry as string, cluster as boolean); + const packageName = await init( + namespace as string, + createNamespace, + registry as string, + cluster as boolean + ); console.log(applyColor(argv.color as boolean, initHelp.replace(/NAME/g, packageName))); }, }) @@ -261,10 +267,11 @@ yarg describe: "List all the packages installed in the namespace", handler: async (argv) => { const argoPackages = await Package.list(argv.namespace as string, argv.cluster as boolean); - if (argoPackages.length === 0) { + if (argoPackages.length > 0) { + console.log(applyColor(argv.color as boolean, asTable(argoPackages))); + } else { console.log(applyColor(argv.color as boolean, yellow("No packages found"))); } - console.log(applyColor(argv.color as boolean, asTable(argoPackages.map((p) => p.info)))); }, }) // .demandCommand() diff --git a/lib/init.mts b/lib/init.mts index 5322c89..814bedd 100644 --- a/lib/init.mts +++ b/lib/init.mts @@ -1,3 +1,4 @@ +import { red } from "ansicolor"; import { existsSync, readFileSync, writeFileSync } from "fs"; import shell from "shelljs"; import { getDirName } from "./utils.mjs"; @@ -21,7 +22,8 @@ export const init = async (namespace: string, createNamespace: boolean, registry console.log(`Installing from the current directory (${dirPath}) with the package name "${packageName}"...`); if (existsSync(packageJsonPath)) { - throw new Error(`Files already present in the ${dirPath}. Run this command again with --force to ignore`); + console.error(red(`Files already present in the ${dirPath}. Run this command again with --force to ignore`)); + process.exit(1); } const skeletonPackagePath = `${__dirname}/static/package`; @@ -31,7 +33,7 @@ export const init = async (namespace: string, createNamespace: boolean, registry const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8")); packageJson.argopm = { namespace, createNamespace, registry, cluster }; - writeFileSync(packageJsonPath, packageJson); + writeFileSync(packageJsonPath, JSON.stringify(packageJson, undefined, 2)); return packageName; }; diff --git a/lib/install.mts b/lib/install.mts index a40f651..c82b6ba 100644 --- a/lib/install.mts +++ b/lib/install.mts @@ -107,31 +107,39 @@ export const install = async function ( const nodeModulesPath = `${dirPath}/node_modules`; const processInstallers = async (_dirPath: string) => { - // Upload Static Files - const s3Uploader = new S3( - constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, - constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, - npa(packageNameFromPath(_dirPath)) - ); - // Install Template on Argo - const k8sInstaller = new K8sInstaller(_dirPath, namespace, parentPackageName, registry, dryRun, installParts, options); + const k8sInstaller = new K8sInstaller( + _dirPath, + namespace, + parentPackageName, + registry, + dryRun, + installParts, + options + ); // Install Dashboards const dashboardInstaller = new DashboardInstaller(k8sInstaller.package, _dirPath); - const k8sInstalled = await k8sInstaller.install(cluster,); + const k8sInstalled = await k8sInstaller.install(cluster); await dashboardInstaller.install(); - await s3Uploader.initialize(); - await s3Uploader.uploadStaticFiles(_dirPath); + + if (existsSync(`${_dirPath}/static`)) { + // Upload Static Files + const s3Uploader = new S3( + constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, + constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, + npa(packageNameFromPath(_dirPath)) + ); + await s3Uploader.initialize(); + await s3Uploader.uploadStaticFiles(_dirPath); + } return k8sInstalled; }; const packageJSONFilePath = `${dirPath}/package.json`; if (packageName === "." && save && !existsSync(packageJSONFilePath)) { - console.error( - red(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`) - ); + console.error(red(`package.json is not present in the current dir ${dirPath}. Try with --no-save argument`)); process.exit(1); } @@ -175,11 +183,11 @@ export const install = async function ( toInstall.push(processInstallers(dirPath)); } - const k8sInstalled = await Promise.all(toInstall).then(results => results.reduce((prev, curr) => prev + curr)); - + const results = await Promise.all(toInstall); + const k8sInstalled = results.reduce((prev, curr) => prev + curr, 0); const parsedPackage = npa(parentPackageName); - appendDryRunTag(dryRun, `Installed ${k8sInstalled} Kubernetes resources.`); + appendDryRunTag(dryRun, `Installed ${k8sInstalled} Kubernetes resource${k8sInstalled !== 1 && 's'}.`); if (k8sInstalled && !dryRun) { console.log(applyColor(color, installHelp.replace(/NAME/g, parsedPackage.name))); diff --git a/lib/k8s.mts b/lib/k8s.mts index 26a9f1b..1e52487 100644 --- a/lib/k8s.mts +++ b/lib/k8s.mts @@ -1,8 +1,17 @@ -import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1ObjectMeta, V1Secret } from "@kubernetes/client-node"; +import { + CoreV1Api, + CustomObjectsApi, + KubeConfig, + loadYaml, + V1ConfigMap, + V1ObjectMeta, + V1Secret, +} from "@kubernetes/client-node"; import { existsSync, readdirSync, readFileSync } from "node:fs"; import { IncomingMessage } from "node:http"; import { constants } from "./constants.mjs"; -import { PackageInfo, PackageObjectType } from "./models/info.mjs"; +import { encode, PackageInfo, PackageObjectType } from "./models/info.mjs"; +import { Package } from "./models/package.mjs"; import { Resource } from "./models/resource.mjs"; const kc = new KubeConfig(); @@ -65,7 +74,7 @@ function checkExistingResource( kind: string, newVersion: string, forceUpdate: boolean, - dryRun?: string, + dryRun?: string ): { shouldUpdate: boolean; msgPrefix: string } { const needsUpdate = resource.needsUpdate(newVersion); @@ -74,7 +83,10 @@ function checkExistingResource( if (!shouldUpdate) { if (resource.isNewer(newVersion)) { - appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} installed is newer than v${newVersion}. Skipping update.`); + appendDryRunTag( + dryRun, + `${msgPrefix} v${resource.version} installed is newer than v${newVersion}. Skipping update.` + ); } else { appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} is already latest version. Skipping update.`); } @@ -140,7 +152,7 @@ export class K8sInstaller { * so "undefined" and empty list are not similar truthy conditions at this point */ let toInstall = []; - if (Object.keys(this.installParts).filter(k => this.installParts[k] !== undefined).length > 0) { + if (Object.keys(this.installParts).filter((k) => this.installParts[k] !== undefined).length > 0) { if (this.installParts[constants.CONFIGMAP_KIND]) { toInstall.push(this.installConfigmaps(this.installParts[constants.CONFIGMAP_KIND])); } @@ -151,10 +163,14 @@ export class K8sInstaller { toInstall.push(this.installPipelines(this.installParts[constants.ARGO_DATAFLOW_KIND])); } if (this.installParts[constants.ARGO_WORKFLOW_TEMPLATES_KIND]) { - toInstall.push(this.installTemplates(cluster, this.installParts[constants.ARGO_WORKFLOW_TEMPLATES_KIND])); + toInstall.push( + this.installTemplates(cluster, this.installParts[constants.ARGO_WORKFLOW_TEMPLATES_KIND]) + ); } if (this.installParts[constants.ARGO_CRON_WORKFLOW_KIND]) { - toInstall.push(this.installCronWorkflows(cluster, this.installParts[constants.ARGO_CRON_WORKFLOW_KIND])); + toInstall.push( + this.installCronWorkflows(cluster, this.installParts[constants.ARGO_CRON_WORKFLOW_KIND]) + ); } } else { toInstall = [ @@ -166,7 +182,7 @@ export class K8sInstaller { ]; } - return await Promise.all(toInstall).then(results => results.reduce((prev, curr) => prev + curr)); + return await Promise.all(toInstall).then((results) => results.reduce((prev, curr) => prev + curr, 0)); } /** @@ -270,12 +286,12 @@ export class K8sInstaller { yamlObject: GenericK8sSpecType, cluster: boolean, forceUpdate: boolean, - dryRun?: string, + dryRun?: string ) => void ) { let installed: number; if (existsSync(dirPath)) { - const files = (readdirSync(dirPath)).filter( + const files = readdirSync(dirPath).filter( (file: string) => file.endsWith(".yaml") || file.endsWith(".yml") ); const toInstall = []; @@ -292,10 +308,21 @@ export class K8sInstaller { .pop(); const apmYAML = this.addAPMLabels(yamlData, folder, fileName); - toInstall.push(fn(this.package.name, this.namespace, kind, group, apmYAML, cluster, this.forceUpdate, this.dryRun ? "All" : undefined)); + toInstall.push( + fn( + this.package.name, + this.namespace, + kind, + group, + apmYAML, + cluster, + this.forceUpdate, + this.dryRun ? "All" : undefined + ) + ); } } - installed = await Promise.all(toInstall).then(results => results.length); + installed = await Promise.all(toInstall).then((results) => results.length); } return installed; } @@ -307,7 +334,7 @@ export class K8sInstaller { addAPMLabels(yamlObject: GenericK8sSpecType, folder: string, fileName: string) { const metadata = yamlObject.metadata; if (!metadata.name) { - metadata.name = this.package.name.replace(/@/g, "-").replace(/\//g, "-").replace(/:/g, "-"); + metadata.name = encode(this.package.name); if (folder && fileName) { metadata.name = `${metadata.name}-${folder}-${fileName}`; } @@ -357,26 +384,24 @@ export class K8sInstaller { yamlObject: GenericK8sSpecType, cluster: boolean, forceUpdate: boolean, - dryRun?: string, + dryRun?: string ) { - const response = await coreK8sApi.listNamespacedConfigMap( - namespace, - undefined, - undefined, - undefined, - undefined, - PackageInfo.getPackageLabel(packageName) - ); const name = yamlObject.metadata.name; - const items = response.body.items; + const items = await Package.configMaps(namespace, PackageInfo.getPackageLabel(packageName)); const resource = getResourceByName(items, name); const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; - const isPresent = Boolean(resource); - if (isPresent) { - const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate, dryRun); + if (resource) { + const { shouldUpdate, msgPrefix } = checkExistingResource( + resource, + name, + kind, + newVersion, + forceUpdate, + dryRun + ); if (shouldUpdate) { - appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`) + appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); return await coreK8sApi.patchNamespacedConfigMap( name, namespace, @@ -416,24 +441,22 @@ export class K8sInstaller { yamlObject: GenericK8sSpecType, cluster: boolean, forceUpdate: boolean, - dryRun?: string, + dryRun?: string ) { - const response = await coreK8sApi.listNamespacedSecret( - namespace, - undefined, - undefined, - undefined, - undefined, - PackageInfo.getPackageLabel(packageName) - ); const name = yamlObject.metadata.name; - const items = response.body.items; + const items = await Package.secrets(namespace, PackageInfo.getPackageLabel(packageName)); const resource = getResourceByName(items, name); const newVersion = yamlObject.metadata.labels[constants.ARGOPM_LIBRARY_VERSION_LABEL]; - const isPresent = Boolean(resource); - if (isPresent) { - const { shouldUpdate, msgPrefix } = checkExistingResource(resource, name, kind, newVersion, forceUpdate, dryRun); + if (resource) { + const { shouldUpdate, msgPrefix } = checkExistingResource( + resource, + name, + kind, + newVersion, + forceUpdate, + dryRun + ); if (shouldUpdate) { appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); return await coreK8sApi.patchNamespacedSecret( @@ -475,7 +498,7 @@ export class K8sInstaller { yamlObject: GenericK8sSpecType, cluster: boolean, forceUpdate: boolean, - dryRun?: string, + dryRun?: string ) { const plural = `${kind.toLowerCase()}s`; let response: K8sApiResponse; @@ -559,7 +582,7 @@ export class K8sInstaller { cluster: boolean, apiGroup: string, forceUpdate: boolean, - dryRun?: string, + dryRun?: string ) { const name = yamlObject.metadata.name; const items = response.body.items; @@ -578,7 +601,10 @@ export class K8sInstaller { if (shouldUpdate) { if (resource.updateStrategyIsRecreate()) { - appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}`); + appendDryRunTag( + dryRun, + `${msgPrefix} v${resource.version} will be deleted and replaced with v${newVersion}` + ); return K8sInstaller.recreateCustomResource( name, namespace, @@ -589,8 +615,19 @@ export class K8sInstaller { dryRun ); } else { - appendDryRunTag(dryRun, `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}`); - return K8sInstaller.patchCustomResource(name, namespace, plural, yamlObject, cluster, apiGroup, dryRun); + appendDryRunTag( + dryRun, + `${msgPrefix} v${resource.version} will be patch updated to v${newVersion}` + ); + return K8sInstaller.patchCustomResource( + name, + namespace, + plural, + yamlObject, + cluster, + apiGroup, + dryRun + ); } } } else { @@ -615,7 +652,7 @@ export class K8sInstaller { yamlObject: GenericK8sSpecType, cluster: boolean, apiGroup: string, - dryRun?: string, + dryRun?: string ) { if (cluster) { return await customK8sApi.createClusterCustomObject( @@ -624,7 +661,7 @@ export class K8sInstaller { plural, yamlObject, undefined, - dryRun, + dryRun ); } else { return await customK8sApi.createNamespacedCustomObject( @@ -634,7 +671,7 @@ export class K8sInstaller { plural, yamlObject, undefined, - dryRun, + dryRun ); } } @@ -657,7 +694,7 @@ export class K8sInstaller { yamlObject: GenericK8sSpecType, cluster: boolean, apiGroup: string, - dryRun?: string, + dryRun?: string ) { if (cluster) { return await customK8sApi.patchClusterCustomObject( @@ -705,7 +742,7 @@ export class K8sInstaller { yamlObject: object, cluster: boolean, apiGroup: string, - dryRun?: string, + dryRun?: string ): Promise { if (cluster) { await customK8sApi.deleteClusterCustomObject( @@ -724,7 +761,7 @@ export class K8sInstaller { plural, yamlObject, undefined, - dryRun, + dryRun ); } else { await customK8sApi.deleteNamespacedCustomObject( diff --git a/lib/models/input.mts b/lib/models/input.mts index a816ad5..019b006 100644 --- a/lib/models/input.mts +++ b/lib/models/input.mts @@ -41,12 +41,12 @@ export class Input { * @param {Input} input */ checkRequiredArgs(input: Input) { - this.parameters.forEach((parameter) => { + for (const parameter of this.parameters) { if (parameter.isRequired && input.getParameterValue(parameter.name) === undefined) { console.error(red(`Required parameter missing '${parameter.name}'`)); process.exit(1); } - }); + } return true; } diff --git a/lib/models/package.mts b/lib/models/package.mts index 05669de..bff4485 100644 --- a/lib/models/package.mts +++ b/lib/models/package.mts @@ -2,7 +2,7 @@ import { CoreV1Api, CustomObjectsApi, KubeConfig, loadYaml, V1ConfigMap, V1Secre import { blue, bright, lightCyan, red, yellow } from "ansicolor"; import { readFile } from "node:fs/promises"; import { constants } from "../constants.mjs"; -import { appendDryRunTag, K8sApiResponse as K8sApiListResponse } from "../k8s.mjs"; +import { appendDryRunTag, GenericK8sSpecType, K8sApiResponse as K8sApiListResponse } from "../k8s.mjs"; import { getDirName } from "../utils.mjs"; import { Arguments } from "./argument.mjs"; import { PackageInfo } from "./info.mjs"; @@ -27,11 +27,11 @@ export class Package { * Create an Argo Package object * @param {Object} k8sYaml */ - constructor(k8sYaml: { metadata: any; spec: any }) { + constructor(k8sYaml: GenericK8sSpecType) { this.metadata = k8sYaml.metadata; this.spec = k8sYaml.spec; this.info = new PackageInfo(this.metadata.labels); - this.isExecutable = !!this.spec.entrypoint; + this.isExecutable = this.spec.entrypoint !== undefined; this.arguments = new Arguments(this.spec.arguments); this.templates = Template.generate(this.spec.templates); } @@ -53,21 +53,21 @@ export class Package { }); info += templatesInfo; - const pipelines = await this.pipelines(namespace); + const pipelines = await Package.pipelines(namespace, this.info.name); let pipelinesInfo = blue(bright("\nPipelines: \n")); pipelines.forEach((pipeline: { metadata: { name: string | number } }) => { pipelinesInfo += `- ${yellow(pipeline.metadata.name)}\n`; }); info += pipelinesInfo; - const configMaps = await this.configMaps(namespace); + const configMaps = await Package.configMaps(namespace, this.info.name); let configMapInfo = blue(bright("\nConfig Maps: \n")); configMaps.forEach((configMap) => { configMapInfo += `- ${yellow(configMap.metadata?.name)}\n`; }); info += configMapInfo; - const secrets = await this.secrets(namespace); + const secrets = await Package.secrets(namespace, this.info.name); if (secrets.length != 0) { let secretInfo = blue(bright("\nSecrets: \n")); secrets.forEach((secret) => { @@ -76,7 +76,7 @@ export class Package { info += secretInfo; } - const cronWorkflows = await this.cronWorkflows(namespace); + const cronWorkflows = await Package.cronWorkflows(namespace, this.info.name); let cronWorkflowInfo = blue(bright("\nCron Workflows: \n")); cronWorkflows.forEach( (cronWorkflow: { spec: { schedule: any; timezone: any }; metadata: { name: string | number } }) => { @@ -108,7 +108,8 @@ export class Package { const chosenTemplate = this.templates.find((template) => template.name === name); if (!chosenTemplate) { - throw new Error("Template not found in package"); + console.error(red("Template not found in package")); + process.exit(1); } return chosenTemplate; @@ -141,46 +142,21 @@ export class Package { * @returns */ async dependencies(cluster: boolean) { - let kind = constants.ARGO_WORKFLOW_TEMPLATES_KIND; - let plural = `${kind.toLowerCase()}s`; - let response: K8sApiListResponse; - - if (cluster) { - kind = constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND; - plural = `${kind.toLowerCase()}s`; - response = await customK8sApi.listClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - undefined, - undefined, - undefined, - undefined, - this.info.getDependencyLabel() - ); - } else { - response = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - this.metadata.namespace, - plural, - undefined, - undefined, - undefined, - undefined, - this.info.getDependencyLabel() - ); - } - return this.getDependentPackagesFromListResponse(response); + const result = await Package.workflowTemplates( + this.metadata.namespace, + cluster, + this.info.getDependencyLabel() + ); + return this.getDependentPackagesFromListResponse(result); } /** * Get all dependencies * @returns */ - getDependentPackagesFromListResponse(response: K8sApiListResponse) { + getDependentPackagesFromListResponse(items: any) { const packages: Package[] = []; - response.body.items.forEach((template: any) => { + items.forEach((template: any) => { const argoPackage = new Package(template); if (argoPackage.info.name !== this.info.name) { packages.push(argoPackage); @@ -193,14 +169,14 @@ export class Package { * Returns all config maps associated with the package * @returns */ - async configMaps(namespace: string): Promise { + static async configMaps(namespace: string, labelSelector: string): Promise { const response = await coreK8sApi.listNamespacedConfigMap( namespace, undefined, undefined, undefined, undefined, - this.info.getPackageLabel() + labelSelector ); return response.body.items; } @@ -212,29 +188,33 @@ export class Package { async deleteConfigMaps(namespace: any, dryRun?: string) { appendDryRunTag(dryRun, `Deleting configmaps for package ${this.metadata.name}`); - const configMaps = await this.configMaps(namespace); - for (const configMap of configMaps) { - const metadata = configMap.metadata; - if (metadata?.name && metadata.namespace) { - await coreK8sApi.deleteNamespacedConfigMap(metadata.name, metadata.namespace, undefined, dryRun); - } else { - console.error(`Cannot proceed with ${metadata}.`); - } + const toDelete = []; + for (const configMap of await Package.configMaps(namespace, PackageInfo.getPackageLabel(this.info.name))) { + toDelete.push( + coreK8sApi.deleteNamespacedConfigMap( + configMap.metadata.name, + configMap.metadata.namespace, + undefined, + dryRun + ) + ); } + + return await Promise.all(toDelete); } /** * Returns all secrets associated with the package * @returns */ - async secrets(namespace: string): Promise { + static async secrets(namespace: string, labelSelector: string): Promise { const response = await coreK8sApi.listNamespacedSecret( namespace, undefined, undefined, undefined, undefined, - this.info.getPackageLabel() + labelSelector ); return response.body.items; } @@ -246,32 +226,32 @@ export class Package { async deleteSecrets(namespace: any, dryRun?: string) { appendDryRunTag(dryRun, `Deleting secrets for package ${this.metadata.name}`); - const secrets = await this.secrets(namespace); + const toDelete = []; + const secrets = await Package.secrets(namespace, PackageInfo.getPackageLabel(this.info.name)); for (const secret of secrets) { - const metadata = secret.metadata; - if (metadata?.name && metadata.namespace) { - await coreK8sApi.deleteNamespacedSecret(metadata.name, metadata.namespace, undefined, dryRun); - } - return; + toDelete.push( + coreK8sApi.deleteNamespacedSecret(secret.metadata.name, secret.metadata.namespace, undefined, dryRun) + ); } + + return await Promise.all(toDelete); } /** * Returns all piplines associated with the package * @returns */ - async pipelines(namespace: string) { - const plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; + static async pipelines(namespace: string, labelSelector: string) { const response = await customK8sApi.listNamespacedCustomObject( constants.ARGO_DATAFLOW_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, namespace, - plural, + constants.ARGO_PIPELINES_PLURAL, undefined, undefined, undefined, undefined, - this.info.getPackageLabel() + labelSelector ); return response.body["items"]; } @@ -283,39 +263,40 @@ export class Package { async deletePipelines(namespace: any, dryRun?: string) { appendDryRunTag(dryRun, `Deleting pipelines for package ${this.metadata.name}`); - const plural = `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`; - for (const pipeline of await this.pipelines(namespace)) { - const metadata = pipeline.metadata; - await customK8sApi.deleteNamespacedCustomObject( - constants.ARGO_DATAFLOW_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - metadata.namespace, - plural, - metadata.name, - undefined, - undefined, - undefined, - dryRun, + const toDelete = []; + for (const pipeline of await Package.pipelines(namespace, PackageInfo.getPackageLabel(this.info.name))) { + toDelete.push( + customK8sApi.deleteNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + pipeline.metadata.namespace, + constants.ARGO_PIPELINES_PLURAL, + pipeline.metadata.name, + undefined, + undefined, + undefined, + dryRun + ) ); } + return await Promise.all(toDelete); } /** * Returns all cron workflows associated with the package * @returns */ - async cronWorkflows(namespace: string) { - const plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; + static async cronWorkflows(namespace: string, labelSelector: string) { const response = await customK8sApi.listNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, namespace, - plural, + constants.ARGO_CRON_WORKFLOW_PLURAL, undefined, undefined, undefined, undefined, - this.info.getPackageLabel() + labelSelector ); return response.body["items"]; } @@ -327,72 +308,101 @@ export class Package { async deleteCronWorkflows(namespace: any, dryRun?: string) { appendDryRunTag(dryRun, `Deleting cronworkflows for package ${this.metadata.name}`); - const plural = `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`; - for (const cronWorkflow of await this.cronWorkflows(namespace)) { - const metadata = cronWorkflow.metadata; - await customK8sApi.deleteNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - metadata.namespace, - plural, - metadata.name, - undefined, - undefined, - dryRun, + const toDelete = []; + for (const cronWorkflow of await Package.cronWorkflows( + namespace, + PackageInfo.getPackageLabel(this.info.name) + )) { + toDelete.push( + customK8sApi.deleteNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + cronWorkflow.metadata.namespace, + constants.ARGO_CRON_WORKFLOW_PLURAL, + cronWorkflow.metadata.name, + undefined, + undefined, + dryRun + ) ); } + return await Promise.all(toDelete); } /** * Returns all cron workflows associated with the package * @returns */ - async workflowTemplates(namespace: string, cluster: boolean) { - const plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - const response = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - undefined, - undefined, - undefined, - undefined, - this.info.getPackageLabel() - ); - return response.body["items"]; - } - - /** - * Deletes workflow templates associated with the package - * @returns - */ - async deleteWorkflowTemplates(namespace: any, cluster: boolean, dryRun?: string) { - appendDryRunTag(dryRun, `Deleting templates for package ${this.metadata.name}`); - - let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; + static async workflowTemplates(namespace: string, cluster: boolean, labelSelector: string) { + let response; if (cluster) { - await customK8sApi.deleteClusterCustomObject( + response = await customK8sApi.listClusterCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, - plural, - this.metadata.name, + constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_PLURAL, undefined, undefined, - dryRun, + undefined, + undefined, + labelSelector, ); } else { - await customK8sApi.deleteNamespacedCustomObject( + response = await customK8sApi.listNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, - this.metadata.namespace, - plural, - this.metadata.name, + namespace, + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + undefined, undefined, undefined, - dryRun, + undefined, + labelSelector ); } + return response.body.items; + } + + /** + * Deletes workflow templates associated with the package + * @returns + */ + async deleteWorkflowTemplates(namespace: string, cluster: boolean, dryRun?: string) { + appendDryRunTag(dryRun, `Deleting templates for package ${this.metadata.name}`); + + let toDelete = []; + for (const workflowTemplate of await Package.workflowTemplates( + namespace, + cluster, + PackageInfo.getPackageLabel(this.info.name) + )) { + if (workflowTemplate.kind === constants.ARGO_WORKFLOW_TEMPLATES_KIND) { + toDelete.push( + customK8sApi.deleteNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + workflowTemplate.metadata.namespace, + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + workflowTemplate.metadata.name, + undefined, + undefined, + dryRun + ) + ); + } else { + toDelete.push( + customK8sApi.deleteClusterCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_PLURAL, + workflowTemplate.metadata.name, + undefined, + undefined, + dryRun + ) + ); + } + } + return await Promise.all(toDelete); } /** @@ -496,35 +506,7 @@ export class Package { * @returns */ static async info(namespace: string, packageName: string, cluster: boolean) { - let response: K8sApiListResponse; - let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - - if (cluster) { - plural = `${constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - response = await customK8sApi.listClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - undefined, - undefined, - undefined, - undefined, - PackageInfo.getPackageLabel(packageName) - ); - } else { - response = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - undefined, - undefined, - undefined, - undefined, - PackageInfo.getPackageLabel(packageName) - ); - } - const items = response.body.items; + const items = await Package.workflowTemplates(namespace, cluster, PackageInfo.getPackageLabel(packageName)); if (items.length !== 1) { console.error(red(`Package "${packageName}" is not found.`)); process.exit(1); @@ -539,34 +521,17 @@ export class Package { * @returns {Package[]} packages */ static async list(namespace: string, cluster: boolean): Promise { - let response: K8sApiListResponse; - let plural = `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - - if (cluster) { - plural = `${constants.ARGO_CLUSTER_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`; - response = await customK8sApi.listClusterCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - plural, - undefined, - undefined, - undefined, - undefined, - Package.getInstallerLabel() - ); - } else { - response = await customK8sApi.listNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - namespace, - plural, - undefined, - undefined, - undefined, - undefined, - Package.getInstallerLabel() - ); - } - return response.body.items.map((template: any) => new Package(template)); + const result = await Package.workflowTemplates(namespace, cluster, Package.getInstallerLabel()); + const allPackageInfos = result.map((template: any) => new Package(template).info); + const uniquePackages = []; + const uniquePackageMap = {}; + allPackageInfos.forEach((info: PackageInfo) => { + const key = `${info.name}|${info.version}|${info.parent}|${info.registry}`; + if (!(key in uniquePackageMap)) { + uniquePackageMap[key] = undefined; + uniquePackages.push(info); + } + }); + return uniquePackages; } } diff --git a/lib/s3.mts b/lib/s3.mts index 04b7b04..0a54eec 100644 --- a/lib/s3.mts +++ b/lib/s3.mts @@ -95,7 +95,7 @@ export class S3 { * * @param {String} dirPath Absolute path of the directory */ - async uploadStaticFiles(dirPath) { + async uploadStaticFiles(dirPath: string) { if (existsSync(`${dirPath}/static`)) { let dirs = await walk(`${dirPath}/static`); dirs = dirs.filter((dir) => !dir.endsWith(".md")); diff --git a/lib/utils.mts b/lib/utils.mts index 0a7689a..d21cc1b 100644 --- a/lib/utils.mts +++ b/lib/utils.mts @@ -91,7 +91,7 @@ export function generateArguments() { /** * Parses the YAML file and returns and object of it. - * + * * @param path The YAML file path * @returns object with the YAML content */ @@ -99,5 +99,12 @@ export const getResourceFromYaml = async (path: string) => { return loadYaml((await readFile(path)).toString()); }; - -export const applyColor = (color: boolean, log: any) => color ? log : strip(log); +/** + * Optionally turn-off CLI colors by using --no-color. Used for unit testing as the spyOn + * mock functions returns the raw ansicolor-wrapped strings + * + * @param color + * @param log + * @returns + */ +export const applyColor = (color: boolean, log: any) => (color ? log : strip(log)); diff --git a/package-lock.json b/package-lock.json index 37b350b..2decbc6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1282,9 +1282,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", - "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", + "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1330,12 +1330,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", - "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "dev": true, "dependencies": { - "@babel/types": "^7.19.3", + "@babel/types": "^7.19.4", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -1459,12 +1459,12 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", + "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.4" }, "engines": { "node": ">=6.9.0" @@ -1483,9 +1483,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1510,14 +1510,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", + "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", "dev": true, "dependencies": { "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.19.4", + "@babel/types": "^7.19.4" }, "engines": { "node": ">=6.9.0" @@ -1609,9 +1609,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", - "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1812,19 +1812,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", - "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", + "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", + "@babel/generator": "^7.19.4", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.3", - "@babel/types": "^7.19.3", + "@babel/parser": "^7.19.4", + "@babel/types": "^7.19.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1842,12 +1842,12 @@ } }, "node_modules/@babel/types": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", - "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, @@ -1916,9 +1916,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -1952,16 +1952,6 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -2406,13 +2396,13 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.16", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz", + "integrity": "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "node_modules/@kubernetes/client-node": { @@ -2634,9 +2624,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.8.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz", - "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==", + "version": "18.8.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.4.tgz", + "integrity": "sha512-WdlVphvfR/GJCLEMbNA8lJ0lhFNBj4SW3O+O5/cEGw9oYrv0al9zTwuQsq+myDUXgNx2jgBynoVgZ2MMJ6pbow==", "dev": true }, "node_modules/@types/npm-package-arg": { @@ -2711,14 +2701,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", - "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz", + "integrity": "sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.39.0", - "@typescript-eslint/type-utils": "5.39.0", - "@typescript-eslint/utils": "5.39.0", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/type-utils": "5.40.0", + "@typescript-eslint/utils": "5.40.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -2743,14 +2733,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", - "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.40.0.tgz", + "integrity": "sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.39.0", - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.0", "debug": "^4.3.4" }, "engines": { @@ -2770,13 +2760,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", - "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.40.0.tgz", + "integrity": "sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/visitor-keys": "5.39.0" + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2787,13 +2777,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", - "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.40.0.tgz", + "integrity": "sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.39.0", - "@typescript-eslint/utils": "5.39.0", + "@typescript-eslint/typescript-estree": "5.40.0", + "@typescript-eslint/utils": "5.40.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2814,9 +2804,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", - "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.40.0.tgz", + "integrity": "sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2827,13 +2817,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", - "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.0.tgz", + "integrity": "sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/visitor-keys": "5.39.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2854,17 +2844,18 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", - "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.40.0.tgz", + "integrity": "sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.39.0", - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2878,12 +2869,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", - "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.0.tgz", + "integrity": "sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/types": "5.40.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3374,9 +3365,9 @@ } }, "node_modules/ci-info": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", - "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", + "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", "dev": true }, "node_modules/cjs-module-lexer": { @@ -3552,13 +3543,10 @@ } }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/core-util-is": { "version": "1.0.3", @@ -3725,9 +3713,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.275", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.275.tgz", - "integrity": "sha512-aJeQQ+Hl9Jyyzv4chBqYJwmVRY46N5i2BEX5Cuyk/5gFCUZ5F3i7Hnba6snZftWla7Gglwc5pIgcd+E7cW+rPg==", + "version": "1.4.277", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.277.tgz", + "integrity": "sha512-Ej4VyUfGdVY5D2J5WHAVNqrEFBKgeNcX7p/bBQU4x/VKwvnyEvGd62NEkIK3lykLEe9Cg4MCcoWAa+u97o0u/A==", "dev": true }, "node_modules/emittery": { @@ -4143,14 +4131,13 @@ } }, "node_modules/eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", - "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.2", + "@eslint/eslintrc": "^1.3.3", "@humanwhocodes/config-array": "^0.10.5", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -6416,10 +6403,13 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { "version": "3.3.4", @@ -7084,6 +7074,12 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -7316,9 +7312,23 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -7443,9 +7453,9 @@ } }, "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.1.tgz", - "integrity": "sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.0.tgz", + "integrity": "sha512-3MWBO/XxbkDtc/qpECaUwDM0DQ++ujBjdjs0ElZvChUoPv/P7GOnl3x+R2RF2My5UJHEW5R87q556MiR8U3PLw==", "dev": true, "engines": { "node": ">=12" @@ -7552,6 +7562,12 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -9530,9 +9546,9 @@ } }, "@babel/compat-data": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", - "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", + "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", "dev": true }, "@babel/core": { @@ -9567,12 +9583,12 @@ } }, "@babel/generator": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", - "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "dev": true, "requires": { - "@babel/types": "^7.19.3", + "@babel/types": "^7.19.4", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -9667,12 +9683,12 @@ "dev": true }, "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", + "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.4" } }, "@babel/helper-split-export-declaration": { @@ -9685,9 +9701,9 @@ } }, "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true }, "@babel/helper-validator-identifier": { @@ -9703,14 +9719,14 @@ "dev": true }, "@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", + "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", "dev": true, "requires": { "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.19.4", + "@babel/types": "^7.19.4" } }, "@babel/highlight": { @@ -9783,9 +9799,9 @@ } }, "@babel/parser": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", - "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -9926,19 +9942,19 @@ } }, "@babel/traverse": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", - "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", + "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", + "@babel/generator": "^7.19.4", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.3", - "@babel/types": "^7.19.3", + "@babel/parser": "^7.19.4", + "@babel/types": "^7.19.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -9952,12 +9968,12 @@ } }, "@babel/types": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", - "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } @@ -10004,9 +10020,9 @@ "optional": true }, "@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -10031,12 +10047,6 @@ "minimatch": "^3.0.4" } }, - "@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true - }, "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -10382,13 +10392,13 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.16", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz", + "integrity": "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "@kubernetes/client-node": { @@ -10601,9 +10611,9 @@ "dev": true }, "@types/node": { - "version": "18.8.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz", - "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==", + "version": "18.8.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.4.tgz", + "integrity": "sha512-WdlVphvfR/GJCLEMbNA8lJ0lhFNBj4SW3O+O5/cEGw9oYrv0al9zTwuQsq+myDUXgNx2jgBynoVgZ2MMJ6pbow==", "dev": true }, "@types/npm-package-arg": { @@ -10678,14 +10688,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", - "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz", + "integrity": "sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.39.0", - "@typescript-eslint/type-utils": "5.39.0", - "@typescript-eslint/utils": "5.39.0", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/type-utils": "5.40.0", + "@typescript-eslint/utils": "5.40.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -10694,53 +10704,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", - "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.40.0.tgz", + "integrity": "sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.39.0", - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", - "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.40.0.tgz", + "integrity": "sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/visitor-keys": "5.39.0" + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.0" } }, "@typescript-eslint/type-utils": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", - "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.40.0.tgz", + "integrity": "sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.39.0", - "@typescript-eslint/utils": "5.39.0", + "@typescript-eslint/typescript-estree": "5.40.0", + "@typescript-eslint/utils": "5.40.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", - "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.40.0.tgz", + "integrity": "sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", - "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.0.tgz", + "integrity": "sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/visitor-keys": "5.39.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -10749,26 +10759,27 @@ } }, "@typescript-eslint/utils": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", - "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.40.0.tgz", + "integrity": "sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.39.0", - "@typescript-eslint/types": "5.39.0", - "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", - "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.0.tgz", + "integrity": "sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/types": "5.40.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -11126,9 +11137,9 @@ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "ci-info": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", - "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", + "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", "dev": true }, "cjs-module-lexer": { @@ -11266,13 +11277,10 @@ } }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "core-util-is": { "version": "1.0.3", @@ -11398,9 +11406,9 @@ } }, "electron-to-chromium": { - "version": "1.4.275", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.275.tgz", - "integrity": "sha512-aJeQQ+Hl9Jyyzv4chBqYJwmVRY46N5i2BEX5Cuyk/5gFCUZ5F3i7Hnba6snZftWla7Gglwc5pIgcd+E7cW+rPg==", + "version": "1.4.277", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.277.tgz", + "integrity": "sha512-Ej4VyUfGdVY5D2J5WHAVNqrEFBKgeNcX7p/bBQU4x/VKwvnyEvGd62NEkIK3lykLEe9Cg4MCcoWAa+u97o0u/A==", "dev": true }, "emittery": { @@ -11611,14 +11619,13 @@ "dev": true }, "eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", - "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.2", + "@eslint/eslintrc": "^1.3.3", "@humanwhocodes/config-array": "^0.10.5", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -13288,9 +13295,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true }, "minipass": { @@ -13776,6 +13783,14 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "rechoir": { @@ -13943,9 +13958,9 @@ } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safer-buffer": { "version": "2.1.2", @@ -14036,9 +14051,9 @@ }, "dependencies": { "ansi-styles": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.1.tgz", - "integrity": "sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.0.tgz", + "integrity": "sha512-3MWBO/XxbkDtc/qpECaUwDM0DQ++ujBjdjs0ElZvChUoPv/P7GOnl3x+R2RF2My5UJHEW5R87q556MiR8U3PLw==", "dev": true } } @@ -14120,6 +14135,14 @@ "dev": true, "requires": { "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "string-argv": { diff --git a/tests/main.spec.mts b/tests/main.spec.mts index f23b5b1..18b3aa9 100755 --- a/tests/main.spec.mts +++ b/tests/main.spec.mts @@ -1,5 +1,7 @@ +import { GetObjectCommand } from "@aws-sdk/client-s3"; import { afterAll, beforeAll, describe, expect, it, jest } from "@jest/globals"; import { CoreV1Api, CustomObjectsApi, KubeConfig, V1ConfigMap, V1Secret } from "@kubernetes/client-node"; +import { writeFileSync } from "fs"; import { readFile } from "fs/promises"; import { IncomingMessage } from "http"; import npa from "npm-package-arg"; @@ -10,8 +12,10 @@ import { initHelp } from "../lib/help.mjs"; import { uninstall } from "../lib/index.mjs"; import { packageNameFromPath } from "../lib/install.mjs"; import { GenericK8sSpecType } from "../lib/k8s.mjs"; -import { encode } from "../lib/models/info.mjs"; +import { encode, PackageInfo } from "../lib/models/info.mjs"; +import { Package } from "../lib/models/package.mjs"; import { Resource } from "../lib/models/resource.mjs"; +import { S3 } from "../lib/s3.mjs"; import { getResourceFromYaml } from "../lib/utils.mjs"; const kc = new KubeConfig(); @@ -25,23 +29,24 @@ const MOCK_PACKAGE_DIR = `${CURRENT_DIR.stdout}/tests/fixtures/mock-package`; const TMP_DIR = "/tmp/test-install-package"; const NEW_VERSION_BUMP = "0.0.2"; - describe("argopm init", () => { - it.skip("should run init successfully", async () => { - shell.rm("-Rf", TMP_DIR); - shell.mkdir(TMP_DIR); - shell.cd(TMP_DIR); + const tmpDir = "/tmp/test-init-package"; + + it("should run init successfully", async () => { + shell.rm("-Rf", tmpDir); + shell.mkdir(tmpDir); + shell.cd(tmpDir); const consoleSpy = jest.spyOn(console, "log"); await yarg.parse("init ."); expect(shell.test("-e", "package.json")).toBe(true); - const outputDirLs = shell.ls(`${TMP_DIR}/`); + const outputDirLs = shell.ls(`${tmpDir}/`); const inputDirLs = shell.ls(`${CURRENT_DIR.stdout}/lib/static/package/`); - const packageName = npa(packageNameFromPath(TMP_DIR)); + const packageName = npa(packageNameFromPath(tmpDir)); expect(consoleSpy).toBeCalledWith( - `Installing from the current directory (/private${TMP_DIR}) with the package name "${packageName.name}"...` + `Installing from the current directory (/private${tmpDir}) with the package name "${packageName.name}"...` ); expect(consoleSpy).toBeCalledWith(initHelp.replace(/NAME/g, packageName.name || "")); expect(outputDirLs).toEqual(expect.arrayContaining(inputDirLs)); @@ -75,6 +80,96 @@ describe("argopm non-init", () => { } }); + describe("fresh-install all dry-run", () => { + beforeAll(async () => { + await yarg.parse(`install . -x -n ${NAMESPACE} --dry-run`); + packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); + packageVersion = encode(packageJson.version); + }); + + it("should show installing message with dry-run tag", () => { + expect(consoleDebugSpy).toBeCalledWith(`Installing package ${packageName} (dry-run)`); + }); + + it("should show installing configmaps with dry-run tag successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + + expect(persisted.response.statusCode).toEqual(404); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion} (dry-run)` + ); + }, 2000); + }); + + it("should show installing secrets with dry-run tag successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("secrets/default.yaml"); + const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); + + expect(persisted.response.statusCode).toEqual(404); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.SECRET_KIND} not present in the cluster. Installing v${packageVersion} (dry-run)` + ); + }, 2000); + }); + + it("should create show installing templates with dry-run tag successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("templates/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + object.metadata?.name || "" + ); + + expect(persisted.response.statusCode).toEqual(404); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} not present in the cluster. Installing v${packageVersion} (dry-run)` + ); + }, 2000); + }); + + it("should show installing cronworkflows with dry-run tag successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("cronworkflows/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_WORKFLOWS_PLURAL, + object.metadata?.name || "" + ); + + expect(persisted.response.statusCode).toEqual(404); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} not present in the cluster. Installing v${packageVersion} (dry-run)` + ); + }, 2000); + }); + + it("should show installing pipelines with dry-run tag successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("pipelines/default.yaml"); + const persisted = await customK8sApi.getNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_PIPELINES_PLURAL, + object.metadata?.name || "" + ); + + expect(persisted.response.statusCode).toEqual(404); + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} not present in the cluster. Installing v${packageVersion} (dry-run)` + ); + }, 2000); + }); + }); + describe("fresh-install all", () => { beforeAll(async () => { await yarg.parse(`install . -x -n ${NAMESPACE}`); @@ -83,7 +178,7 @@ describe("argopm non-init", () => { }); it("should show installing message", () => { - expect(consoleLogSpy).toBeCalledWith(`Installing package ${packageName}`); + expect(consoleDebugSpy).toBeCalledWith(`Installing package ${packageName}`); }); it("should create configmaps successfully", async () => { @@ -117,8 +212,8 @@ describe("argopm non-init", () => { constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - object.metadata?.name || "", + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + object.metadata?.name || "" ); expect(persisted.response.statusCode).toEqual(200); @@ -135,8 +230,8 @@ describe("argopm non-init", () => { constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - object.metadata?.name || "", + constants.ARGO_CRON_WORKFLOW_PLURAL, + object.metadata?.name || "" ); expect(persisted.response.statusCode).toEqual(200); @@ -153,8 +248,8 @@ describe("argopm non-init", () => { constants.ARGO_DATAFLOW_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - object.metadata?.name || "", + constants.ARGO_PIPELINES_PLURAL, + object.metadata?.name || "" ); expect(persisted.response.statusCode).toEqual(200); @@ -215,28 +310,32 @@ Cron Workflows: await yarg.parse(`install . -x -n ${NAMESPACE}`); }); - it("should patch configmaps successfully", async () => { + it("should force-patch configmaps successfully", async () => { // Check existence of fresh-install objects first setTimeout(async () => { const object = await getResourceFromYaml("configmaps/default.yaml"); const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); const resource = new Resource(persisted.body); const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; expect(consoleDebugSpy).toBeCalledWith( `${msgPrefix} v${resource?.version} is already latest version. Skipping update.` ); - }, 2000) + }, 2000); }); - it("should patch secrets successfully", async () => { + it("should force-patch secrets successfully", async () => { setTimeout(async () => { const object = await getResourceFromYaml("secrets/default.yaml"); const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); const resource = new Resource(persisted.body); const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; @@ -249,16 +348,18 @@ Cron Workflows: it("should patch workflow templates successfully", async () => { setTimeout(async () => { const object = await getResourceFromYaml("templates/default.yaml"); - const persisted = await customK8sApi.getNamespacedCustomObject( + const persisted = (await customK8sApi.getNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - object.metadata?.name || "", - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); const resource = new Resource(persisted.body); const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; @@ -271,16 +372,18 @@ Cron Workflows: it("should patch cronworkflows successfully", async () => { setTimeout(async () => { const object = await getResourceFromYaml("cronworkflows/default.yaml"); - const persisted = await customK8sApi.getNamespacedCustomObject( + const persisted = (await customK8sApi.getNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - object.metadata?.name || "", - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + constants.ARGO_WORKFLOWS_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); const resource = new Resource(persisted.body); const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; @@ -293,16 +396,18 @@ Cron Workflows: it("should patch pipelines successfully", async () => { setTimeout(async () => { const object = await getResourceFromYaml("pipelines/default.yaml"); - const persisted = await customK8sApi.getNamespacedCustomObject( + const persisted = (await customK8sApi.getNamespacedCustomObject( constants.ARGO_DATAFLOW_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - object.metadata?.name || "", - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + constants.ARGO_PIPELINES_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); const resource = new Resource(persisted.body); const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; @@ -313,8 +418,115 @@ Cron Workflows: }); }); - describe("patch all bump-version", () => { + describe("force update all", () => { + beforeAll(async () => { + await yarg.parse(`install . -x -n ${NAMESPACE} --force`); + }); + + it("should force-patch configmaps successfully", async () => { + // Check existence of fresh-install objects first + setTimeout(async () => { + const object = await getResourceFromYaml("configmaps/default.yaml"); + const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + + it("should force-patch secrets successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("secrets/default.yaml"); + const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + + it("should force-patch workflow templates successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("templates/default.yaml"); + const persisted = (await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + + it("should force-patch cronworkflows successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("cronworkflows/default.yaml"); + const persisted = (await customK8sApi.getNamespacedCustomObject( + constants.ARGO_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_CRON_WORKFLOW_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + + it("should force-patch pipelines successfully", async () => { + setTimeout(async () => { + const object = await getResourceFromYaml("pipelines/default.yaml"); + const persisted = (await customK8sApi.getNamespacedCustomObject( + constants.ARGO_DATAFLOW_K8S_API_GROUP, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_PIPELINES_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; + + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; + expect(consoleDebugSpy).toBeCalledWith( + `${msgPrefix} v0.0.1 will be patch updated to v${packageVersion}` + ); + }, 2000); + }); + }); + + describe("patch all bump-version", () => { beforeAll(async () => { shell.sed("-i", /0.0.1/g, NEW_VERSION_BUMP, `${TMP_DIR}/package.json`); packageJson = JSON.parse(await readFile(`${TMP_DIR}/package.json`, "utf-8")); @@ -328,7 +540,9 @@ Cron Workflows: const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); expect(persisted.response.statusCode).toEqual(200); expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + NEW_VERSION_BUMP + ); const msgPrefix = `${object.metadata?.name} ${constants.CONFIGMAP_KIND} already present in the cluster.`; expect(consoleDebugSpy).toBeCalledWith( @@ -343,7 +557,9 @@ Cron Workflows: const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); expect(persisted.response.statusCode).toEqual(200); expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + NEW_VERSION_BUMP + ); const msgPrefix = `${object.metadata?.name} ${constants.SECRET_KIND} already present in the cluster.`; expect(consoleDebugSpy).toBeCalledWith( @@ -355,17 +571,19 @@ Cron Workflows: it("should replace workflow to newer package version templates successfully", async () => { setTimeout(async () => { const object = await getResourceFromYaml("templates/default.yaml"); - const persisted = await customK8sApi.getNamespacedCustomObject( + const persisted = (await customK8sApi.getNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_WORKFLOW_TEMPLATES_KIND.toLowerCase()}s`, - object.metadata?.name || "", - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + NEW_VERSION_BUMP + ); const msgPrefix = `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} already present in the cluster.`; expect(consoleDebugSpy).toBeCalledWith( @@ -377,17 +595,19 @@ Cron Workflows: it("should replace cronworkflows to newer package version successfully", async () => { setTimeout(async () => { const object = await getResourceFromYaml("cronworkflows/default.yaml"); - const persisted = await customK8sApi.getNamespacedCustomObject( + const persisted = (await customK8sApi.getNamespacedCustomObject( constants.ARGO_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - object.metadata?.name || "", - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + constants.ARGO_CRON_WORKFLOW_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(NEW_VERSION_BUMP); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + NEW_VERSION_BUMP + ); const msgPrefix = `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} already present in the cluster.`; expect(consoleDebugSpy).toBeCalledWith( @@ -399,17 +619,19 @@ Cron Workflows: it("should replace pipelines to newer package version successfully", async () => { setTimeout(async () => { const object = await getResourceFromYaml("pipelines/default.yaml"); - const persisted = await customK8sApi.getNamespacedCustomObject( + const persisted = (await customK8sApi.getNamespacedCustomObject( constants.ARGO_DATAFLOW_K8S_API_GROUP, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_DATAFLOW_KIND.toLowerCase()}s`, - object.metadata?.name || "", - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + constants.ARGO_PIPELINES_PLURAL, + object.metadata?.name || "" + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); const resource = new Resource(persisted.body); const msgPrefix = `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} already present in the cluster.`; @@ -420,11 +642,68 @@ Cron Workflows: }); }); - describe("install specific resource/s", () => { + describe("inspect non-K8s resources added upon install", () => { + const staticDir = `${TMP_DIR}/static`; + + const toUpload = [{ + filePath: `${staticDir}/sample1.txt`, + content: `# Sample 1 file from ${packageName}`, + }, { + filePath: `${staticDir}/folder1/sample1.txt`, + content: `# Sample 2 file from ${packageName}`, + }] + + beforeAll(async () => { + shell.mkdir("-p", `${staticDir}/folder1/`); + + for (let { filePath, content } of toUpload) { + writeFileSync(filePath, content); + } + await yarg.parse(`install . -x -n ${NAMESPACE}`); + }); + + afterAll(async () => { + shell.rm("-Rf", staticDir); + }); + + it("should upload files from the static dir", async () => { + const s3Uploader = new S3( + constants.ATLAN_DEFAULTS_CONFIGMAP_NAME, + constants.ATLAN_DEFAULTS_CONFIGMAP_NAMESPACE, + npa(packageNameFromPath(TMP_DIR)) + ); + await s3Uploader.initialize(); + + setTimeout(async () => { + toUpload.forEach(({ filePath, content }) => { + const pathSplit = filePath.split("static/"); + expect(consoleDebugSpy).toBeCalledWith(`Uploading file: /private/${filePath} to ${s3Uploader.s3KeyPrefix}/${pathSplit[pathSplit.length - 1]}`); + }) + + const response = await Promise.all( + toUpload.map(({ filePath, content }) => { + const pathSplit = filePath.split("static/"); + return s3Uploader.client.send( + new GetObjectCommand({ + Bucket: s3Uploader.bucketName, + Key: `${s3Uploader.s3KeyPrefix}/${pathSplit[pathSplit.length - 1]}`, + }) + ).then(resp => resp.Body?.toString() === content); + }) + ) + expect(response).toBe([true, true]); + }); + }); + + it.skip("should add Grafana dashboards", async () => { + }); + }); + + describe("part-install specific resource only", () => { it("should install configmaps only successfully", async () => { const newName = "argopm-mock-package-delete-me-configmap-2"; - const newPath = "configmaps/another-custom-cm.yaml"; + const newPath = "configmaps/another-custom-configmap.yaml"; shell.cp("-R", `${MOCK_PACKAGE_DIR}/configmaps/default.yaml`, `${TMP_DIR}/${newPath}`); shell.sed("-i", /argopm-mock-package-delete-me-configmap/g, newName, `${TMP_DIR}/${newPath}`); @@ -434,47 +713,180 @@ Cron Workflows: const object = await getResourceFromYaml(newPath); const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); expect(consoleDebugSpy).toBeCalledWith( `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` ); - }, 2000) + }, 2000); + }); + + it("should install secrets only successfully", async () => { + const newName = "argopm-mock-package-delete-me-secret-2"; + const newPath = "secrets/another-custom-secret.yaml"; + shell.cp("-R", `${MOCK_PACKAGE_DIR}/secrets/default.yaml`, `${TMP_DIR}/${newPath}`); + shell.sed("-i", /argopm-mock-package-delete-me-secret/g, newName, `${TMP_DIR}/${newPath}`); + + await yarg.parse(`install . -x -n ${NAMESPACE} --sec ${newName}`); + + setTimeout(async () => { + const object = await getResourceFromYaml(newPath); + const persisted = await coreK8sApi.readNamespacedSecret(object.metadata?.name || "", NAMESPACE); + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.SECRET_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + + it("should install templates only successfully", async () => { + const newName = "argopm-mock-package-delete-me-template-2"; + const newPath = "templates/another-custom-template.yaml"; + shell.cp("-R", `${MOCK_PACKAGE_DIR}/templates/default.yaml`, `${TMP_DIR}/${newPath}`); + shell.sed("-i", /argopm-mock-package-delete-me-template/g, newName, `${TMP_DIR}/${newPath}`); + + await yarg.parse(`install . -x -n ${NAMESPACE} --wftmpl ${newName}`); + + setTimeout(async () => { + const object = await getResourceFromYaml(newPath); + const persisted = (await customK8sApi.getNamespacedCustomObject( + constants.ARGO_WORKFLOW_TEMPLATES_KIND, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + newName + )) as { response: IncomingMessage; body: GenericK8sSpecType }; + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_WORKFLOW_TEMPLATES_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + + it("should install cronworkflows only successfully", async () => { + const newName = "argopm-mock-package-delete-me-cronworkflow-2"; + const newPath = "cronworkflows/another-custom-cronworkflow.yaml"; + shell.cp("-R", `${MOCK_PACKAGE_DIR}/cronworkflows/default.yaml`, `${TMP_DIR}/${newPath}`); + shell.sed("-i", /argopm-mock-package-delete-me-cronworkflow/g, newName, `${TMP_DIR}/${newPath}`); + + await yarg.parse(`install . -x -n ${NAMESPACE} --cwf ${newName}`); + + setTimeout(async () => { + const object = await getResourceFromYaml(newPath); + const persisted = (await customK8sApi.getNamespacedCustomObject( + constants.ARGO_CRON_WORKFLOW_KIND, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_CRON_WORKFLOW_PLURAL, + newName + )) as { response: IncomingMessage; body: GenericK8sSpecType }; + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_CRON_WORKFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); + }); + + it("should install pipelines only successfully", async () => { + const newName = "argopm-mock-package-delete-me-pipeline-2"; + const newPath = "pipelines/another-custom-pipeline.yaml"; + shell.cp("-R", `${MOCK_PACKAGE_DIR}/pipelines/default.yaml`, `${TMP_DIR}/${newPath}`); + shell.sed("-i", /argopm-mock-package-delete-me-pipeline/g, newName, `${TMP_DIR}/${newPath}`); + + await yarg.parse(`install . -x -n ${NAMESPACE} --ppl ${newName}`); + + setTimeout(async () => { + const object = await getResourceFromYaml(newPath); + const persisted = (await customK8sApi.getNamespacedCustomObject( + constants.ARGO_DATAFLOW_KIND, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_PIPELINES_PLURAL, + newName + )) as { response: IncomingMessage; body: GenericK8sSpecType }; + expect(persisted.response.statusCode).toEqual(200); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); + + expect(consoleDebugSpy).toBeCalledWith( + `${object.metadata?.name} ${constants.ARGO_DATAFLOW_KIND} not present in the cluster. Installing v${packageVersion}` + ); + }, 2000); }); it("should install cluster workflow templates only successfully", async () => { const newName = "argopm-mock-package-delete-me-cluter-template"; - const newPath = "configmaps/another-custom-template.yaml"; + const newPath = "templates/another-custom-template.yaml"; shell.cp("-R", `${MOCK_PACKAGE_DIR}/templates/default.yaml`, `${TMP_DIR}/${newPath}`); shell.sed("-i", /argopm-mock-package-delete-me-template/g, newName, `${TMP_DIR}/${newPath}`); - await yarg.parse(`install . -x -n ${NAMESPACE} --cluster --cm ${newName}`); + await yarg.parse(`install . -x -n ${NAMESPACE} --cluster --wftmpl ${newName}`); setTimeout(async () => { const object = await getResourceFromYaml(newPath); - const persisted = await coreK8sApi.readNamespacedConfigMap(object.metadata?.name || "", NAMESPACE); + const persisted = (await customK8sApi.getNamespacedCustomObject( + constants.ARGO_WORKFLOW_TEMPLATES_KIND, + constants.ARGO_K8S_API_VERSION, + NAMESPACE, + constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, + newName + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual(packageVersion); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_VERSION_LABEL]).toEqual( + packageVersion + ); expect(consoleDebugSpy).toBeCalledWith( `${object.metadata?.name} ${constants.CONFIGMAP_KIND} not present in the cluster. Installing v${packageVersion}` ); - }, 2000) + }, 2000); }); }); describe("run", () => { - it("should run a worflow successfully", async () => { + it("should run a workflow from entrypoint successfully", async () => { + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`run ${packageName.name} --no-color`); + setTimeout(async () => { - const consoleSpy = jest.spyOn(console, "log"); + expect(consoleSpy).toBeCalledWith("Package run successful."); + consoleSpy.mockRestore(); + }, 2000); + }); - await yarg.parse(`run --no-color ${packageName.name}`); + // it("should not run a workflow from a specific template with missing parameter", async () => { + // const runWithMissingParam = () => { + // yarg.parse(`run ${packageName.name} whalesay-template --no-color`); + // }; + // expect(runWithMissingParam).toThrowError("Required parameter missing 'message'"); + // }); + + it("should run a workflow from a specific template with parameters successfully", async () => { + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`run ${packageName.name} whalesay-template --no-color -- --message Hey`); + + setTimeout(async () => { expect(consoleSpy).toBeCalledWith("Package run successful."); consoleSpy.mockRestore(); }, 2000); }); - }) + }); describe("install/uninstall dependencies", () => { const packageToAdd = "giphy"; @@ -486,25 +898,30 @@ Cron Workflows: it(`should install with ${packageToAdd} package as dependency successfully`, async () => { setTimeout(async () => { - const persisted = await customK8sApi.getNamespacedCustomObject( + const persisted = (await customK8sApi.getNamespacedCustomObject( constants.ARGO_WORKFLOW_TEMPLATES_KIND, constants.ARGO_K8S_API_VERSION, NAMESPACE, - `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - packageToAdd, - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + constants.ARGO_CRON_WORKFLOW_PLURAL, + packageToAdd + )) as { response: IncomingMessage; body: GenericK8sSpecType }; expect(persisted.response.statusCode).toEqual(200); expect(persisted.body.metadata).toHaveProperty("labels"); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageToAdd); - expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual(packageName); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual( + packageToAdd + ); + expect((persisted.body.metadata?.labels as any)[constants.ARGOPM_LIBRARY_PARENT_LABEL]).toEqual( + packageName + ); }, 2000); }); it(`should show the ${packageToAdd} package in the list successfully`, async () => { + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`list --no-color ${packageName.name}`); + setTimeout(async () => { - const consoleSpy = jest.spyOn(console, "log"); - await yarg.parse(`list --no-color ${packageName.name}`); const expected = `name version parent registry ------------------------------------------------------ smtp 0.1.20 smtp@0.1.20 https://packages.atlan.com`; @@ -514,10 +931,10 @@ smtp 0.1.20 smtp@0.1.20 https://packages.atlan.com`; }); it(`should uninstall the ${packageToAdd} package successfully`, async () => { - setTimeout(async () => { - const consoleSpy = jest.spyOn(console, "log"); - await yarg.parse(`uninstall --no-color ${packageToAdd}`); + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`uninstall --no-color ${packageToAdd}`); + setTimeout(async () => { expect(consoleSpy).toBeCalledWith(`Deleting dependent package ${packageToAdd}`); expect(consoleSpy).toBeCalledWith(`Deleting config maps for package ${packageToAdd}`); expect(consoleSpy).toBeCalledWith(`Deleting secrets for package ${packageToAdd}`); @@ -526,25 +943,26 @@ smtp 0.1.20 smtp@0.1.20 https://packages.atlan.com`; expect(consoleSpy).toBeCalledWith(`Deleting pipelines for package ${packageToAdd}`); expect(consoleSpy).toBeCalledWith(`Successfully deleted package ${packageToAdd}`); - const persisted = await customK8sApi.getNamespacedCustomObject( - constants.ARGO_K8S_API_GROUP, - constants.ARGO_K8S_API_VERSION, - NAMESPACE, - constants.ARGO_WORKFLOW_TEMPLATES_PLURAL, - packageToAdd, - ) as { response: IncomingMessage, body: GenericK8sSpecType }; + const result = await Promise.all([ + Package.pipelines(NAMESPACE, PackageInfo.getPackageLabel(packageToAdd)), + Package.workflowTemplates(NAMESPACE, false, PackageInfo.getPackageLabel(packageToAdd)), + Package.cronWorkflows(NAMESPACE, PackageInfo.getPackageLabel(packageToAdd)), + Package.configMaps(NAMESPACE, PackageInfo.getPackageLabel(packageToAdd)), + Package.secrets(NAMESPACE, PackageInfo.getPackageLabel(packageToAdd)), + ]); + const itemsLength = result.reduce((prev, curr) => prev + curr.length, 0); - expect(persisted.response.statusCode).toEqual(404); + expect(itemsLength).toEqual(0); }, 2000); }); }); describe("uninstall", () => { it(`should uninstall successfully`, async () => { - setTimeout(async () => { - const consoleSpy = jest.spyOn(console, "log"); - await yarg.parse(`uninstall --no-color ${packageName.name}`); + const consoleSpy = jest.spyOn(console, "log"); + await yarg.parse(`uninstall --no-color ${packageName.name}`); + setTimeout(async () => { expect(consoleSpy).toBeCalledWith(`Deleting config maps for package ${packageName.name}`); expect(consoleSpy).toBeCalledWith(`Deleting secrets for package ${packageName.name}`); expect(consoleSpy).toBeCalledWith(`Deleting templates for package ${packageName.name}`); @@ -552,15 +970,16 @@ smtp 0.1.20 smtp@0.1.20 https://packages.atlan.com`; expect(consoleSpy).toBeCalledWith(`Deleting pipelines for package ${packageName.name}`); expect(consoleSpy).toBeCalledWith(`Successfully deleted package ${packageName.name}`); - // const persisted = await customK8sApi.getNamespacedCustomObject( - // constants.ARGO_WORKFLOW_TEMPLATES_KIND, - // constants.ARGO_K8S_API_VERSION, - // NAMESPACE, - // `${constants.ARGO_CRON_WORKFLOW_KIND.toLowerCase()}s`, - // packageName.name, - // ) as { response: IncomingMessage, body: GenericK8sSpecType }; + const result = await Promise.all([ + Package.pipelines(NAMESPACE, PackageInfo.getPackageLabel(packageName.name)), + Package.workflowTemplates(NAMESPACE, false, PackageInfo.getPackageLabel(packageName.name)), + Package.cronWorkflows(NAMESPACE, PackageInfo.getPackageLabel(packageName.name)), + Package.configMaps(NAMESPACE, PackageInfo.getPackageLabel(packageName.name)), + Package.secrets(NAMESPACE, PackageInfo.getPackageLabel(packageName.name)), + ]); + const itemsLength = result.reduce((prev, curr) => prev + curr.length, 0); - // expect(persisted.response.statusCode).toEqual(404); + expect(itemsLength).toEqual(0); }, 2000); }); });