diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 64b9fc1..739dcec 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: mongodb-version: ["4.4", "5.0", "6.0"] - node-version: [14.x, 16.x] + node-version: [14.x, 16.x, 18.x] steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 diff --git a/package.json b/package.json index bec0f3f..e2dd5fa 100644 --- a/package.json +++ b/package.json @@ -66,9 +66,9 @@ "express": "^4.17.1", "method-override": "^3.0.0", "mocha": "^10.1.0", + "node-fetch": "^3.3.1", "npm-run-all": "^4.1.5", "prettier": "^2.7.1", - "request": "^2.88.2", "restify": "^8.5.1", "sinon": "^14.0.1", "tsup": "^6.3.0", diff --git a/test/integration/access.js b/test/integration/access.js index b07ab59..6de09ec 100644 --- a/test/integration/access.js +++ b/test/integration/access.js @@ -1,6 +1,6 @@ import assert from "assert"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; @@ -471,9 +471,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id - saves all fields`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { name: "John", @@ -509,9 +508,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id - saves all fields (falsy values)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { age: 0, @@ -1045,9 +1043,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id - saves protected and public fields`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { name: "John", @@ -1093,9 +1090,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id - saves protected and public fields (falsy values)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { age: 0, @@ -1614,9 +1610,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id - saves public fields`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { name: "John", @@ -1662,9 +1657,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id - saves public fields (falsy values)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { age: 0, diff --git a/test/integration/contextFilter.js b/test/integration/contextFilter.js index 84bc5ca..90a5642 100644 --- a/test/integration/contextFilter.js +++ b/test/integration/contextFilter.js @@ -1,6 +1,6 @@ import assert from "assert"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; @@ -134,9 +134,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[1]._id}`, json: { name: "Johnny", @@ -152,9 +151,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 404 - filtered name`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: { name: "Bobby", diff --git a/test/integration/create.js b/test/integration/create.js index c51f924..ea3bb82 100644 --- a/test/integration/create.js +++ b/test/integration/create.js @@ -1,7 +1,7 @@ import assert from "assert"; import mongoose from "mongoose"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; @@ -19,7 +19,9 @@ export default function (createFn, setup, dismantle) { let customer, product; before((done) => { + console.info("before"); setup((err) => { + console.info("setup"); if (err) { return done(err); } diff --git a/test/integration/delete.js b/test/integration/delete.js index 12dc128..07901f0 100644 --- a/test/integration/delete.js +++ b/test/integration/delete.js @@ -1,7 +1,7 @@ import assert from "assert"; import mongoose from "mongoose"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; diff --git a/test/integration/hooks.js b/test/integration/hooks.js index 06cd17a..f4da68f 100644 --- a/test/integration/hooks.js +++ b/test/integration/hooks.js @@ -1,6 +1,6 @@ import assert from "assert"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; diff --git a/test/integration/middleware.js b/test/integration/middleware.js index c5ab56b..9d77825 100644 --- a/test/integration/middleware.js +++ b/test/integration/middleware.js @@ -1,8 +1,8 @@ import assert from "assert"; import mongoose from "mongoose"; -import request from "request"; import sinon from "sinon"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; @@ -87,9 +87,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { name: "Bobby", @@ -262,9 +261,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { name: "Bobby", @@ -283,9 +281,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - not called (missing content type)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, }, (err, res, body) => { @@ -302,9 +299,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - not called (invalid content type)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, formData: {}, }, @@ -591,9 +587,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { name: "Bobby", @@ -614,9 +609,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - not called (missing content type)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, }, (err, res, body) => { @@ -633,9 +627,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - not called (invalid content type)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, formData: {}, }, @@ -1144,9 +1137,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { name: "Bobby", @@ -1167,9 +1159,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 404 - random id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${randomId}`, json: { name: "Bobby", @@ -1185,9 +1176,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 404 - invalid id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${invalidId}`, json: { name: "Bobby", @@ -1203,9 +1193,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - not called (missing content type)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, }, (err, res, body) => { @@ -1222,9 +1211,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - not called (invalid content type)`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, formData: {}, }, diff --git a/test/integration/options.js b/test/integration/options.js index 944a9a4..8272854 100644 --- a/test/integration/options.js +++ b/test/integration/options.js @@ -1,7 +1,7 @@ import assert from "assert"; -import request from "request"; import sinon from "sinon"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; @@ -715,9 +715,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, json: { age: 12, @@ -855,9 +854,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:name 200`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer.name}`, json: { age: 12, diff --git a/test/integration/read.js b/test/integration/read.js index 2a12f80..1202e18 100644 --- a/test/integration/read.js +++ b/test/integration/read.js @@ -1,7 +1,7 @@ import assert from "assert"; import mongoose from "mongoose"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; diff --git a/test/integration/setup.js b/test/integration/setup.js index f2690af..7fe5cd3 100644 --- a/test/integration/setup.js +++ b/test/integration/setup.js @@ -137,10 +137,16 @@ export default function () { } if (opts.connect) { - const uri = process.env.MONGO_URL || "mongodb://localhost/database"; - mongoose.connect(uri).then(function () { - callback(); - }); + const uri = process.env.MONGO_URL || "mongodb://localhost:27017/database"; + console.info("opts", opts, uri); + mongoose + .connect(uri) + .then(() => { + callback(); + }) + .catch((e) => { + callback(e); + }); } else if (typeof callback === "function") { callback(); } diff --git a/test/integration/update.js b/test/integration/update.js index 5c39e62..c25ea89 100644 --- a/test/integration/update.js +++ b/test/integration/update.js @@ -1,7 +1,7 @@ import assert from "assert"; import mongoose from "mongoose"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; @@ -109,9 +109,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200 - empty body`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: {}, }, @@ -125,9 +124,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 200 - created id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: { name: "Mike", @@ -143,9 +141,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - cast error`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: { age: "not a number", @@ -171,9 +168,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - mongo error`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: { name: "John", @@ -201,9 +197,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - missing content type`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, }, (err, res, body) => { @@ -219,9 +214,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - invalid content type`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, formData: {}, }, @@ -238,9 +232,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 404 - invalid id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${invalidId}`, json: { name: "Mike", @@ -255,9 +248,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 404 - random id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${randomId}`, json: { name: "Mike", @@ -272,9 +264,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and product ids as strings`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id.toHexString(), @@ -292,9 +283,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and products ids as strings`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id.toHexString(), @@ -312,9 +302,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and product ids`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id, @@ -332,9 +321,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and products ids`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id, @@ -360,9 +348,8 @@ export default function (createFn, setup, dismantle) { assert.notEqual(invoice.amount, 200); invoice.amount = 200; - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: invoice, }, @@ -386,9 +373,8 @@ export default function (createFn, setup, dismantle) { assert.notEqual(invoice.amount, 200); invoice.amount = 200; - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: invoice, }, @@ -412,9 +398,8 @@ export default function (createFn, setup, dismantle) { .populate("customer products") .exec() .then((invoice) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, qs: { populate: "customer,products", @@ -457,9 +442,8 @@ export default function (createFn, setup, dismantle) { .exec() .then((customer) => { customer.returns = [customer.returns[1]]; - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, qs: { populate: "returns,purchases.item", @@ -612,9 +596,8 @@ export default function (createFn, setup, dismantle) { updateMethods.forEach((method) => { it(`${method} /Customer/:id 200 - empty body`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: {}, }, @@ -628,9 +611,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 200 - created id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: { name: "Mike", @@ -646,9 +628,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - validation error`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: { age: "not a number", @@ -681,9 +662,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - mongo error`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, json: { name: "John", @@ -710,9 +690,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - missing content type`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, }, (err, res, body) => { @@ -728,9 +707,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 400 - invalid content type`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customers[0]._id}`, formData: { name: "Mike", @@ -749,9 +727,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 404 - invalid id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${invalidId}`, json: { name: "Mike", @@ -766,9 +743,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Customer/:id 404 - random id`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${randomId}`, json: { name: "Mike", @@ -783,9 +759,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and product ids as strings`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id.toHexString(), @@ -803,9 +778,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and products ids as strings`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id.toHexString(), @@ -823,9 +797,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and product ids`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id, @@ -843,9 +816,8 @@ export default function (createFn, setup, dismantle) { }); it(`${method} /Invoice/:id 200 - referencing customer and products ids`, (done) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: { customer: customers[1]._id, @@ -871,9 +843,8 @@ export default function (createFn, setup, dismantle) { assert.notEqual(invoice.amount, 200); invoice.amount = 200; - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: invoice, }, @@ -897,9 +868,8 @@ export default function (createFn, setup, dismantle) { assert.notEqual(invoice.amount, 200); invoice.amount = 200; - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, json: invoice, }, @@ -923,9 +893,8 @@ export default function (createFn, setup, dismantle) { .populate("customer products") .exec() .then((invoice) => { - request( + request[method]( { - method, url: `${testUrl}/api/v1/Invoice/${invoice._id}`, qs: { populate: "customer,products", @@ -968,9 +937,8 @@ export default function (createFn, setup, dismantle) { .exec() .then((customer) => { customer.returns = [customer.returns[1]]; - request( + request[method]( { - method, url: `${testUrl}/api/v1/Customer/${customer._id}`, qs: { populate: "returns,purchases.item", diff --git a/test/integration/virtuals.js b/test/integration/virtuals.js index af6d939..5b1d057 100644 --- a/test/integration/virtuals.js +++ b/test/integration/virtuals.js @@ -1,6 +1,6 @@ import assert from "assert"; -import request from "request"; import { serve } from "../../dist/express-restify-mongoose.js"; +import * as request from "../request.js"; import setupDb from "./setup.js"; diff --git a/test/request.js b/test/request.js new file mode 100644 index 0000000..378d397 --- /dev/null +++ b/test/request.js @@ -0,0 +1,73 @@ +import fetch from "node-fetch"; + +// type RequestOptions = { +// method: "DELETE" | "GET" | "PATCH" | "POST" | "PUT"; +// url: string; +// formData?: unknown; +// json?: boolean | Record; +// qs?: Record; +// }; + +async function request({ url, method, formData, json, qs }, callback) { + const response = await fetch( + qs ? `${url}?${new URLSearchParams(qs).toString()}` : url, + { + method, + headers: { + ...(formData + ? { "Content-Type": "application/x-www-form-urlencoded" } + : undefined), + ...(json ? { "Content-Type": "application/json" } : undefined), + }, + body: JSON.stringify(json), + } + ); + + switch (response.headers["Content-Type"]) { + case json: { + callback(!response.ok, response, await response.json()); + + break; + } + default: { + callback(!response.ok, response); + + break; + } + } +} + +export const del = function getRequest(requestOptions) { + return request({ + method: "DELETE", + ...requestOptions, + }); +}; + +export const get = function getRequest(requestOptions) { + return request({ + method: "GET", + ...requestOptions, + }); +}; + +export const patch = function getRequest(requestOptions) { + return request({ + method: "PATCH", + ...requestOptions, + }); +}; + +export const post = function getRequest(requestOptions) { + return request({ + method: "POST", + ...requestOptions, + }); +}; + +export const put = function getRequest(requestOptions) { + return request({ + method: "PUT", + ...requestOptions, + }); +}; diff --git a/yarn.lock b/yarn.lock index 75837f4..d9d20ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1119,7 +1119,7 @@ acorn@^8.8.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.10.0, 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== @@ -1193,21 +1193,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== -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== - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1345,11 +1330,6 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -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.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1415,13 +1395,6 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, 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@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" @@ -1521,6 +1494,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -1560,11 +1538,6 @@ define-properties@^1.1.3, define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -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== - denque@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" @@ -2043,11 +2016,6 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" -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" @@ -2103,6 +2071,14 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + 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" @@ -2165,19 +2141,12 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -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@~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== +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" + fetch-blob "^3.1.2" formidable@^1.2.1: version "1.2.6" @@ -2353,19 +2322,6 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -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-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -2462,15 +2418,6 @@ http-signature@^1.2.0: jsprim "^2.0.2" sshpk "^1.14.1" -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" @@ -2667,11 +2614,6 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -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== - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" @@ -2699,11 +2641,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -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== - joycon@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" @@ -2746,21 +2683,6 @@ json-stable-stringify-without-jsonify@^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== - -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" - jsprim@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" @@ -2931,7 +2853,7 @@ mime-db@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, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@~2.1.24, mime-types@~2.1.34: 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== @@ -3151,6 +3073,20 @@ nise@^5.1.2: just-extend "^4.0.2" path-to-regexp "^1.7.0" +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-fetch@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + normalize-package-data@^2.3.2: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -3188,11 +3124,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.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-assign@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -3346,11 +3277,6 @@ path-type@^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== - picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -3409,11 +3335,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -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" @@ -3426,11 +3347,6 @@ qs@6.11.0, qs@^6.7.0: dependencies: side-channel "^1.0.4" -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" @@ -3515,32 +3431,6 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -request@^2.88.2: - 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" @@ -3643,7 +3533,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.1.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -3944,7 +3834,7 @@ spdy@^4.0.0: select-hose "^2.0.0" spdy-transport "^3.0.0" -sshpk@^1.14.1, sshpk@^1.7.0: +sshpk@^1.14.1: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== @@ -4127,14 +4017,6 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -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" - tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" @@ -4196,13 +4078,6 @@ tsutils@^3.21.0: 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" @@ -4321,6 +4196,11 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"